UWAGA: Strona oraz Forum Smart'ny Dom nie będzie dostępne 23 Grudnia 2024 ze względu na przenoszenie serwisu na mocniejszą maszynę.
W tym czasie polecam poświęcenie swojego czasu na pomoc partnerowi w przygotowaniu udanych Świąt 😉
Za niedogodności z góry przepraszam, admin
Tu zamieszczamy coś co działa i zostało sprawdzone na żywym organiźmie , do każdego dołączonego przepływu , dobrze jest zrobić jakiś opis, który objaśni co dany proces obsługuje.
Termostat testowałem w HA "generic" ale bardziej przypasował mi "ramp" w NR. Używam go do "cyrkulacji" cwu. Chodzi od ponad miesiąca i w moim przypadku sprawdza się dobrze. Jak to termostat z "własną logiką" ma tendencję do "wygładzania" temperatur z połączonych punktów wykresu (nie działa ja typowy "ON"/"OFF". Ma konfigurowalny harmonogram, zakresy temperatur i histerezę.
https://flows.nodered.org/node/node-red-contrib-ramp-thermostat
Mój przepływ Czujnik ruchu + Przycisk. Działanie : Po naruszeniu czujnika lampa zostaje włączona na ustawiony czas w node trigger , włączenie lampy z przycisku na ścianie uruchamia lampę do ręcznego wyłaczenia z interfejsu, lub przycisku na ścianie , wykrywanie ruchu i trigger są ignorowane ( blokowane) . Ważna uwaga , przycisk musi być zintegrowany z przekaźnikiem , nie może to być np pilot czy przycisk wifi bez obsługi przekaźnika.
[{"id":"a1fe599d67b8cee4","type":"server-state-changed","z":"3f69f80a65d6328c","name":"Ruch Biuro","server":"1a9033b6.071e8c","version":4,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"binary_sensor.pir_biuro","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"on","halt_if_type":"str","halt_if_compare":"is","outputs":2,"output_only_on_state_change":false,"for":"0","forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":80,"y":120,"wires":[["563242d6a61f7c6a","48c40493cda1d5a2"],["48c40493cda1d5a2"]]},{"id":"1ad201d8b43dc244","type":"api-call-service","z":"3f69f80a65d6328c","name":"Włącz światło Biuro","server":"1a9033b6.071e8c","version":5,"debugenabled":false,"domain":"switch","service":"turn_on","areaId":[],"deviceId":[],"entityId":["switch.biuro"],"data":"","dataType":"json","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","output_location":"","output_location_type":"none","x":710,"y":40,"wires":[["5ce51ffd1a55bdc5"]]},{"id":"6e39f40dec9d9263","type":"api-call-service","z":"3f69f80a65d6328c","name":"Wyłącz światło Biuro","server":"1a9033b6.071e8c","version":5,"debugenabled":false,"domain":"switch","service":"turn_off","areaId":[],"deviceId":[],"entityId":["switch.biuro"],"data":"","dataType":"json","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","output_location":"","output_location_type":"none","x":600,"y":120,"wires":[["1743ab3f383cc297"]]},{"id":"0bd1a4fec04ca569","type":"server-state-changed","z":"3f69f80a65d6328c","name":"Światło Biuro z UI","server":"1a9033b6.071e8c","version":4,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"switch.biuro","entityidfiltertype":"exact","outputinitially":true,"state_type":"str","haltifstate":"","halt_if_type":"str","halt_if_compare":"is","outputs":1,"output_only_on_state_change":true,"for":"0","forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"},{"property":"Przelacznik-biuro","propertyType":"flow","value":"","valueType":"entityState"}],"x":1000,"y":120,"wires":[[]]},{"id":"036889fc922d4b66","type":"trigger","z":"3f69f80a65d6328c","name":"po 60 sek","op1":"","op2":"off","op1type":"nul","op2type":"str","duration":"20","extend":true,"overrideDelay":false,"units":"s","reset":"","bytopic":"all","topic":"topic","outputs":1,"x":420,"y":120,"wires":[["6e39f40dec9d9263"]]},{"id":"563242d6a61f7c6a","type":"switch","z":"3f69f80a65d6328c","name":"Czy przełącznik off?","property":"Przelacznik-biuro","propertyType":"flow","rules":[{"t":"eq","v":"off","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":220,"y":40,"wires":[["cbba949aa475b5bc"]]},{"id":"5ce51ffd1a55bdc5","type":"change","z":"3f69f80a65d6328c","name":"Set PIR","rules":[{"t":"set","p":"PIR","pt":"flow","to":"true","tot":"bool"}],"action":"","property":"","from":"","to":"","reg":false,"x":940,"y":40,"wires":[[]]},{"id":"48c40493cda1d5a2","type":"switch","z":"3f69f80a65d6328c","name":"PiR ON?","property":"PIR","propertyType":"flow","rules":[{"t":"true"}],"checkall":"true","repair":false,"outputs":1,"x":280,"y":120,"wires":[["036889fc922d4b66"]]},{"id":"1743ab3f383cc297","type":"change","z":"3f69f80a65d6328c","name":"Res PIR","rules":[{"t":"set","p":"PIR","pt":"flow","to":"false","tot":"bool"}],"action":"","property":"","from":"","to":"","reg":false,"x":780,"y":120,"wires":[[]]},{"id":"cbba949aa475b5bc","type":"time-range-switch","z":"3f69f80a65d6328c","name":"Czy jest ciemno","lat":"51.2415812","lon":"17.4393472","startTime":"goldenHour","endTime":"sunriseEnd","startOffset":"-10","endOffset":"120","x":460,"y":40,"wires":[["1ad201d8b43dc244"],[]]},{"id":"1a9033b6.071e8c","type":"server","name":"Home Assistant","addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"","connectionDelay":false,"cacheJson":false,"heartbeat":false,"heartbeatInterval":"","statusSeparator":"","enableGlobalContextStore":false}]
@pawell32 , termostat wysyła wiadomość true lub false , następny node zamienia i rozdziela wiadomości na odpowiednie wyjścia true załącza pompę , false ją wyłącza...
Ja wstaiam przykładowy flow , który odczytuje z mqtt z osobnych topicow temperaturę , wilgotność i ciśnienie , i przekształca wiadomość (dodając m.n idx = 47) , tak ,żeby "nakarmić" kafelek dummy domoticza o tm właśnie idx.
[{"id":"731ffba1.c2b804","type":"mqtt out","z":"68a7625b.529d9c","name":"","topic":"domoticz/in","qos":"","retain":"","broker":"70855f4b.303b1","x":950,"y":460,"wires":[]},{"id":"3c66736.33ffe8c","type":"function","z":"68a7625b.529d9c","name":"IDX 47 adder","func":"var idx_no = 47\n\n\nvar msg1 = Number(msg.payload[\"Lacrosse/BME280/Temperature\"]);\nvar msg2 = Number(msg.payload[\"Lacrosse/BME280/Humidity\"]); \nvar msg3 = Number(msg.payload[\"Lacrosse/BME280/Pressure\"]); \n\n\n\nmsg.payload = {};\nmsg.payload.idx = idx_no;\nmsg.payload.svalue = `${msg1};${msg2};0;${msg3};0`;\n\nreturn msg ;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":750,"y":460,"wires":[["731ffba1.c2b804"]]},{"id":"edb5993a.eac5e8","type":"mqtt in","z":"68a7625b.529d9c","name":"","topic":"Lacrosse/BME280/Temperature","qos":"2","datatype":"auto","broker":"70855f4b.303b1","inputs":0,"x":150,"y":420,"wires":[["fd09e192.7cc97"]]},{"id":"25382797.722508","type":"mqtt in","z":"68a7625b.529d9c","name":"","topic":"Lacrosse/BME280/Humidity","qos":"2","datatype":"auto","broker":"70855f4b.303b1","inputs":0,"x":140,"y":480,"wires":[["fd09e192.7cc97"]]},{"id":"110d35b3.f0d16a","type":"mqtt in","z":"68a7625b.529d9c","name":"","topic":"Lacrosse/BME280/Pressure","qos":"2","datatype":"auto","broker":"70855f4b.303b1","inputs":0,"x":140,"y":540,"wires":[["fd09e192.7cc97"]]},{"id":"fd09e192.7cc97","type":"join","z":"68a7625b.529d9c","name":"join payloads","mode":"custom","build":"object","property":"payload","propertyType":"msg","key":"topic","joiner":"","joinerType":"str","accumulate":false,"timeout":"","count":"3","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"","reduceFixup":"","x":570,"y":460,"wires":[["3c66736.33ffe8c"]]},{"id":"70855f4b.303b1","type":"mqtt-broker","name":"","broker":"192.168.1.90","port":"1883","clientid":"","autoConnect":true,"usetls":false,"verifyservercert":true,"protocolVersion":"4","keepalive":"15","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","birthMsg":{},"closeTopic":"","closePayload":"","closeMsg":{},"willTopic":"","willQos":"0","willPayload":"","willMsg":{},"userProps":"","sessionExpiry":""}]
jak zrobiłeś kafelek z działaniem pompy?
To w tym przypadku zwykły "button"
type: horizontal-stack cards: - show_name: true show_icon: true type: button tap_action: action: more-info entity: binary_sensor.pompa_cyrkulacji icon: mdi:thermostat-box-auto hold_action: action: none name: Stan z termostatu - show_name: true show_icon: true type: button tap_action: action: more-info entity: switch.grundfos icon: mdi:pump hold_action: action: toggle
https://github.com/RomRider/apexcharts-card
Karta ta jest dostępna w HACS
type: custom:apexcharts-card graph_span: 1w span: end: day header: show: true title: Czas działania pompy colorize_states: true series: - entity: sensor.czas_pracy_pompy_cyrkulacji type: column show: as_duration: hour group_by: func: last duration: 1d
jak chodzi o przepływy to ja mam taki:
[{"id":"8c6beec4b2336759","type":"tab","label":"led biuro automat","disabled":false,"info":"","env":[]},{"id":"1786d163a7a16354","type":"server-state-changed","z":"8c6beec4b2336759","name":"ruch biuro","server":"3d7533d10bf6d654","version":4,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"binary_sensor.ewelink_ms01_iaszone","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"","halt_if_type":"str","halt_if_compare":"is","outputs":1,"output_only_on_state_change":true,"for":"0","forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":80,"y":180,"wires":[["874b11a884a8fceb"]]},{"id":"3ee79e82d7182fac","type":"api-call-service","z":"8c6beec4b2336759","name":"50%","server":"3d7533d10bf6d654","version":5,"debugenabled":false,"domain":"light","service":"turn_on","areaId":["biuro"],"deviceId":["6b0e88d2d69164a6e0b2810126510fd9"],"entityId":["light.led_biuro"],"data":"{\"brightness\":\"125\"}","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":510,"y":180,"wires":[["50e8cfa33c8c3162","98310f7d24e25503"]]},{"id":"ea5248bf32d112ca","type":"api-call-service","z":"8c6beec4b2336759","name":"20%","server":"3d7533d10bf6d654","version":5,"debugenabled":false,"domain":"light","service":"turn_on","areaId":["biuro"],"deviceId":["6b0e88d2d69164a6e0b2810126510fd9"],"entityId":["light.led_biuro"],"data":"{\"brightness\":\"50\"}","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":730,"y":340,"wires":[["0fbd46204f7d8368","98310f7d24e25503"]]},{"id":"6bfbb026abd01a37","type":"inject","z":"8c6beec4b2336759","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":100,"y":340,"wires":[["301ecc88c2960787"]]},{"id":"7ce6075b3624cb78","type":"delay","z":"8c6beec4b2336759","name":"","pauseType":"delay","timeout":"65","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"outputs":1,"x":560,"y":340,"wires":[["ea5248bf32d112ca"]]},{"id":"36d013652b22a21d","type":"inject","z":"8c6beec4b2336759","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":140,"y":400,"wires":[["f6addfcb3d65bc3c"]]},{"id":"301ecc88c2960787","type":"change","z":"8c6beec4b2336759","name":"on","rules":[{"t":"set","p":"payload","pt":"msg","to":"on","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":110,"y":260,"wires":[["874b11a884a8fceb"]]},{"id":"f6addfcb3d65bc3c","type":"change","z":"8c6beec4b2336759","name":"off","rules":[{"t":"set","p":"payload","pt":"msg","to":"off","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":290,"y":400,"wires":[["874b11a884a8fceb"]]},{"id":"99961d81979f6a6a","type":"api-call-service","z":"8c6beec4b2336759","name":"","server":"3d7533d10bf6d654","version":5,"debugenabled":false,"domain":"light","service":"turn_off","areaId":["biuro"],"deviceId":["6b0e88d2d69164a6e0b2810126510fd9"],"entityId":["light.led_biuro"],"data":"","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":950,"y":440,"wires":[["98310f7d24e25503"]]},{"id":"0fbd46204f7d8368","type":"delay","z":"8c6beec4b2336759","name":"","pauseType":"delay","timeout":"3","timeoutUnits":"minutes","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"outputs":1,"x":760,"y":440,"wires":[["99961d81979f6a6a"]]},{"id":"e8ee8f99282846de","type":"change","z":"8c6beec4b2336759","name":"reset","rules":[{"t":"set","p":"reset","pt":"msg","to":"true","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":490,"y":260,"wires":[["7ce6075b3624cb78"]]},{"id":"4258083efdd2a6d8","type":"change","z":"8c6beec4b2336759","name":"reset","rules":[{"t":"set","p":"reset","pt":"msg","to":"true","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":530,"y":440,"wires":[["0fbd46204f7d8368"]]},{"id":"07f3c9ea5d6c8343","type":"api-call-service","z":"8c6beec4b2336759","name":"100%","server":"3d7533d10bf6d654","version":5,"debugenabled":false,"domain":"light","service":"turn_on","areaId":["biuro"],"deviceId":["6b0e88d2d69164a6e0b2810126510fd9"],"entityId":["light.led_biuro"],"data":"{\"brightness\":\"255\"}","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":810,"y":140,"wires":[["6148b77d82975349"]]},{"id":"50e8cfa33c8c3162","type":"delay","z":"8c6beec4b2336759","name":"","pauseType":"delay","timeout":"5","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"outputs":1,"x":660,"y":140,"wires":[["07f3c9ea5d6c8343"]]},{"id":"874b11a884a8fceb","type":"switch","z":"8c6beec4b2336759","name":"","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"on","vt":"str"},{"t":"eq","v":"off","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":290,"y":260,"wires":[["e8ee8f99282846de","4258083efdd2a6d8","1d45eda90dc89703"],["7ce6075b3624cb78"]]},{"id":"6148b77d82975349","type":"change","z":"8c6beec4b2336759","name":"100%","rules":[{"t":"set","p":"100","pt":"flow","to":"true","tot":"bool"}],"action":"","property":"","from":"","to":"","reg":false,"x":970,"y":140,"wires":[[]]},{"id":"1d45eda90dc89703","type":"switch","z":"8c6beec4b2336759","name":"yes / no","property":"100","propertyType":"flow","rules":[{"t":"true"},{"t":"false"}],"checkall":"true","repair":false,"outputs":2,"x":360,"y":80,"wires":[[],["3ee79e82d7182fac"]]},{"id":"98310f7d24e25503","type":"change","z":"8c6beec4b2336759","name":"100%","rules":[{"t":"set","p":"100","pt":"flow","to":"false","tot":"bool"}],"action":"","property":"","from":"","to":"","reg":false,"x":970,"y":200,"wires":[[]]},{"id":"3d7533d10bf6d654","type":"server","name":"Home Assistant","version":5,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true,"heartbeat":false,"heartbeatInterval":"30","areaSelector":"friendlyName","deviceSelector":"friendlyName","entitySelector":"friendlyName","statusSeparator":": ","statusYear":"hidden","statusMonth":"short","statusDay":"numeric","statusHourCycle":"default","statusTimeFormat":"h:m","enableGlobalContextStore":false}]
jak macie pomysł jak zczytać wartość {"brightness"} to dajcie znać 🙂
@pawell32 nie wiem co masz na myśli z tą wartoscią jasności , ale w tym przepływie stosujesz aż 3 razy delay, nie jestem znawcą tematu ale podobno należy tego unikać jak ognia , tu cytat doświadczonego gościa "Zastąp delay triggerem. Nody delay mają tą dziwną właściwość, że każde jego wywołanie tworzy kolejny nowy obiekt. Robi się z tego sterta i po upływie czasu kolejno kończą zadanie, zaburzając zamysł działania algorytmu (częsty błąd gdy uruchamia się je częściej niż ustawiony czas). Naucz się żyć bez delay"
Ja go sobie wziąłem do serca i używam trigger zamiast delay . Zresztą skoro już się bawisz w kilka poziomów ściemniania w jednym flow to polecam dynamic-dimmer . Masz tu przykład do zabawy
[{"id":"4bddf6dc7b2ad2b1","type":"tab","label":"Flow 1","disabled":false,"info":"","env":[]},{"id":"939729d67acb2997","type":"inject","z":"4bddf6dc7b2ad2b1","name":"50%","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"0.5","payloadType":"num","x":90,"y":160,"wires":[["b1e1e0b47c5bfb9e"]]},{"id":"6fceeb723e6f16af","type":"inject","z":"4bddf6dc7b2ad2b1","name":"100%","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"1","payloadType":"num","x":90,"y":100,"wires":[["b1e1e0b47c5bfb9e"]]},{"id":"ee49b25a5b61d79c","type":"debug","z":"4bddf6dc7b2ad2b1","name":"msg","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":610,"y":180,"wires":[]},{"id":"b1e1e0b47c5bfb9e","type":"dynamic-dimmer","z":"4bddf6dc7b2ad2b1","name":"Dimmer","eventInterval":"400","steps":10,"minValue":0,"maxValue":100,"x":360,"y":180,"wires":[["ee49b25a5b61d79c"]]},{"id":"bb7f264528c00112","type":"inject","z":"4bddf6dc7b2ad2b1","name":"20%","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"0.2","payloadType":"num","x":90,"y":220,"wires":[["b1e1e0b47c5bfb9e"]]},{"id":"55d9d115cdb64652","type":"inject","z":"4bddf6dc7b2ad2b1","name":"OFF","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"0","payloadType":"num","x":90,"y":280,"wires":[["b1e1e0b47c5bfb9e"]]}]
jak zaczaisz o co chodzi , to można niestworzone rzeczy na tym robić , fale świetlne , natężenie oświetlenia zależne od LUX lub pory dnia itp.
@isom to była forma testu. Tak, trzeba brać takie uwagi na powaźnie.
co do dimmera to widziałem, ale coś nie mogę go zainstalować