[ { "id": "86a9e7aa0c304b46", "type": "tab", "label": "Daten in InfluxDB schreiben", "disabled": false, "info": "", "env": [] }, { "id": "5bea18a0180b611e", "type": "tab", "label": "Bad_Licht_Lüfter", "disabled": false, "info": "", "env": [] }, { "id": "7a4080d8574c7aec", "type": "tab", "label": "Terassenlicht", "disabled": false, "info": "", "env": [] }, { "id": "32e861899dcd9239", "type": "tab", "label": "Waschmaschine", "disabled": false, "info": "", "env": [] }, { "id": "85bb16dbe6fb391c", "type": "tab", "label": "Rollladen_Alle", "disabled": false, "info": "", "env": [] }, { "id": "c4c5067b315c581d", "type": "tab", "label": "Bambulab", "disabled": false, "info": "Temperatur und Feuchte im AMS\n", "env": [] }, { "id": "809a218ad0189c5f", "type": "tab", "label": "Dragino_52T", "disabled": false, "info": "", "env": [] }, { "id": "0f906ba2e4239518", "type": "tab", "label": "Aussen", "disabled": false, "info": "", "env": [] }, { "id": "c23febdb48bc9327", "type": "tab", "label": "EZ_Licht", "disabled": false, "info": "# Licht im Esszimmer\n\nWird mit dem Bewegungsmelder über der Türe \n**Ein** geschaltet, wenn der Helligkeits-Sensor \neine Helligkeit über _helltop_ meldet. Andernfalls ist das Auslösen gesperrt.\n**AUS** geschaltet wird nur mit dem Schalter. Wird der Schalter auf **AUS** geschaltet, \nwird das Wiedereinschalten durch den BW-Melder für 5 sec gesperrt.\nLiegt die Helligkeit unter _hellbot_, so wird das schalten durch den BW freigegeben\n\n## Versionen\nV1.0.0 2025-06-30 rxf\n - Erster Versuch\n\n\n", "env": [] }, { "id": "f3d03e63c0a7d73a", "type": "tab", "label": "TV-Szene_old", "disabled": false, "info": "", "env": [] }, { "id": "50665df0b8356ca9", "type": "tab", "label": "TV_Szene", "disabled": false, "info": "", "env": [] }, { "id": "0ecc4a0267296324", "type": "tab", "label": "Garage", "disabled": false, "info": "", "env": [] }, { "id": "5e52b4b48abccb4a", "type": "tab", "label": "Licht_CL", "disabled": false, "info": "## Beschreibung\nDas Clo-Licht mit dem Präsenzmelder bzw. dem Taste EIN/Aus-Schalten.\nBie Starten des Präsenzmelders wird das Lich EIN geschaltet. Ist die Uhrzeit \nzwischen 0:00 jnd 7:00 ME(S)Z, dann wird 'gedimmed' eingeschlatet, zu allen anderen Zeiten mit voller Helligkeit.\nIst der Präsenzmelder abgelaufen, wird wieder AUS geschaltet.\n\nGleiches gilt für den Handtaster.\nEIN lange gedrückt schaltet auf jeden Fall voll hell EIN.\n\n## Version\nVersion | Datum | Author | Bemerkung\n-------|--------|-------|---\nV 1.1 | 2025-10-16 | rxf | Präsenzmelder Reaktion nur bei Änderung\nV 1.0 | 2025-10-06 | rxf | erste lauffähige Version\n", "env": [] }, { "id": "cada61fae691e52f", "type": "tab", "label": "Licht_Computer", "disabled": false, "info": "## Beschreibung\nDas Licht am Computer wird mit dem Taster. bzw dem Bewegungsmelder geschaltet.\n\nDer Taster (HM-Taster) schaltet das Licht direkt ON/OFF (da ist ein Aktor mit eingebaut).\nDas EIN-Schalten mit dem Tasten stezt ein Dauer-Flag, so dass der Ablauf des Timers\nkeine Wirkung mehr zeigt. Erst das AUS-Schalten mit dem Taster läscht das Dauer-Flag wieder.\n\nPer Bewegungsmelder wird das Licht für eine bestimmete Zeit (z.Zt. 5min) EIN geschaltet.\nDer Timer wird von weiteren Bewegungen nachgetriggert.\n\n## Version\nVersion | Datum | Author | Bemerkung\n-------|--------|-------|---\nV 1.0 | 2025-10-06 | rxf | erste lauffähige Version\n", "env": [] }, { "id": "d7346bc232ce6ad2", "type": "tab", "label": "Computertisch_HB", "disabled": false, "info": "", "env": [] }, { "id": "24fa477cc8f07351", "type": "tab", "label": "Licht_FL", "disabled": false, "info": "## Beschreibung\nDas Flur-Licht mit dem Bewegungsmelder bzw. dem Taster EIN/Aus-Schalten.\nBeim Starten des Bewegungsmelders wird das Licht EIN geschaltet. Ist die Uhrzeit \nzwischen 0:00 und 8:00 ME(S)Z, dann wird 'gedimmed' eingeschlatet (nur eine \nder 3 Flammen, alle anderen sind AUS), zu allen anderen Zeiten mit voller Helligkeit.\nIst der Bewegungsmelder abgelaufen, wird wieder AUS geschaltet.\n\nBei EIN-Schalten mit dem Taster bleiben die Lampen auf EIN, bis sie mit dem Taster \nwieder AUS geschaltet werden.\n\nAdaptiert von dem iobroker Script.\n\n## Version\nVersion | Datum | Author | Bemerkung\n-------|--------|-------|---\nV 1.1 | 2025-10-21 | rxf | Licht bis 8:00 gedimmed\nV 1.0 | 2025-10-13 | rxf | erste lauffähige Version\n", "env": [] }, { "id": "958848d44d119e45", "type": "tab", "label": "Briefkasten", "disabled": false, "info": "## Beschreibung\nWenn am Briefkasten die Klappe geöffnet wird, dann\nwird ein Signal ausgelöst. Daraufhin wird eine\nPUSH-Nachricht auf das Handy/Watch gesendet.\n\n## Version\nVersion | Datum | Author | Bemerkung\n-------|--------|-------|---\nV 1.0 | 2025-10-13 | rxf | erste lauffähige Version\n", "env": [] }, { "id": "9af67c7112bb80c5", "type": "tab", "label": "Computertisch_rxf", "disabled": false, "info": "", "env": [] }, { "id": "29da089dbee16ea0", "type": "tab", "label": "Heizung_Fenster_CL", "disabled": false, "info": "", "env": [] }, { "id": "e486973a9de7cb5e", "type": "tab", "label": "Date_Time_1", "disabled": false, "info": "", "env": [] }, { "id": "568788a0bbe095a3", "type": "tab", "label": "Date_time_2", "disabled": false, "info": "", "env": [] }, { "id": "02df653606745379", "type": "tab", "label": "SZ_Unterlicht", "disabled": false, "info": "## Beschreibung\nLED-Streifen unter dem Bett, geschaltet mit Taster am Bettrahmen\n\n## Version\nVersion | Datum | Author | Bemerkung\n-------|--------|-------|---\n1.0.07 2026-01-12 | rxf | erste Version mit NodeRed", "env": [] }, { "id": "168cd2080e21b71d", "type": "junction", "z": "86a9e7aa0c304b46", "x": 960, "y": 2780, "wires": [ [ "4b70842673899382", "8b9ab3a5f87659ca" ] ] }, { "id": "80c8ea47336a8e19", "type": "junction", "z": "86a9e7aa0c304b46", "x": 900, "y": 380, "wires": [ [ "0fed74f96c718b5f", "4ec35d1ec93a275d" ] ] }, { "id": "19c631abc815d4c7", "type": "junction", "z": "86a9e7aa0c304b46", "x": 940, "y": 120, "wires": [ [ "e7113fd1f1cb5375", "057123c49327e982", "4d375d7b71ed95af" ] ] }, { "id": "4b7b9693aed95eb0", "type": "junction", "z": "86a9e7aa0c304b46", "x": 880, "y": 1180, "wires": [ [ "df52eb75d71fc1d0" ] ] }, { "id": "1bb091e608dd2ace", "type": "junction", "z": "7a4080d8574c7aec", "x": 920, "y": 840, "wires": [ [ "f809e339a2a3808a", "aadb62d1e501514e" ] ] }, { "id": "c46bc662805c3ea3", "type": "junction", "z": "86a9e7aa0c304b46", "x": 520, "y": 2180, "wires": [ [ "7371b0de49444879" ] ] }, { "id": "21a3752d5b338a61", "type": "junction", "z": "86a9e7aa0c304b46", "x": 1100, "y": 1300, "wires": [ [ "af03a5e1a841517a" ] ] }, { "id": "b023da7344e3bad8", "type": "junction", "z": "86a9e7aa0c304b46", "x": 1040, "y": 320, "wires": [ [ "8e697f374b0d59c2", "0fed74f96c718b5f", "71da459e1eb610b3" ] ] }, { "id": "e641c1e401bb8c58", "type": "junction", "z": "86a9e7aa0c304b46", "x": 820, "y": 560, "wires": [ [ "80c8ea47336a8e19" ] ] }, { "id": "44ca85124df5860f", "type": "junction", "z": "5bea18a0180b611e", "x": 480, "y": 1240, "wires": [ [ "7bea3b0a9a3fa867", "c5e47b82a3d54979", "dd0f0be1678b1a2d" ] ] }, { "id": "7fc8a93be966e775", "type": "junction", "z": "5bea18a0180b611e", "x": 840, "y": 1260, "wires": [ [ "73c3385ab4453988", "9583b4c1c7b73c86" ] ] }, { "id": "daa5b689b37b84c0", "type": "junction", "z": "86a9e7aa0c304b46", "x": 960, "y": 2940, "wires": [ [ "0c73b4f2ae547ad3", "ed1e5e52559341a9" ] ] }, { "id": "54605c8c74454a94", "type": "junction", "z": "5bea18a0180b611e", "x": 400, "y": 1120, "wires": [ [ "08509a2c0848ff01", "4c621c845cbad50a", "8f20d4e5e473a9fb", "96934666499d9111", "6327d8d395b6d0d1" ] ] }, { "id": "72073df2b886b72a", "type": "junction", "z": "7a4080d8574c7aec", "x": 920, "y": 900, "wires": [ [ "2258ca1fe98d9c60", "4d22db93cf0e6e0c" ] ] }, { "id": "a6381ef4be3a869b", "type": "junction", "z": "85bb16dbe6fb391c", "x": 791.1000061035156, "y": 422.1000061035156, "wires": [ [ "97aed912c480bc99", "651da90bdb2f954f", "4785a5b4933cd3fe" ] ] }, { "id": "21431dc5a7600959", "type": "junction", "z": "7a4080d8574c7aec", "x": 1300, "y": 500, "wires": [ [ "044e9a90c4c664af", "5036edec1efbf944" ] ] }, { "id": "dcd9fe37c8f6fa3e", "type": "junction", "z": "7a4080d8574c7aec", "x": 580, "y": 320, "wires": [ [ "c65ab1792c3c7187", "f015cb3114009f49" ] ] }, { "id": "b4d4592c5aa03410", "type": "junction", "z": "85bb16dbe6fb391c", "x": 800, "y": 1400, "wires": [ [ "4a7b886cc55c59ef", "321074393c65012a" ] ] }, { "id": "443f14b7b45672c6", "type": "junction", "z": "85bb16dbe6fb391c", "x": 1000, "y": 1760, "wires": [ [ "b019206106626e9e", "ff14f67020e558bc" ] ] }, { "id": "d28e11d867e00655", "type": "junction", "z": "85bb16dbe6fb391c", "x": 1320, "y": 2180, "wires": [ [ "37e1477bb82c8327", "c3553c69292506a3" ] ] }, { "id": "bb27fa58b206470d", "type": "junction", "z": "5e52b4b48abccb4a", "x": 260, "y": 540, "wires": [ [ "c524071a9f1dfc46" ] ] }, { "id": "f2fdc53a556ca09f", "type": "junction", "z": "5e52b4b48abccb4a", "x": 700, "y": 360, "wires": [ [ "b67fa2b35568dbc8", "aeec1b4c30abf869" ] ] }, { "id": "1bbeae1601480cbe", "type": "junction", "z": "cada61fae691e52f", "x": 600, "y": 380, "wires": [ [ "4b9c876d10aa67d9", "061c53e4290c9b81" ] ] }, { "id": "b73499056a181c50", "type": "junction", "z": "24fa477cc8f07351", "x": 1243.25, "y": 396.25, "wires": [ [ "64a3b1673c147a50", "94cc16fc47e3b577" ] ] }, { "id": "8c8ca301f85a731f", "type": "junction", "z": "29da089dbee16ea0", "x": 1020, "y": 420, "wires": [ [ "f2a8612d3fe812d6", "ba76552822052c47" ] ] }, { "id": "34cf9bb5b43b18f5", "type": "junction", "z": "29da089dbee16ea0", "x": 500, "y": 500, "wires": [ [ "29546d1141a23d2f", "3671c5b666861758" ] ] }, { "id": "3eee0343aa9deb3d", "type": "junction", "z": "29da089dbee16ea0", "x": 820, "y": 340, "wires": [ [] ] }, { "id": "55b400ce4088a68f", "type": "junction", "z": "29da089dbee16ea0", "x": 1080, "y": 860, "wires": [ [ "286439aae5fb8e8b" ] ] }, { "id": "cc35bf77d41e95d1", "type": "junction", "z": "29da089dbee16ea0", "x": 280, "y": 1160, "wires": [ [ "ec906e9d14fd07f1", "ffc7701a22a6dcb3" ] ] }, { "id": "abaef0d75a14ac36", "type": "junction", "z": "29da089dbee16ea0", "x": 440, "y": 1500, "wires": [ [ "124381b35e1ea6ad", "71a9e89509bb1ea5", "d657b2e0d3134f23", "9012192d3e8291d8" ] ] }, { "id": "b7d4c57c6f1289c9", "type": "junction", "z": "5bea18a0180b611e", "x": 1420, "y": 1120, "wires": [ [ "44743756141dc419", "c2f380015ed469c4" ] ] }, { "id": "c46833d59903b816", "type": "mqtt-broker", "name": "", "broker": "mqtt", "port": "1883", "clientid": "", "autoConnect": true, "usetls": false, "protocolVersion": "4", "keepalive": "60", "cleansession": true, "birthTopic": "", "birthQos": "0", "birthPayload": "", "birthMsg": {}, "closeTopic": "", "closeQos": "0", "closePayload": "", "closeMsg": {}, "willTopic": "", "willQos": "0", "willPayload": "", "willMsg": {}, "userProps": "", "sessionExpiry": "" }, { "id": "db07a39246cf7003", "type": "influxdb", "hostname": "127.0.0.1", "port": "8086", "protocol": "http", "database": "database", "name": "nuccy", "usetls": false, "tls": "", "influxdbVersion": "2.0", "url": "http://192.168.178.92:8086", "rejectUnauthorized": true }, { "id": "6718450508849828", "type": "ui_base", "theme": { "name": "theme-light", "lightTheme": { "default": "#0094CE", "baseColor": "#0094CE", "baseFont": "-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif", "edited": true, "reset": false }, "darkTheme": { "default": "#097479", "baseColor": "#097479", "baseFont": "-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif", "edited": true, "reset": false }, "customTheme": { "name": "Untitled Theme 1", "default": "#4B7930", "baseColor": "#4B7930", "baseFont": "-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif", "reset": false }, "themeState": { "base-color": { "default": "#0094CE", "value": "#0094CE", "edited": false }, "page-titlebar-backgroundColor": { "value": "#0094CE", "edited": false }, "page-backgroundColor": { "value": "#fafafa", "edited": false }, "page-sidebar-backgroundColor": { "value": "#ffffff", "edited": false }, "group-textColor": { "value": "#1bbfff", "edited": false }, "group-borderColor": { "value": "#ffffff", "edited": false }, "group-backgroundColor": { "value": "#ffffff", "edited": false }, "widget-textColor": { "value": "#111111", "edited": false }, "widget-backgroundColor": { "value": "#0094ce", "edited": false }, "widget-borderColor": { "value": "#ffffff", "edited": false }, "base-font": { "value": "-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif" } }, "angularTheme": { "primary": "indigo", "accents": "blue", "warn": "red", "background": "grey", "palette": "light" } }, "site": { "name": "Node-RED Dashboard", "hideToolbar": "false", "allowSwipe": "false", "lockMenu": "false", "allowTempTheme": "true", "dateFormat": "DD/MM/YYYY", "sizes": { "sx": 48, "sy": 48, "gx": 3, "gy": 3, "cx": 3, "cy": 3, "px": 0, "py": 0 } } }, { "id": "51bf0475.ddfd2c", "type": "ui_group", "name": "", "tab": "512b6562849dadee", "order": 2, "disp": true, "width": "8", "collapse": false, "className": "" }, { "id": "c398618f77baaf6f", "type": "ewelink-credentials" }, { "id": "874361936f1ce815", "type": "mongodb4-client", "name": "", "protocol": "mongodb", "hostname": "mongodb", "port": "", "dbName": "smarthome", "appName": "", "authSource": "", "authMechanism": "DEFAULT", "tls": false, "tlsCAFile": "", "tlsCertificateKeyFile": "", "tlsInsecure": false, "connectTimeoutMS": "30000", "socketTimeoutMS": "0", "minPoolSize": "0", "maxPoolSize": "100", "maxIdleTimeMS": "0", "uri": "", "advanced": "{}", "uriTabActive": "tab-uri-simple" }, { "id": "512b6562849dadee", "type": "ui_tab", "name": "Bad", "icon": "dashboard", "order": 2, "disabled": false, "hidden": false }, { "id": "c7cf83a81a522047", "type": "mqtt-broker", "name": "", "broker": "192.168.178.92", "port": "1883", "clientid": "", "autoConnect": true, "usetls": false, "protocolVersion": "3", "keepalive": "60", "cleansession": true, "birthTopic": "", "birthQos": "0", "birthPayload": "", "birthMsg": {}, "closeTopic": "", "closeQos": "0", "closePayload": "", "closeMsg": {}, "willTopic": "", "willQos": "0", "willPayload": "", "willMsg": {}, "userProps": "", "sessionExpiry": "" }, { "id": "8a3b8c7fb995c0cc", "type": "ui_tab", "name": "Außen", "icon": "dashboard", "order": 5, "disabled": false, "hidden": false }, { "id": "650272fe9af6cd24", "type": "ui_group", "name": "Außen", "tab": "8a3b8c7fb995c0cc", "order": 1, "disp": true, "width": 8, "collapse": false, "className": "" }, { "id": "553e9caf7ebabdd6", "type": "ui_tab", "name": "AMS", "icon": "dashboard", "order": 3, "disabled": false, "hidden": false }, { "id": "0da5c56696a7e8e9", "type": "ui_group", "name": "Leistung/Energie", "tab": "553e9caf7ebabdd6", "order": 3, "disp": true, "width": "6", "collapse": false, "className": "" }, { "id": "a8dc70a6237173a2", "type": "ui-base", "name": "My Dashboard", "path": "/dashboard", "appIcon": "", "includeClientData": true, "acceptsClientConfig": [ "ui-notification", "ui-control" ], "showPathInSidebar": false, "headerContent": "page", "navigationStyle": "default", "titleBarStyle": "default", "showReconnectNotification": true, "notificationDisplayTime": "1", "showDisconnectNotification": true, "allowInstall": true }, { "id": "bf39f7747c4cb89e", "type": "ui-theme", "name": "Default Theme", "colors": { "surface": "#ffffff", "primary": "#0094CE", "bgPage": "#eeeeee", "groupBg": "#ffffff", "groupOutline": "#cccccc" }, "sizes": { "density": "default", "pagePadding": "12px", "groupGap": "12px", "groupBorderRadius": "4px", "widgetGap": "12px" } }, { "id": "e3645fc2dca1359f", "type": "ui_spacer", "z": "c4c5067b315c581d", "name": "spacer", "group": "0da5c56696a7e8e9", "order": 3, "width": 1, "height": 1 }, { "id": "99402d723b2b1e21", "type": "ui_spacer", "z": "c4c5067b315c581d", "name": "spacer", "group": "0da5c56696a7e8e9", "order": 5, "width": 1, "height": 1 }, { "id": "3f1a3bcbb0c8aa3b", "type": "ui_spacer", "z": "c4c5067b315c581d", "name": "spacer", "group": "0da5c56696a7e8e9", "order": 6, "width": 1, "height": 1 }, { "id": "500baab117305070", "type": "ui_spacer", "z": "c4c5067b315c581d", "name": "spacer", "group": "0da5c56696a7e8e9", "order": 7, "width": 1, "height": 1 }, { "id": "2a375d53c7031e98", "type": "ui_spacer", "z": "c4c5067b315c581d", "name": "spacer", "group": "0da5c56696a7e8e9", "order": 8, "width": 1, "height": 1 }, { "id": "adf34916dc6801e6", "type": "ui_spacer", "z": "c4c5067b315c581d", "name": "spacer", "group": "0da5c56696a7e8e9", "order": 9, "width": 1, "height": 1 }, { "id": "4e5d8ea99e128609", "type": "ui_spacer", "z": "0f906ba2e4239518", "name": "spacer", "group": "650272fe9af6cd24", "order": 1, "width": 1, "height": 1 }, { "id": "7e0b4d54629e83fd", "type": "ui_spacer", "z": "0f906ba2e4239518", "name": "spacer", "group": "650272fe9af6cd24", "order": 3, "width": 1, "height": 1 }, { "id": "5496b07c554bcd4d", "type": "ui_spacer", "z": "0f906ba2e4239518", "name": "spacer", "group": "650272fe9af6cd24", "order": 4, "width": 1, "height": 1 }, { "id": "b156ad0584ac7fbb", "type": "ui_spacer", "z": "0f906ba2e4239518", "name": "spacer", "group": "650272fe9af6cd24", "order": 6, "width": 1, "height": 1 }, { "id": "f77e63041443e335", "type": "ui_spacer", "z": "c23febdb48bc9327", "name": "spacer", "group": "51bf0475.ddfd2c", "order": 1, "width": 1, "height": 1 }, { "id": "00567b32fc89bd1e", "type": "ui_spacer", "z": "c23febdb48bc9327", "name": "spacer", "group": "51bf0475.ddfd2c", "order": 3, "width": 1, "height": 1 }, { "id": "8c01f9a37aebd235", "type": "ui_spacer", "z": "c23febdb48bc9327", "name": "spacer", "group": "51bf0475.ddfd2c", "order": 4, "width": 1, "height": 1 }, { "id": "09ded2e5c01ce729", "type": "ui_spacer", "z": "c23febdb48bc9327", "name": "spacer", "group": "51bf0475.ddfd2c", "order": 6, "width": 1, "height": 1 }, { "id": "dbdce4bcc146f440", "type": "config-log", "logname": "bwlog.config", "logdir": "logs", "stamp": "utc", "logstyle": "plain", "logrotate": true, "logcompress": false, "logrotatecount": "5", "logsize": "1000" }, { "id": "9a5095b780d6917f", "type": "ui-page", "name": "Wohnung", "ui": "a8dc70a6237173a2", "path": "/wohnung", "icon": "home", "layout": "grid", "theme": "bf39f7747c4cb89e", "breakpoints": [ { "name": "Default", "px": "0", "cols": "3" }, { "name": "Tablet", "px": "576", "cols": "6" }, { "name": "Small Desktop", "px": "768", "cols": "9" }, { "name": "Desktop", "px": "1024", "cols": "12" } ], "order": 1, "className": "", "visible": "true", "disabled": "false" }, { "id": "tab1", "type": "ui_tab", "name": "Haussteuerung", "icon": "dashboard", "order": 1 }, { "id": "176338afeb8a7b58", "type": "ui-group", "name": "CL_Heizung_Fenster", "page": "9a5095b780d6917f", "width": "6", "height": "1", "order": 3, "showTitle": true, "className": "", "visible": "true", "disabled": "false", "groupType": "default" }, { "id": "261c60c1322869d9", "type": "ui_tab", "name": "CL", "icon": "dashboard", "disabled": false, "hidden": false }, { "id": "1d0cfd7b0bb56a24", "type": "ui-group", "name": "Bad", "page": "9a5095b780d6917f", "width": "6", "height": "1", "order": 2, "showTitle": true, "className": "", "visible": "true", "disabled": "false", "groupType": "default" }, { "id": "af3e9d46e3375061", "type": "ui-group", "name": "Date_Time", "page": "9a5095b780d6917f", "width": "12", "height": "1", "order": 1, "showTitle": false, "className": "", "visible": "true", "disabled": "false", "groupType": "default" }, { "id": "3c175ef314bf5b6c", "type": "ui-group", "name": "Date_time_2", "page": "392ae2df779ad8ce", "width": "12", "height": "1", "order": 1, "showTitle": false, "className": "", "visible": "true", "disabled": "false", "groupType": "default" }, { "id": "392ae2df779ad8ce", "type": "ui-page", "name": "Outside", "ui": "a8dc70a6237173a2", "path": "/outside", "icon": "home", "layout": "grid", "theme": "bf39f7747c4cb89e", "breakpoints": [ { "name": "Default", "px": "0", "cols": "3" }, { "name": "Tablet", "px": "576", "cols": "6" }, { "name": "Small Desktop", "px": "768", "cols": "9" }, { "name": "Desktop", "px": "1024", "cols": "12" } ], "order": 2, "className": "", "visible": true, "disabled": false }, { "id": "ed415db654fe4777", "type": "ui-group", "name": "Garage", "page": "392ae2df779ad8ce", "width": "12", "height": "1", "order": 4, "showTitle": false, "className": "", "visible": "true", "disabled": "false", "groupType": "default" }, { "id": "c6516da1ba2e4cf4", "type": "ui-group", "name": "Feuchte_aussen", "page": "392ae2df779ad8ce", "width": "6", "height": "1", "order": 3, "showTitle": true, "className": "", "visible": "true", "disabled": "false", "groupType": "default" }, { "id": "f1b6e0d30814d169", "type": "ui-group", "name": "Temp_aussen", "page": "392ae2df779ad8ce", "width": "6", "height": "1", "order": 2, "showTitle": true, "className": "", "visible": "true", "disabled": "false", "groupType": "default" }, { "id": "d4177dcf79a5a58b", "type": "ui-group", "name": "Computer_Tisch_rxf", "page": "9a5095b780d6917f", "width": "6", "height": "1", "order": -1, "showTitle": true, "className": "", "visible": "true", "disabled": "false", "groupType": "default" }, { "id": "4d2812cbd43e95b7", "type": "mqtt in", "z": "86a9e7aa0c304b46", "name": "", "topic": "home66/therme/#", "qos": "0", "datatype": "auto-detect", "broker": "c46833d59903b816", "nl": false, "rap": true, "rh": 0, "inputs": 0, "x": 250, "y": 120, "wires": [ [ "b46b0bf234319843" ] ] }, { "id": "b46b0bf234319843", "type": "function", "z": "86a9e7aa0c304b46", "name": "Temps und gas aufbereiten", "func": "if(msg.topic.endsWith('temperaturen')) {\n msg.measurement = 'temperaturen'\n}\nif (msg.topic.endsWith('gas')) {\n msg.measurement = 'gas'\n}\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 740, "y": 120, "wires": [ [ "19c631abc815d4c7" ] ] }, { "id": "4d6143b4be180dd3", "type": "mqtt in", "z": "86a9e7aa0c304b46", "name": "", "topic": "shellies/shelly1-heizung/relay/0", "qos": "0", "datatype": "auto-detect", "broker": "c46833d59903b816", "nl": false, "rap": true, "rh": 0, "inputs": 0, "x": 290, "y": 180, "wires": [ [ "f56dfe96cef6c9e1" ] ] }, { "id": "057123c49327e982", "type": "debug", "z": "86a9e7aa0c304b46", "name": "debug 2", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 1140, "y": 60, "wires": [] }, { "id": "2d6c833e73164d1d", "type": "mqtt in", "z": "86a9e7aa0c304b46", "name": "", "topic": "hm/status/#", "qos": "2", "datatype": "auto-detect", "broker": "c46833d59903b816", "nl": false, "rap": true, "rh": 0, "inputs": 0, "x": 230, "y": 380, "wires": [ [ "64b86058df0b6cfa", "5a02638b83e73915", "70f1977a1c65189e", "28a9cda816b00391" ] ] }, { "id": "70f1977a1c65189e", "type": "function", "z": "86a9e7aa0c304b46", "name": "erstelle ist/soll-Temps und Ventile", "func": "let rooms = [\"BA\", \"FL\", \"WZ\", \"SZ\", \"EZ\"] \nlet topics = [\n { \"valve\": \"LEVEL\", \"set\": \"SET_POINT_TEMPERATURE\", \"ist\": \"ACTUAL_TEMPERATURE\", \"factor\": 100 }, // BA\n { \"valve\": \"LEVEL\", \"set\": \"SET_POINT_TEMPERATURE\", \"ist\": \"ACTUAL_TEMPERATURE\", \"factor\": 100 }, // FL \n { \"valve\": \"LEVEL\", \"set\": \"SET_POINT_TEMPERATURE\", \"ist\": \"ACTUAL_TEMPERATURE\", \"factor\": 100 }, // WZ \n { \"valve\": \"LEVEL\", \"set\": \"SET_POINT_TEMPERATURE\", \"ist\": \"ACTUAL_TEMPERATURE\", \"factor\": 100 }, // SZ \n { \"valve\": \"LEVEL\", \"set\": \"SET_POINT_TEMPERATURE\", \"ist\": \"ACTUAL_TEMPERATURE\", \"factor\": 100 }, // EZ\n]\nlet pos = msg.topic.indexOf('Heizung_')\nlet room = ''\nif ((msg.topic.indexOf('Heizung_SZ_Gruppe') != -1) || (msg.topic.indexOf('Heizung_SZ_R') != -1)) {\n return\n}\nroom = msg.topic.substring(pos+8,pos+10)\nmsg.payload = { [room] : msg.payload.val}\nlet r = 0\nfor (let x of rooms) {\n if(x == room) {\n break;\n }\n r++\n}\nif (r === 5) {\n return\n}\nif (msg.topic.endsWith(topics[r].valve)) {\n msg.measurement = 'valves'\n msg.payload[rooms[r]] = msg.payload[rooms[r]] * topics[r].factor\n return msg;\n}\nif (msg.topic.endsWith(topics[r].ist)) {\n msg.measurement = 'istTemps'\n return msg;\n}\nif (msg.topic.endsWith(topics[r].set)) {\n msg.measurement = 'setTemps'\n return msg;\n}\n", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 540, "y": 380, "wires": [ [ "80c8ea47336a8e19", "68fb5ddae066f989", "500b1d7a2efc63fb" ] ] }, { "id": "8e697f374b0d59c2", "type": "debug", "z": "86a9e7aa0c304b46", "name": "debug 3", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "true", "targetType": "full", "statusVal": "", "statusType": "auto", "x": 1120, "y": 280, "wires": [] }, { "id": "96d0fc338d673e0f", "type": "mqtt in", "z": "86a9e7aa0c304b46", "name": "", "topic": "home66/vzlogger/#", "qos": "0", "datatype": "auto-detect", "broker": "c46833d59903b816", "nl": false, "rap": true, "rh": 0, "inputs": 0, "x": 250, "y": 900, "wires": [ [ "cf55cbbf405be02b", "67608e37315c60dd", "980ffcb9b3562a71" ] ] }, { "id": "cf55cbbf405be02b", "type": "function", "z": "86a9e7aa0c304b46", "name": "Arbeit und Leistung aufbereiten", "func": "if(msg.topic.indexOf('chn0') != -1) {\n msg.payload = { 'arbeit' : msg.payload}\n}\nif (msg.topic.indexOf('chn1') != -1) {\n msg.payload = { 'leistung': msg.payload }\n}\nif (msg.topic.endsWith('id')) {\n return\n}\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 650, "y": 900, "wires": [ [ "9b487a1cd42204f8", "69596ad6efc4ec53" ] ] }, { "id": "8b9ab3a5f87659ca", "type": "debug", "z": "86a9e7aa0c304b46", "name": "debug 4", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "true", "targetType": "full", "statusVal": "", "statusType": "auto", "x": 1160, "y": 2740, "wires": [] }, { "id": "350e1f59b14c56a6", "type": "mqtt in", "z": "86a9e7aa0c304b46", "name": "", "topic": "home66/shellyplus1-luefter/status/switch:0", "qos": "0", "datatype": "auto-detect", "broker": "c46833d59903b816", "nl": false, "rap": true, "rh": 0, "inputs": 0, "x": 320, "y": 2780, "wires": [ [ "ae19cf4b8a59083a" ] ] }, { "id": "ae19cf4b8a59083a", "type": "function", "z": "86a9e7aa0c304b46", "name": "extract Lüfterzusatnd", "func": "if (msg.payload.output == true) {\n msg.payload = {'luefter': 70}\n} else {\n msg.payload = { 'luefter': 52 }\n}\nflow.set(\"luefter\", msg.payload)\nmsg.measurement = 'bad'\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 740, "y": 2780, "wires": [ [ "168cd2080e21b71d" ] ] }, { "id": "f58e17d96a889284", "type": "mqtt in", "z": "86a9e7aa0c304b46", "name": "", "topic": "hm/status/Waschmaschine_Messwerte/#", "qos": "0", "datatype": "auto-detect", "broker": "c46833d59903b816", "nl": false, "rap": true, "rh": 0, "inputs": 0, "x": 320, "y": 1240, "wires": [ [ "385274fd5a2c8804" ] ] }, { "id": "3a825455dd3990c4", "type": "debug", "z": "86a9e7aa0c304b46", "name": "debug 5", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "true", "targetType": "full", "statusVal": "", "statusType": "auto", "x": 1480, "y": 1100, "wires": [] }, { "id": "df52eb75d71fc1d0", "type": "function", "z": "86a9e7aa0c304b46", "name": "extract die Messwerte", "func": "let value = msg.payload.val\nlet send = false\nif (msg.topic.endsWith('ENERGY_COUNTER')) {\n msg.payload = {'arbeit': value}\n send = true\n}\nif (msg.topic.endsWith('POWER')) {\n msg.payload = { 'leistung': value }\n send = true\n}\nif (msg.topic.endsWith('CURRENT')) {\n msg.payload = { 'strom': value }\n send = true\n}\nif (msg.topic.endsWith('VOLTAGE')) {\n msg.payload = { 'spannung': value }\n send = true\n}\nif (msg.topic.endsWith('FREQUENCY')) {\n msg.payload = { 'frequenz': value }\n send = true\n}\nif(send) {\n return msg;\n}", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 1220, "y": 1180, "wires": [ [ "56b1402383445da7", "3a825455dd3990c4" ] ] }, { "id": "dbc14572b5888996", "type": "mqtt in", "z": "86a9e7aa0c304b46", "name": "", "topic": "hm/status/Trockner_Messwerte/#", "qos": "0", "datatype": "auto-detect", "broker": "c46833d59903b816", "nl": false, "rap": true, "rh": 0, "inputs": 0, "x": 290, "y": 1300, "wires": [ [ "fe861bd491c3e005" ] ] }, { "id": "fe861bd491c3e005", "type": "change", "z": "86a9e7aa0c304b46", "name": "", "rules": [ { "t": "set", "p": "measurement", "pt": "msg", "to": "trockner", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 620, "y": 1300, "wires": [ [ "4b7b9693aed95eb0", "8a73c559561e08d5" ] ] }, { "id": "385274fd5a2c8804", "type": "change", "z": "86a9e7aa0c304b46", "name": "", "rules": [ { "t": "set", "p": "measurement", "pt": "msg", "to": "waschmaschine", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 620, "y": 1240, "wires": [ [ "4b7b9693aed95eb0", "391f3b9a3bacdd88" ] ] }, { "id": "b525905be3687eb5", "type": "mqtt in", "z": "86a9e7aa0c304b46", "name": "", "topic": "go-eCharger/010343/status", "qos": "0", "datatype": "auto-detect", "broker": "c46833d59903b816", "nl": false, "rap": true, "rh": 0, "inputs": 0, "x": 280, "y": 1660, "wires": [ [ "b602d56c5ecdf7fc", "74e21176399f1d13" ] ] }, { "id": "ae107129cb3cf180", "type": "debug", "z": "86a9e7aa0c304b46", "name": "debug 6", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 1120, "y": 1600, "wires": [] }, { "id": "b602d56c5ecdf7fc", "type": "function", "z": "86a9e7aa0c304b46", "name": "daten vorbereiten", "func": "let zustand = parseInt(msg.payload.car)\nif ((zustand > 1) && (zustand <= 4)) {\n let strom = [msg.payload.nrg[4], msg.payload.nrg[5], msg.payload.nrg[6]]\n let power = [msg.payload.nrg[7], msg.payload.nrg[8], msg.payload.nrg[9], msg.payload.nrg[11]]\n msg.payload = { \"I1\": strom[0], \"I2\": strom[1], \"I3\": strom[2], \"P1\": power[0], \"P2\": power[1], \"P3\": power[2], \"Ptot\": power[3], \"gesamt\": parseInt(msg.payload.eto)}\n return msg;\n}", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 690, "y": 1660, "wires": [ [ "ae107129cb3cf180", "b14419e197014f22", "c71309141de72ef5" ] ] }, { "id": "f56dfe96cef6c9e1", "type": "function", "z": "86a9e7aa0c304b46", "name": "on/off umwandeln", "func": "if(msg.payload == 'on') {\n msg.payload = {'zustand':80}\n} else {\n msg.payload = {'zustand':0}\n}\nmsg.measurement = 'heizung'\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 710, "y": 180, "wires": [ [ "19c631abc815d4c7" ] ] }, { "id": "ac75a0c76db05a3a", "type": "function", "z": "86a9e7aa0c304b46", "name": "extrahiere Fenster/Tuere", "func": "let pos = -1\nif (msg.topic.indexOf('STATE') !== -1) {\nif ((pos = msg.topic.indexOf('/Fenster_')) !== -1) {\n msg.measurement = 'fenster'\n let stop = msg.topic.indexOf(':')\n msg.room = msg.topic.substring(pos + 9, pos + (stop-pos))\n return msg\n}\nif ((pos = msg.topic.indexOf('/Tuere_')) !== -1) {\n msg.measurement = 'tueren'\n msg.room = msg.topic.substring(pos + 7, pos + 9) + '_terasse'\n return msg\n}\n}", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 650, "y": 320, "wires": [ [ "32ae0b973871f2f9", "b00cbdd7007ca2cf" ] ] }, { "id": "e7113fd1f1cb5375", "type": "influxdb out", "z": "86a9e7aa0c304b46", "influxdb": "db07a39246cf7003", "name": "influx_nuccy", "measurement": "", "precision": "", "retentionPolicy": "", "database": "database", "precisionV18FluxV20": "s", "retentionPolicyV18Flux": "", "org": "citysensor", "bucket": "therme", "x": 1190, "y": 120, "wires": [] }, { "id": "0fed74f96c718b5f", "type": "influxdb out", "z": "86a9e7aa0c304b46", "influxdb": "db07a39246cf7003", "name": "influx_nuccy", "measurement": "", "precision": "", "retentionPolicy": "", "database": "database", "precisionV18FluxV20": "s", "retentionPolicyV18Flux": "", "org": "citysensor", "bucket": "heizung_temps", "x": 1190, "y": 380, "wires": [] }, { "id": "9b487a1cd42204f8", "type": "influxdb out", "z": "86a9e7aa0c304b46", "influxdb": "db07a39246cf7003", "name": "influx_nuccy", "measurement": "vzlogger", "precision": "", "retentionPolicy": "", "database": "database", "precisionV18FluxV20": "s", "retentionPolicyV18Flux": "", "org": "citysensor", "bucket": "strom", "x": 1190, "y": 900, "wires": [] }, { "id": "4b70842673899382", "type": "influxdb out", "z": "86a9e7aa0c304b46", "influxdb": "db07a39246cf7003", "name": "influx_nuccy", "measurement": "", "precision": "", "retentionPolicy": "", "database": "database", "precisionV18FluxV20": "s", "retentionPolicyV18Flux": "", "org": "citysensor", "bucket": "temp_hum", "x": 1190, "y": 2780, "wires": [] }, { "id": "56b1402383445da7", "type": "influxdb out", "z": "86a9e7aa0c304b46", "influxdb": "db07a39246cf7003", "name": "influx_nuccy", "measurement": "", "precision": "", "retentionPolicy": "", "database": "database", "precisionV18FluxV20": "s", "retentionPolicyV18Flux": "", "org": "citysensor", "bucket": "keller", "x": 1530, "y": 1180, "wires": [] }, { "id": "b14419e197014f22", "type": "influxdb out", "z": "86a9e7aa0c304b46", "influxdb": "db07a39246cf7003", "name": "influx_nuccy", "measurement": "goecharger", "precision": "", "retentionPolicy": "", "database": "database", "precisionV18FluxV20": "s", "retentionPolicyV18Flux": "", "org": "citysensor", "bucket": "auto", "x": 1210, "y": 1660, "wires": [] }, { "id": "69596ad6efc4ec53", "type": "debug", "z": "86a9e7aa0c304b46", "name": "debug 7", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "true", "targetType": "full", "statusVal": "", "statusType": "auto", "x": 960, "y": 880, "wires": [] }, { "id": "0630e94e251d736f", "type": "mqtt in", "z": "86a9e7aa0c304b46", "name": "SZ-TH_1", "topic": "zigbee2mqtt/TH_1", "qos": "0", "datatype": "auto-detect", "broker": "c46833d59903b816", "nl": false, "rap": true, "rh": 0, "inputs": 0, "x": 220, "y": 1860, "wires": [ [ "c46bc662805c3ea3" ] ] }, { "id": "398d48e8f6da9b50", "type": "mqtt in", "z": "86a9e7aa0c304b46", "name": "KT-TH_2", "topic": "zigbee2mqtt/TH_2", "qos": "0", "datatype": "auto-detect", "broker": "c46833d59903b816", "nl": false, "rap": true, "rh": 0, "inputs": 0, "x": 220, "y": 1920, "wires": [ [ "c46bc662805c3ea3" ] ] }, { "id": "d9df2ad9c5de5c68", "type": "function", "z": "86a9e7aa0c304b46", "name": "function 2", "func": "const s2r = [\n { name: \"TH_1\", room: \"SZ\" }, \n { name: \"TH_2\", room: \"KT\" },\n { name: \"TH_3\", room: \"CL\" }, \n { name: \"TH_4\", room: \"KU\" },\n { name: \"TH_5\", room: \"WZ\" },\n { name: \"TH_6\", room: \"EZ\" },\n { name: \"TH_7\", room: \"FL\" },\n { name: \"TH_8\", room: \"KO\" },\n { name: \"TH_9\", room: \"AU\" },\n { name: \"Temp_Feuchte_Mini_1\", room: \"BA\" },\n { name: \"Licht_Sensor\", room: \"BD\" }\n]\nlet room = \"\"\nlet s = msg.topic.split('/')\nfor (let x of s2r) {\n if (x.name === s[1]) {\n room = x.room\n break\n }\n}\nmsg.measurement = room\ndelete msg.payload.linkquality\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 920, "y": 2120, "wires": [ [ "3ccd32cf4a9e4b11", "9bed2a1b764095c8" ] ] }, { "id": "3ccd32cf4a9e4b11", "type": "influxdb out", "z": "86a9e7aa0c304b46", "influxdb": "db07a39246cf7003", "name": "influx_nuccy", "measurement": "", "precision": "", "retentionPolicy": "", "database": "database", "precisionV18FluxV20": "s", "retentionPolicyV18Flux": "", "org": "citysensor", "bucket": "raumtemps", "x": 1230, "y": 2120, "wires": [] }, { "id": "60864469aca4d41f", "type": "mqtt in", "z": "86a9e7aa0c304b46", "name": "CL-TH_3", "topic": "zigbee2mqtt/TH_3", "qos": "0", "datatype": "auto-detect", "broker": "c46833d59903b816", "nl": false, "rap": true, "rh": 0, "inputs": 0, "x": 220, "y": 1980, "wires": [ [ "c46bc662805c3ea3" ] ] }, { "id": "3966fc5ef51dfa41", "type": "mqtt in", "z": "86a9e7aa0c304b46", "name": "KÜ-TH_4", "topic": "zigbee2mqtt/TH_4", "qos": "0", "datatype": "auto-detect", "broker": "c46833d59903b816", "nl": false, "rap": true, "rh": 0, "inputs": 0, "x": 220, "y": 2040, "wires": [ [ "c46bc662805c3ea3" ] ] }, { "id": "3704bd2b85fa9c7e", "type": "mqtt in", "z": "86a9e7aa0c304b46", "name": "BA-TH_Mini", "topic": "zigbee2mqtt/Temp_Feuchte_Mini_1", "qos": "0", "datatype": "auto-detect", "broker": "c46833d59903b816", "nl": false, "rap": true, "rh": 0, "inputs": 0, "x": 230, "y": 2340, "wires": [ [ "c46bc662805c3ea3" ] ] }, { "id": "9bed2a1b764095c8", "type": "debug", "z": "86a9e7aa0c304b46", "name": "debug 28", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "true", "targetType": "full", "statusVal": "", "statusType": "auto", "x": 1180, "y": 2020, "wires": [] }, { "id": "7371b0de49444879", "type": "delay", "z": "86a9e7aa0c304b46", "name": "", "pauseType": "rate", "timeout": "5", "timeoutUnits": "seconds", "rate": "1", "nbRateUnits": "2", "rateUnits": "second", "randomFirst": "1", "randomLast": "5", "randomUnits": "seconds", "drop": true, "allowrate": false, "outputs": 1, "x": 680, "y": 2180, "wires": [ [ "d9df2ad9c5de5c68", "7d644edb8b6448d7" ] ] }, { "id": "5a1c90bf0fc446ea", "type": "mongodb4", "z": "86a9e7aa0c304b46", "clientNode": "874361936f1ce815", "mode": "collection", "collection": "", "operation": "", "output": "toArray", "maxTimeMS": "0", "handleDocId": false, "name": "", "x": 1250, "y": 2260, "wires": [ [ "50002a84d65e7602" ] ] }, { "id": "7d644edb8b6448d7", "type": "function", "z": "86a9e7aa0c304b46", "name": "function 6", "func": "const s2r = [\n { name: \"TH_1\", room: \"SZ\" }, \n { name: \"TH_2\", room: \"KT\" },\n { name: \"TH_3\", room: \"EZ\" }, \n { name: \"TH_4\", room: \"KU\" },\n { name: \"TH_5\", room: \"WZ\" },\n { name: \"TH_6\", room: \"EZ\" },\n { name: \"TH_7\", room: \"FL\" },\n { name: \"TH_8\", room: \"KO\" },\n { name: \"TH_9\", room: \"AU\" },\n { name: \"Temp_Feuchte_Mini_1\", room: \"BA\" }, \n { name: \"Licht_Sensor\", room: \"BD\" } \n]\nlet room = \"\"\nlet s = msg.topic.split('/')\nfor (let x of s2r) {\n if (x.name === s[1]) {\n room = x.room\n break\n }\n}\nmsg.operation = \"insertOne\"\nmsg.collection = \"th_sensoren\"\ndelete msg.payload.linkquality\nmsg.payload.room = room\nmsg.payload.datetime = new Date()\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 920, "y": 2260, "wires": [ [ "dd4f303cf0ebd60a", "5a1c90bf0fc446ea" ] ] }, { "id": "dd4f303cf0ebd60a", "type": "debug", "z": "86a9e7aa0c304b46", "name": "debug 29", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "true", "targetType": "full", "statusVal": "", "statusType": "auto", "x": 1240, "y": 2200, "wires": [] }, { "id": "50002a84d65e7602", "type": "debug", "z": "86a9e7aa0c304b46", "name": "debug 30", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 1480, "y": 2260, "wires": [] }, { "id": "cf5b8ae7977ea244", "type": "comment", "z": "86a9e7aa0c304b46", "name": "Therme und Zustand der Heizung", "info": "", "x": 290, "y": 80, "wires": [] }, { "id": "7c1b27bef0c78bc3", "type": "comment", "z": "86a9e7aa0c304b46", "name": "Heizthermostaten und Fenster", "info": "", "x": 280, "y": 280, "wires": [] }, { "id": "5ac03690ed6fee05", "type": "comment", "z": "86a9e7aa0c304b46", "name": "Stromverbrauch", "info": "", "x": 240, "y": 860, "wires": [] }, { "id": "f742570145e0755a", "type": "comment", "z": "86a9e7aa0c304b46", "name": "Waschmaschine, Trockner, Spülaschine und Kühlschrank", "info": "", "x": 370, "y": 1200, "wires": [] }, { "id": "9627b35d46599282", "type": "comment", "z": "86a9e7aa0c304b46", "name": "Auto laden", "info": "", "x": 220, "y": 1620, "wires": [] }, { "id": "636e159306eff1e8", "type": "comment", "z": "86a9e7aa0c304b46", "name": "Raum-Temperaturen und -Feuchte", "info": "", "x": 300, "y": 1820, "wires": [] }, { "id": "15a2df0897bfbc32", "type": "comment", "z": "86a9e7aa0c304b46", "name": "Bad Lüfterzustand", "info": "", "x": 250, "y": 2740, "wires": [] }, { "id": "68fb5ddae066f989", "type": "function", "z": "86a9e7aa0c304b46", "name": "function 7", "func": "let rooms = [\"BA\", \"WZ\", \"FL\", \"SZ\"]\nlet topics = [\n { \"valve\": \"LEVEL\", \"set\": \"SET_POINT_TEMPERATURE\", \"ist\": \"ACTUAL_TEMPERATURE\" }, // BA\n { \"valve\": \"LEVEL\", \"set\": \"SET_POINT_TEMPERATURE\", \"ist\": \"ACTUAL_TEMPERATURE\" }, // EZ \n { \"valve\": \"LEVEL\", \"set\": \"SET_POINT_TEMPERATURE\", \"ist\": \"ACTUAL_TEMPERATURE\" }, // WZ \n { \"valve\": \"VALVE_STATE\", \"set\": \"SET_TEMPERATURE\", \"ist\": \"ACTUAL_TEMPERATURE\" }, // FL \n { \"valve\": \"VALVE_STATE\", \"set\": \"SET_TEMPERATURE\", \"ist\": \"ACTUAL_TEMPERATURE\" } // SZ \n]\nlet pos = msg.topic.indexOf('Heizung_')\nif (pos === -1) {\n return\n}\nif ((msg.topic.indexOf('Heizung_SZ_Gruppe') != -1) || (msg.topic.indexOf('Heizung_SZ_2') != -1)) {\n return\n}\nlet room = ''\nroom = msg.topic.substring(pos + 8, pos + 10)\nlet r = 0\nfor (let x of rooms) {\n if (x == room) {\n break;\n }\n r++\n}\nif (r === 5) {\n return\n}\nlet value = msg.payload[room]\nlet payload = context.get('payload') || {}\ncontext.set('payload', payload)\nlet count = context.get('count') || 0\ncontext.set('count', count)\n\nif (msg.topic.endsWith(topics[r].valve)) {\n payload.valve = value\n count = count + 2\n context.set('payload', payload)\n context.set('count', count)\n}\nif (msg.topic.endsWith(topics[r].ist)) {\n payload.istTemp = value\n context.set('payload', payload)\n count++\n context.set('count', count)\n}\nif (msg.topic.endsWith(topics[r].set)) {\n payload.setTemp = value\n context.set('payload', payload)\n count++\n context.set('count', count)\n}\nif (count === 4) {\n msg.payload = context.get('payload')\n msg.payload.datetime = new Date()\n msg.payload.metadata = {\"room\": room, \"type\": \"heizung\"}\n context.set('payload', {})\n context.set('count',0)\n msg.collection = \"heizung\"\n msg.operation = \"insertOne\"\n return msg\n}\n", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 820, "y": 460, "wires": [ [ "41e91705b7bcaecb", "d91c151996747c1c" ] ] }, { "id": "41e91705b7bcaecb", "type": "debug", "z": "86a9e7aa0c304b46", "name": "debug 31", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "true", "targetType": "full", "statusVal": "", "statusType": "auto", "x": 1180, "y": 460, "wires": [] }, { "id": "b4c2ba1e12901286", "type": "debug", "z": "86a9e7aa0c304b46", "name": "debug 32", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 1180, "y": 520, "wires": [] }, { "id": "e6a1fd9420880250", "type": "mqtt in", "z": "86a9e7aa0c304b46", "name": "", "topic": "hm/status/Kuehlschrank_Messwerte:2/#", "qos": "0", "datatype": "auto-detect", "broker": "c46833d59903b816", "nl": false, "rap": true, "rh": 0, "inputs": 0, "x": 320, "y": 1360, "wires": [ [ "c0f6dadd964ce99a" ] ] }, { "id": "c0f6dadd964ce99a", "type": "change", "z": "86a9e7aa0c304b46", "name": "", "rules": [ { "t": "set", "p": "measurement", "pt": "msg", "to": "kuehlschrank", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 620, "y": 1360, "wires": [ [ "4b7b9693aed95eb0", "46d53fd1857f29b8" ] ] }, { "id": "32ae0b973871f2f9", "type": "function", "z": "86a9e7aa0c304b46", "name": "function 8", "func": "let val = msg.payload.val\nlet x = 2\nif (!val) {\n x = 0\n} else if (val <= 1) {\n x = 1\n}\nmsg.payload = { [msg.room]: x }\nlet ro = msg.room.split('_')\nglobal.set(`fenster_${msg.room}`, x)\nmsg.debug = `fenster_${msg.room}`\nmsg.room = ro[0]\nreturn msg\n", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 880, "y": 320, "wires": [ [ "b023da7344e3bad8" ] ] }, { "id": "4ec35d1ec93a275d", "type": "debug", "z": "86a9e7aa0c304b46", "name": "debug 33", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "true", "targetType": "full", "statusVal": "", "statusType": "auto", "x": 1120, "y": 420, "wires": [] }, { "id": "277743dd937f456d", "type": "mqtt in", "z": "86a9e7aa0c304b46", "name": "", "topic": "zigbee2mqtt/spuelmaschine", "qos": "0", "datatype": "auto-detect", "broker": "c46833d59903b816", "nl": false, "rap": true, "rh": 0, "inputs": 0, "x": 280, "y": 1420, "wires": [ [ "8def8664ad59b9f1" ] ] }, { "id": "1a993a311e617f0a", "type": "function", "z": "86a9e7aa0c304b46", "name": "extract die Messwerte", "func": "msg.payload = {\n 'arbeit': msg.payload.energy,\n 'leistung': msg.payload.power\n}\nmsg.measurement = 'spuelmaschine'\nreturn msg;\n", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 780, "y": 1420, "wires": [ [ "6a8991fdab7a3434", "56b1402383445da7", "40b7e603ef1e9c58" ] ] }, { "id": "d91c151996747c1c", "type": "mongodb4", "z": "86a9e7aa0c304b46", "clientNode": "874361936f1ce815", "mode": "collection", "collection": "", "operation": "", "output": "toArray", "maxTimeMS": "0", "handleDocId": false, "name": "", "x": 970, "y": 520, "wires": [ [ "b4c2ba1e12901286" ] ] }, { "id": "c71309141de72ef5", "type": "function", "z": "86a9e7aa0c304b46", "name": "function 10", "func": "msg.payload.wallbox = 1\nmsg.operation = \"insertOne\"\nmsg.collection = \"auto\"\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 930, "y": 1740, "wires": [ [ "062d4d20ef2912da" ] ] }, { "id": "062d4d20ef2912da", "type": "mongodb4", "z": "86a9e7aa0c304b46", "clientNode": "874361936f1ce815", "mode": "collection", "collection": "", "operation": "", "output": "toArray", "maxTimeMS": "0", "handleDocId": false, "name": "", "x": 1190, "y": 1740, "wires": [ [ "71508f12e88f8608" ] ] }, { "id": "71508f12e88f8608", "type": "debug", "z": "86a9e7aa0c304b46", "name": "debug 34", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 1380, "y": 1740, "wires": [] }, { "id": "3569c43cd47502ee", "type": "mongodb4", "z": "86a9e7aa0c304b46", "clientNode": "874361936f1ce815", "mode": "collection", "collection": "", "operation": "", "output": "toArray", "maxTimeMS": "0", "handleDocId": false, "name": "", "x": 1190, "y": 960, "wires": [ [ "f7e8254c72cfe335" ] ] }, { "id": "f7e8254c72cfe335", "type": "debug", "z": "86a9e7aa0c304b46", "name": "debug 35", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 1360, "y": 960, "wires": [] }, { "id": "67608e37315c60dd", "type": "function", "z": "86a9e7aa0c304b46", "name": "function 11", "func": "let pl = flow.get('pl') || {}\nif (msg.topic.indexOf('chn0') != -1) {\n pl.arbeit = msg.payload\n flow.set('pl', pl)\n}\nif (msg.topic.indexOf('chn1') != -1) {\n pl.leistung = msg.payload\n msg.payload = pl \n flow.set('pl', {})\n msg.operation = \"insertOne\"\n msg.collection = \"strom\"\n msg.payload.meta = 0\n msg.payload.datetime = new Date()\n return msg;\n}\n", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 590, "y": 960, "wires": [ [ "1eadf1113bdf28a7", "3569c43cd47502ee" ] ] }, { "id": "1eadf1113bdf28a7", "type": "debug", "z": "86a9e7aa0c304b46", "name": "debug 36", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "true", "targetType": "full", "statusVal": "", "statusType": "auto", "x": 860, "y": 1000, "wires": [] }, { "id": "fe04f6c77be768d2", "type": "config", "z": "86a9e7aa0c304b46", "name": "", "properties": [ { "p": "cnt", "pt": "flow", "to": "0", "tot": "num" }, { "p": "pl", "pt": "flow", "to": "[]", "tot": "json" } ], "active": true, "x": 230, "y": 800, "wires": [] }, { "id": "980ffcb9b3562a71", "type": "function", "z": "86a9e7aa0c304b46", "name": "function 12", "func": "if (msg.topic.indexOf('chn1') != -1) {\n msg.topic = 'Gesamt-Leistung [Wh]'\n return msg;\n}", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 590, "y": 840, "wires": [ [] ] }, { "id": "6a8991fdab7a3434", "type": "function", "z": "86a9e7aa0c304b46", "name": "function 13", "func": "msg.maschine = \"spuelmaschine\"\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 1150, "y": 1420, "wires": [ [ "af03a5e1a841517a" ] ] }, { "id": "af03a5e1a841517a", "type": "change", "z": "86a9e7aa0c304b46", "name": "", "rules": [ { "t": "set", "p": "operation", "pt": "msg", "to": "insertOne", "tot": "str" }, { "t": "set", "p": "collection", "pt": "msg", "to": "maschinen", "tot": "str" }, { "t": "set", "p": "payload.maschine", "pt": "msg", "to": "measurement", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1300, "y": 1300, "wires": [ [ "0b62dc3894e2849f", "34d7609bd881bc68" ] ] }, { "id": "391f3b9a3bacdd88", "type": "function", "z": "86a9e7aa0c304b46", "name": "function 14", "func": "let plw = flow.get('plw') || {}\nlet cnt = flow.get('cntw') || 0\nlet value = msg.payload.val\nif (msg.topic.endsWith('ENERGY_COUNTER')) {\n plw.arbeit = value\n flow.set('plw', plw)\n cnt += 1\n flow.set('cntw', cnt)\n}\nif (msg.topic.endsWith('POWER')) {\n plw.leistung = value\n flow.set('plw', plw)\n cnt += 1\n flow.set('cntw', cnt)\n}\nif (msg.topic.endsWith('CURRENT')) {\n plw.strom = value\n flow.set('plw', plw)\n cnt += 1\n flow.set('cntw', cnt)\n}\nif (msg.topic.endsWith('VOLTAGE')) {\n plw.spannung = value\n flow.set('plw', plw)\n cnt += 1\n flow.set('cntw', cnt)\n}\nif (msg.topic.endsWith('FREQUENCY')) {\n plw.frequenz = value\n flow.set('plw', plw)\n cnt += 1\n flow.set('cntw', cnt)\n}\nif (cnt === 5) {\n cnt = 0\n msg.payload = plw\n plw = {}\n flow.set('plw', plw)\n flow.set('cntw', cnt)\n msg.payload.maschine = msg.measurement\n return msg\n}\n", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 930, "y": 1240, "wires": [ [ "21a3752d5b338a61" ] ] }, { "id": "0b62dc3894e2849f", "type": "debug", "z": "86a9e7aa0c304b46", "name": "debug 37", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "true", "targetType": "full", "statusVal": "", "statusType": "auto", "x": 1500, "y": 1260, "wires": [] }, { "id": "07c8e1eea03e88c0", "type": "config", "z": "86a9e7aa0c304b46", "name": "", "properties": [ { "p": "plw", "pt": "flow", "to": "{}", "tot": "json" }, { "p": "cntw", "pt": "flow", "to": "0", "tot": "num" }, { "p": "plt", "pt": "flow", "to": "{}", "tot": "json" }, { "p": "cntt", "pt": "flow", "to": "0", "tot": "num" }, { "p": "plk", "pt": "flow", "to": "{}", "tot": "json" }, { "p": "cntk", "pt": "flow", "to": "0", "tot": "num" } ], "active": true, "x": 690, "y": 1180, "wires": [] }, { "id": "8a73c559561e08d5", "type": "function", "z": "86a9e7aa0c304b46", "name": "function 15", "func": "let plt = flow.get('plt') || {}\nlet cnt = flow.get('cntt') || 0\nlet value = msg.payload.val\nif (msg.topic.endsWith('ENERGY_COUNTER')) {\n plt.arbeit = value\n flow.set('plt', plt)\n cnt += 1\n flow.set('cntt', cnt)\n}\nif (msg.topic.endsWith('POWER')) {\n plt.leistung = value\n flow.set('plt', plt)\n cnt += 1\n flow.set('cntt', cnt)\n}\nif (msg.topic.endsWith('CURRENT')) {\n plt.strom = value\n flow.set('plt', plt)\n cnt += 1\n flow.set('cntt', cnt)\n}\nif (msg.topic.endsWith('VOLTAGE')) {\n plt.spannung = value\n flow.set('plt', plt)\n cnt += 1\n flow.set('cntt', cnt)\n}\nif (msg.topic.endsWith('FREQUENCY')) {\n plt.frequenz = value\n flow.set('plt', plt)\n cnt += 1\n flow.set('cntt', cnt)\n}\nif (cnt === 5) {\n cnt = 0\n msg.payload = plt\n plt = {}\n flow.set('plt', plt)\n flow.set('cntt', cnt)\n msg.payload.maschine = msg.measurement\n return msg\n}\n", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 930, "y": 1300, "wires": [ [ "21a3752d5b338a61" ] ] }, { "id": "46d53fd1857f29b8", "type": "function", "z": "86a9e7aa0c304b46", "name": "function 16", "func": "let plk = flow.get('plk') || {}\nlet cnt = flow.get('cntk') || 0\nlet value = msg.payload.val\nif (msg.topic.endsWith('ENERGY_COUNTER')) {\n plk.arbeit = value\n flow.set('plk', plk)\n cnt += 1\n flow.set('cntk', cnt)\n}\nif (msg.topic.endsWith('POWER')) {\n plk.leistung = value\n flow.set('plk', plk)\n cnt += 1\n flow.set('cntk', cnt)\n}\nif (msg.topic.endsWith('CURRENT')) {\n plk.strom = value\n flow.set('plk', plk)\n cnt += 1\n flow.set('cntk', cnt)\n}\nif (msg.topic.endsWith('VOLTAGE')) {\n plk.spannung = value\n flow.set('plk', plk)\n cnt += 1\n flow.set('cntk', cnt)\n}\nif (msg.topic.endsWith('FREQUENCY')) {\n plk.frequenz = value\n flow.set('plk', plk)\n cnt += 1\n flow.set('cntk', cnt)\n}\nif (cnt === 5) {\n cnt = 0\n msg.payload = plk\n plk = {}\n flow.set('plk', plk)\n flow.set('cntk', cnt)\n msg.payload.maschine = msg.measurement\n return msg\n}\n", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 930, "y": 1360, "wires": [ [ "21a3752d5b338a61" ] ] }, { "id": "d7ec58f8201534a5", "type": "mongodb4", "z": "86a9e7aa0c304b46", "clientNode": "874361936f1ce815", "mode": "collection", "collection": "", "operation": "", "output": "toArray", "maxTimeMS": "0", "handleDocId": false, "name": "", "x": 1370, "y": 1400, "wires": [ [ "030e4ec5b7dcf040" ] ] }, { "id": "030e4ec5b7dcf040", "type": "debug", "z": "86a9e7aa0c304b46", "name": "debug 38", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 1560, "y": 1400, "wires": [] }, { "id": "34d7609bd881bc68", "type": "function", "z": "86a9e7aa0c304b46", "name": "function 17", "func": "msg.payload.datetime = new Date()\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 1510, "y": 1340, "wires": [ [ "d7ec58f8201534a5" ] ] }, { "id": "4d375d7b71ed95af", "type": "function", "z": "86a9e7aa0c304b46", "name": "function 18", "func": "msg.payload.meta = msg.measurement\nmsg.operation = 'insertOne'\nmsg.collection = 'therme'\nmsg.payload.datetime = new Date()\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 1070, "y": 180, "wires": [ [ "357915e1a4f40858", "fdcedbc2241a3978" ] ] }, { "id": "357915e1a4f40858", "type": "debug", "z": "86a9e7aa0c304b46", "name": "debug 39", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "true", "targetType": "full", "statusVal": "", "statusType": "auto", "x": 1260, "y": 180, "wires": [] }, { "id": "fdcedbc2241a3978", "type": "mongodb4", "z": "86a9e7aa0c304b46", "clientNode": "874361936f1ce815", "mode": "collection", "collection": "", "operation": "", "output": "toArray", "maxTimeMS": "0", "handleDocId": false, "name": "", "x": 1277.1666259765625, "y": 234.16665649414062, "wires": [ [ "b6f5d9d1a657e773" ] ] }, { "id": "b6f5d9d1a657e773", "type": "debug", "z": "86a9e7aa0c304b46", "name": "debug 40", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 1457.1666259765625, "y": 234.16665649414062, "wires": [] }, { "id": "71da459e1eb610b3", "type": "function", "z": "86a9e7aa0c304b46", "name": "function 19", "func": "msg.payload.datetime = new Date()\nmsg.operation = 'insertOne'\nmsg.collection = 'heizung'\nmsg.payload.metadata = { \"room\": msg.room, \"type\": \"fenster\"}\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 1330, "y": 340, "wires": [ [ "31d348a98878d4dd", "4fe3a7b1afc0e974" ] ] }, { "id": "31d348a98878d4dd", "type": "debug", "z": "86a9e7aa0c304b46", "name": "debug 41", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "true", "targetType": "full", "statusVal": "", "statusType": "auto", "x": 1520, "y": 340, "wires": [] }, { "id": "4fe3a7b1afc0e974", "type": "mongodb4", "z": "86a9e7aa0c304b46", "clientNode": "874361936f1ce815", "mode": "collection", "collection": "", "operation": "", "output": "toArray", "maxTimeMS": "0", "handleDocId": false, "name": "", "x": 1410, "y": 420, "wires": [ [ "781ebe816973e5c9" ] ] }, { "id": "781ebe816973e5c9", "type": "debug", "z": "86a9e7aa0c304b46", "name": "debug 42", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 1590, "y": 420, "wires": [] }, { "id": "63b409f7976b2641", "type": "mqtt in", "z": "86a9e7aa0c304b46", "name": "", "topic": "zigbee2mqtt/Fenster_KU", "qos": "0", "datatype": "auto-detect", "broker": "c46833d59903b816", "nl": false, "rap": true, "rh": 0, "inputs": 0, "x": 270, "y": 460, "wires": [ [ "10226e67b42c5834", "f0dc770e2e070185" ] ] }, { "id": "100d7d6d607c4ced", "type": "debug", "z": "86a9e7aa0c304b46", "name": "debug 43", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "true", "targetType": "full", "statusVal": "", "statusType": "auto", "x": 680, "y": 500, "wires": [] }, { "id": "10226e67b42c5834", "type": "function", "z": "86a9e7aa0c304b46", "name": "function 21", "func": "let val = msg.payload.contact ? 0 : 2\nmsg.measurement = \"fenster\"\nmsg.room = \"KU\"\nmsg.payload = {\"KU\": val}\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 510, "y": 460, "wires": [ [ "100d7d6d607c4ced", "b023da7344e3bad8" ] ] }, { "id": "f0dc770e2e070185", "type": "debug", "z": "86a9e7aa0c304b46", "name": "debug 46", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "true", "targetType": "full", "statusVal": "", "statusType": "auto", "x": 480, "y": 420, "wires": [] }, { "id": "7143b077418a0ee1", "type": "mqtt in", "z": "86a9e7aa0c304b46", "name": "", "topic": "zigbee2mqtt/Heizung_EZ", "qos": "0", "datatype": "auto-detect", "broker": "c46833d59903b816", "nl": false, "rap": true, "rh": 0, "inputs": 0, "x": 270, "y": 540, "wires": [ [ "3416084b2fb9fafd", "1ed600c02b5a76a9" ] ] }, { "id": "3416084b2fb9fafd", "type": "function", "z": "86a9e7aa0c304b46", "name": "isttemp", "func": "msg.payload = { \"EZ\": msg.payload.local_temperature}\nmsg.measurement = 'istTemps'\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 520, "y": 560, "wires": [ [ "e641c1e401bb8c58" ] ] }, { "id": "1ed600c02b5a76a9", "type": "function", "z": "86a9e7aa0c304b46", "name": "solltemp", "func": "msg.payload = { \"EZ\": msg.payload.current_heating_setpoint}\nmsg.measurement = 'setTemps'\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 520, "y": 600, "wires": [ [ "64535942f5bbf593" ] ] }, { "id": "64535942f5bbf593", "type": "delay", "z": "86a9e7aa0c304b46", "name": "", "pauseType": "delay", "timeout": "2", "timeoutUnits": "milliseconds", "rate": "1", "nbRateUnits": "1", "rateUnits": "second", "randomFirst": "1", "randomLast": "5", "randomUnits": "seconds", "drop": false, "allowrate": false, "outputs": 1, "x": 690, "y": 600, "wires": [ [ "e641c1e401bb8c58" ] ] }, { "id": "500b1d7a2efc63fb", "type": "debug", "z": "86a9e7aa0c304b46", "name": "debug 49", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "true", "targetType": "full", "statusVal": "", "statusType": "auto", "x": 880, "y": 240, "wires": [] }, { "id": "64b86058df0b6cfa", "type": "debug", "z": "86a9e7aa0c304b46", "name": "debug 50", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "true", "targetType": "full", "statusVal": "", "statusType": "auto", "x": 500, "y": 260, "wires": [] }, { "id": "3c7a45cc11a1e159", "type": "mqtt in", "z": "86a9e7aa0c304b46", "name": "", "topic": "hm/status/Fenster_CL_Schließer:1/LEVEL", "qos": "0", "datatype": "auto-detect", "broker": "c46833d59903b816", "nl": false, "rap": true, "rh": 0, "inputs": 0, "x": 320, "y": 660, "wires": [ [ "03c6d6de44dec66f" ] ] }, { "id": "03c6d6de44dec66f", "type": "function", "z": "86a9e7aa0c304b46", "name": "function 24", "func": "msg.room = \"CL\"\nmsg.measurement = \"fenster\"\nmsg.payload = { \"val\": msg.payload.val === 0 ? 0 : 2}\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 610, "y": 660, "wires": [ [ "32ae0b973871f2f9", "51add0f4c146549e" ] ] }, { "id": "b00cbdd7007ca2cf", "type": "debug", "z": "86a9e7aa0c304b46", "name": "debug 67", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "true", "targetType": "full", "statusVal": "", "statusType": "auto", "x": 700, "y": 260, "wires": [] }, { "id": "51add0f4c146549e", "type": "debug", "z": "86a9e7aa0c304b46", "name": "debug 68", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "true", "targetType": "full", "statusVal": "", "statusType": "auto", "x": 820, "y": 660, "wires": [] }, { "id": "0c73b4f2ae547ad3", "type": "debug", "z": "86a9e7aa0c304b46", "name": "debug 80", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "true", "targetType": "full", "statusVal": "", "statusType": "auto", "x": 1160, "y": 2900, "wires": [] }, { "id": "b0e34b04e7c21554", "type": "mqtt in", "z": "86a9e7aa0c304b46", "name": "", "topic": "home66/shellyplus1-CL_Heizung/status/switch:0", "qos": "0", "datatype": "auto-detect", "broker": "c46833d59903b816", "nl": false, "rap": true, "rh": 0, "inputs": 0, "x": 340, "y": 2940, "wires": [ [ "5394fb15cad14baa" ] ] }, { "id": "5394fb15cad14baa", "type": "function", "z": "86a9e7aa0c304b46", "name": "extract Heizungs-Zustand", "func": "if (msg.payload.output == true) {\n msg.payload = {'CL': 2}\n} else {\n msg.payload = { 'CL': 0 }\n}\nmsg.measurement = 'heizung'\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 750, "y": 2940, "wires": [ [ "daa5b689b37b84c0" ] ] }, { "id": "ed1e5e52559341a9", "type": "influxdb out", "z": "86a9e7aa0c304b46", "influxdb": "db07a39246cf7003", "name": "influx_nuccy", "measurement": "", "precision": "", "retentionPolicy": "", "database": "database", "precisionV18FluxV20": "s", "retentionPolicyV18Flux": "", "org": "citysensor", "bucket": "heizung_temps", "x": 1190, "y": 2940, "wires": [] }, { "id": "5b6e3a306a5f92a6", "type": "comment", "z": "86a9e7aa0c304b46", "name": "Clo Heizung", "info": "", "x": 230, "y": 2900, "wires": [] }, { "id": "74e21176399f1d13", "type": "debug", "z": "86a9e7aa0c304b46", "name": "debug 84", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 540, "y": 1600, "wires": [] }, { "id": "5a02638b83e73915", "type": "function", "z": "86a9e7aa0c304b46", "name": "erstelle ist/soll-Temps und Ventile", "func": "let rooms = [\"BA\", \"FL\", \"WZ\", \"SZ_L\", \"SZ_R\", \"EZ\"] \nlet topics = [\n { \"valve\": \"LEVEL\", \"set\": \"SET_POINT_TEMPERATURE\", \"ist\": \"ACTUAL_TEMPERATURE\", \"factor\": 100 }, // BA\n { \"valve\": \"LEVEL\", \"set\": \"SET_POINT_TEMPERATURE\", \"ist\": \"ACTUAL_TEMPERATURE\", \"factor\": 100 }, // FL \n { \"valve\": \"LEVEL\", \"set\": \"SET_POINT_TEMPERATURE\", \"ist\": \"ACTUAL_TEMPERATURE\", \"factor\": 100 }, // WZ \n { \"valve\": \"LEVEL\", \"set\": \"SET_POINT_TEMPERATURE\", \"ist\": \"ACTUAL_TEMPERATURE\", \"factor\": 100 }, // SZ_L \n { \"valve\": \"LEVEL\", \"set\": \"SET_POINT_TEMPERATURE\", \"ist\": \"ACTUAL_TEMPERATURE\", \"factor\": 100 }, // SZ_R \n { \"valve\": \"LEVEL\", \"set\": \"SET_POINT_TEMPERATURE\", \"ist\": \"ACTUAL_TEMPERATURE\", \"factor\": 100 }, // EZ\n]\nlet heiz = msg.topic.indexOf('Heizung_') \nlet room = ''\nif (msg.topic.indexOf('Heizung_SZ_Gruppe') != -1) {\n return\n}\nif(heiz !== -1) {\n let posUL =msg.topic.indexOf('_')\n let posDP = msg.topic.indexOf(':')\n let room = msg.topic.substring(posUL+1, posDP)\n msg.payload = { [room]: msg.payload.val }\n let r = 0\n for (let x of rooms) {\n if(x == room) {\n break;\n }\n r++\n }\n if (r === 6) {\n return\n }\n if (msg.topic.endsWith(topics[r].valve)) {\n msg.measurement = 'valves'\n msg.payload[rooms[r]] = msg.payload[rooms[r]] * topics[r].factor\n return msg;\n }\n if (msg.topic.endsWith(topics[r].ist)) {\n msg.measurement = 'istTemps'\n return msg;\n }\n if (msg.topic.endsWith(topics[r].set)) {\n msg.measurement = 'setTemps'\n return msg;\n }\n}\nreturn", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 1180, "y": 620, "wires": [ [ "5276fa50a2eb5ce1", "80c8ea47336a8e19" ] ] }, { "id": "5276fa50a2eb5ce1", "type": "debug", "z": "86a9e7aa0c304b46", "name": "debug 85", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "true", "targetType": "full", "statusVal": "", "statusType": "auto", "x": 1660, "y": 620, "wires": [] }, { "id": "744a1dd669f48f25", "type": "mqtt in", "z": "86a9e7aa0c304b46", "name": "WZ-TH_5", "topic": "zigbee2mqtt/TH_5", "qos": "0", "datatype": "auto-detect", "broker": "c46833d59903b816", "nl": false, "rap": true, "rh": 0, "inputs": 0, "x": 220, "y": 2100, "wires": [ [ "c46bc662805c3ea3" ] ] }, { "id": "75c8f63de2daf4d7", "type": "mqtt in", "z": "86a9e7aa0c304b46", "name": "EZ-TH_6", "topic": "zigbee2mqtt/TH_6", "qos": "0", "datatype": "auto-detect", "broker": "c46833d59903b816", "nl": false, "rap": true, "rh": 0, "inputs": 0, "x": 220, "y": 2160, "wires": [ [ "c46bc662805c3ea3" ] ] }, { "id": "b453e5721438cbba", "type": "mqtt in", "z": "86a9e7aa0c304b46", "name": "BA-Licht_Sensor", "topic": "zigbee2mqtt/Licht_Sensor", "qos": "0", "datatype": "auto-detect", "broker": "c46833d59903b816", "nl": false, "rap": true, "rh": 0, "inputs": 0, "x": 240, "y": 2400, "wires": [ [ "c46bc662805c3ea3" ] ] }, { "id": "28a9cda816b00391", "type": "delay", "z": "86a9e7aa0c304b46", "name": "", "pauseType": "delay", "timeout": "200", "timeoutUnits": "milliseconds", "rate": "1", "nbRateUnits": "1", "rateUnits": "second", "randomFirst": "1", "randomLast": "5", "randomUnits": "seconds", "drop": false, "allowrate": false, "outputs": 1, "x": 430, "y": 320, "wires": [ [ "ac75a0c76db05a3a" ] ] }, { "id": "8def8664ad59b9f1", "type": "delay", "z": "86a9e7aa0c304b46", "name": "", "pauseType": "rate", "timeout": "5", "timeoutUnits": "seconds", "rate": "1", "nbRateUnits": "2", "rateUnits": "second", "randomFirst": "1", "randomLast": "5", "randomUnits": "seconds", "drop": true, "allowrate": false, "outputs": 1, "x": 560, "y": 1420, "wires": [ [ "1a993a311e617f0a" ] ] }, { "id": "7001bf2e1553a988", "type": "mqtt in", "z": "86a9e7aa0c304b46", "name": "", "topic": "zigbee2mqtt/Kühlschrank-Keller", "qos": "2", "datatype": "auto-detect", "broker": "c46833d59903b816", "nl": false, "rap": true, "rh": 0, "inputs": 0, "x": 290, "y": 1480, "wires": [ [ "66a5938c04feedd3", "f75301d12f8a9864" ] ] }, { "id": "66a5938c04feedd3", "type": "delay", "z": "86a9e7aa0c304b46", "name": "", "pauseType": "rate", "timeout": "5", "timeoutUnits": "seconds", "rate": "1", "nbRateUnits": "2", "rateUnits": "second", "randomFirst": "1", "randomLast": "5", "randomUnits": "seconds", "drop": true, "allowrate": false, "outputs": 1, "x": 560, "y": 1480, "wires": [ [ "18cd451ff71bedd4" ] ] }, { "id": "6f1a1a62f041e743", "type": "debug", "z": "86a9e7aa0c304b46", "name": "debug 96", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 1300, "y": 1540, "wires": [] }, { "id": "f75301d12f8a9864", "type": "debug", "z": "86a9e7aa0c304b46", "name": "debug 97", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 540, "y": 1540, "wires": [] }, { "id": "18cd451ff71bedd4", "type": "function", "z": "86a9e7aa0c304b46", "name": "extract die Messwerte", "func": "msg.payload = {\n 'arbeit': msg.payload.energy * 1000,\n 'leistung': msg.payload.power\n}\nmsg.measurement = 'kellerkuehlschrank'\nreturn msg;\n", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 780, "y": 1480, "wires": [ [ "56b1402383445da7", "6f1a1a62f041e743" ] ] }, { "id": "40b7e603ef1e9c58", "type": "debug", "z": "86a9e7aa0c304b46", "name": "debug 98", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 1320, "y": 1480, "wires": [] }, { "id": "4aab29782d540f65", "type": "mqtt in", "z": "86a9e7aa0c304b46", "name": "FL-TH_7", "topic": "zigbee2mqtt/TH_7", "qos": "0", "datatype": "auto-detect", "broker": "c46833d59903b816", "nl": false, "rap": true, "rh": 0, "inputs": 0, "x": 220, "y": 2220, "wires": [ [ "c46bc662805c3ea3" ] ] }, { "id": "ebbaceeb44477ab8", "type": "mqtt in", "z": "86a9e7aa0c304b46", "name": "KO-TH_8", "topic": "zigbee2mqtt/TH_8", "qos": "0", "datatype": "auto-detect", "broker": "c46833d59903b816", "nl": false, "rap": true, "rh": 0, "inputs": 0, "x": 220, "y": 2280, "wires": [ [ "c46bc662805c3ea3" ] ] }, { "id": "d71061b44547a25b", "type": "mqtt in", "z": "86a9e7aa0c304b46", "name": "BA-TH_Mini", "topic": "zigbee2mqtt/Temp_Feuchte_Mini_2", "qos": "0", "datatype": "auto-detect", "broker": "c46833d59903b816", "nl": false, "rap": true, "rh": 0, "inputs": 0, "x": 230, "y": 2460, "wires": [ [ "c46bc662805c3ea3" ] ] }, { "id": "ec3bf322733a6acd", "type": "comment", "z": "86a9e7aa0c304b46", "name": "Daten in Influx- und Mongo-DB", "info": "## Beschreibung\nAlle relevanten Daten einlesen und in die Influx sowie in die MongoDB eintragen\n\n## Version\nVersion | Datum | Author | Bemerkung\n-------|--------|-------|---\nV 1.0 | 2025-06-02 | rxf | erste versionierte Version\n", "x": 190, "y": 40, "wires": [] }, { "id": "78dc562ea48c2e17", "type": "mqtt in", "z": "86a9e7aa0c304b46", "name": "AU-TH_9", "topic": "zigbee2mqtt/TH_9", "qos": "0", "datatype": "auto-detect", "broker": "c46833d59903b816", "nl": false, "rap": true, "rh": 0, "inputs": 0, "x": 220, "y": 2520, "wires": [ [ "c46bc662805c3ea3" ] ] }, { "id": "57a1c06c3e4fa14a", "type": "comment", "z": "86a9e7aa0c304b46", "name": "ging hier mal auf ein chart", "info": "", "x": 810, "y": 840, "wires": [] }, { "id": "e094b15a0b12dd71", "type": "mqtt in", "z": "5bea18a0180b611e", "name": "", "topic": "zigbee2mqtt/BW_Bad", "qos": "0", "datatype": "auto-detect", "broker": "c46833d59903b816", "nl": false, "rap": true, "rh": 0, "inputs": 0, "x": 220, "y": 400, "wires": [ [ "39299c31e4d89e89" ] ] }, { "id": "64c9a0386c6c4bda", "type": "inject", "z": "5bea18a0180b611e", "name": "true", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "{\"occupancy\": true}", "payloadType": "json", "x": 190, "y": 260, "wires": [ [ "db3bdc733260e6d9" ] ] }, { "id": "a7c7d0815a1922cb", "type": "inject", "z": "5bea18a0180b611e", "name": "false", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "{\"occupancy\": false}", "payloadType": "json", "x": 190, "y": 300, "wires": [ [ "db3bdc733260e6d9" ] ] }, { "id": "b503163ce306ae60", "type": "debug", "z": "5bea18a0180b611e", "name": "debug 14", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "true", "targetType": "full", "statusVal": "", "statusType": "auto", "x": 1160, "y": 300, "wires": [] }, { "id": "db3bdc733260e6d9", "type": "function", "z": "5bea18a0180b611e", "name": "detect_motion", "func": "if (msg.payload.occupancy === true) {\n flow.set('motion', true)\n msg.payload = {'state': 'on'}\n} else {\n flow.set('motion', false)\n msg.payload = {'state':'off'}\n}\nmsg.motion = flow.get('motion')\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 800, "y": 280, "wires": [ [ "b503163ce306ae60", "3e15eb6386d83e69" ] ] }, { "id": "ae2040efa33f36eb", "type": "config", "z": "5bea18a0180b611e", "name": "", "properties": [ { "p": "motion", "pt": "flow", "to": "false", "tot": "bool" }, { "p": "timerruns", "pt": "flow", "to": "false", "tot": "bool" } ], "active": true, "x": 210, "y": 140, "wires": [] }, { "id": "3e15eb6386d83e69", "type": "mqtt out", "z": "5bea18a0180b611e", "name": "", "topic": "zigbee2mqtt/Licht_Bad/set", "qos": "0", "retain": "", "respTopic": "", "contentType": "", "userProps": "", "correl": "", "expiry": "", "broker": "c46833d59903b816", "x": 1580, "y": 160, "wires": [] }, { "id": "5a5d4b59103be390", "type": "comment", "z": "5bea18a0180b611e", "name": "Bad Licht ", "info": "## Beschreibung\nSteuerung des Lichtes über den Bewegungsmelder\n* Bei Bewegung das Licht einschalten\n* Wenn der BW-Melder keine Bewegung mehr meldet, Licht wieder ausschalten\n* zusätzlich mit dem ZigBeee-Taster das Lich ausschalten (kurzer Druck) oder einschalten (langer Druck)\nÜber Den ZigBee-Sensor wird die Tewperatur und die Feuchtigkeit erfasst. Mit der Feuchtigkeit wqird der Lüfter gesteuert.\n\n## Versionen\nVersion | Datum | Author| Bemerkungen\n---------|------|-------|--------\nV1.2.0 | 2025-06-09| rxf| Die Messwerte des TH-Sensors werden per MQTT zum CYD gesendet\nV1.1.0 | 2024-08-18 | rxf | Feuchtegrenzen auf 75 - 70\nV1.0.0 | 2024-01-19 | rxf |erste (versionierte) Version", "x": 200, "y": 40, "wires": [] }, { "id": "1c20a44ecff599ce", "type": "comment", "z": "5bea18a0180b611e", "name": "BW-Melder auswerden", "info": "", "x": 860, "y": 320, "wires": [] }, { "id": "864fa5197cfa5346", "type": "comment", "z": "5bea18a0180b611e", "name": "init flow.motion und flow.timerruns", "info": "", "x": 280, "y": 100, "wires": [] }, { "id": "58052a7d6c8599e9", "type": "comment", "z": "5bea18a0180b611e", "name": "Lüftersteuerung", "info": "", "x": 180, "y": 980, "wires": [] }, { "id": "cdf4518bfa30e7e5", "type": "mqtt in", "z": "5bea18a0180b611e", "name": "Get Feuchte (Temp_Feuchte_Mini_1)", "topic": "zigbee2mqtt/Temp_Feuchte_Mini_1", "qos": "0", "datatype": "auto-detect", "broker": "c46833d59903b816", "nl": false, "rap": true, "rh": 0, "inputs": 0, "x": 240, "y": 1120, "wires": [ [ "54605c8c74454a94" ] ] }, { "id": "5c18bf91dba3cc42", "type": "config", "z": "5bea18a0180b611e", "name": "Init Schwellen", "properties": [ { "p": "feuchteH_fix", "pt": "flow", "to": "75", "tot": "num" }, { "p": "feuchteL", "pt": "flow", "to": "70", "tot": "num" }, { "p": "feuchteH", "pt": "flow", "to": "75", "tot": "str" } ], "active": true, "x": 200, "y": 1040, "wires": [] }, { "id": "08509a2c0848ff01", "type": "switch", "z": "5bea18a0180b611e", "name": "Vergleich gg. Schwellen", "property": "payload.humidity", "propertyType": "msg", "rules": [ { "t": "gte", "v": "feuchteH", "vt": "flow" }, { "t": "lte", "v": "feuchteL", "vt": "flow" } ], "checkall": "true", "repair": false, "outputs": 2, "x": 650, "y": 1120, "wires": [ [ "bbf2e3a4222f9f99" ], [ "7fc8a93be966e775" ] ] }, { "id": "ad7ee5e4e67ea173", "type": "trigger", "z": "5bea18a0180b611e", "name": "Lüfter EIN 30min", "op1": "1", "op2": "0", "op1type": "num", "op2type": "num", "duration": "30", "extend": false, "overrideDelay": false, "units": "min", "reset": "", "bytopic": "all", "topic": "topic", "outputs": 1, "x": 1250, "y": 1120, "wires": [ [ "b7d4c57c6f1289c9" ] ] }, { "id": "73c3385ab4453988", "type": "change", "z": "5bea18a0180b611e", "name": "Stop Lüfter", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "0", "tot": "num" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1010, "y": 1260, "wires": [ [ "b7d4c57c6f1289c9" ] ] }, { "id": "44743756141dc419", "type": "function", "z": "5bea18a0180b611e", "name": "Kommando für den Lüfter", "func": "let cmnd = { \"id\": 0, \"src\": \"home66/shellyplus1-Luefter/result\", \"method\": \"Switch.Set\", \"params\": { \"id\": 0, \"on\": true } }\ncmnd.params.on = msg.payload === 0 ? false : true\nmsg.payload = cmnd\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 1650, "y": 1120, "wires": [ [ "72863c87c3f96f89", "c18e34f3d68aaaa8" ] ] }, { "id": "c18e34f3d68aaaa8", "type": "mqtt out", "z": "5bea18a0180b611e", "name": "Luefter", "topic": "home66/shellyplus1-luefter/rpc", "qos": "0", "retain": "false", "respTopic": "", "contentType": "", "userProps": "", "correl": "", "expiry": "", "broker": "c46833d59903b816", "x": 1880, "y": 1120, "wires": [] }, { "id": "a4e2923614139df9", "type": "mqtt in", "z": "5bea18a0180b611e", "name": "Get Fenster-Zustand", "topic": "hm/status/Fenster_BA:1/STATE", "qos": "0", "datatype": "auto-detect", "broker": "c46833d59903b816", "nl": false, "rap": true, "rh": 0, "inputs": 0, "x": 190, "y": 1180, "wires": [ [ "39df9277bba3e49b" ] ] }, { "id": "7bea3b0a9a3fa867", "type": "switch", "z": "5bea18a0180b611e", "name": "Fester AUF ?", "property": "payload.val", "propertyType": "msg", "rules": [ { "t": "neq", "v": "0", "vt": "num" } ], "checkall": "true", "repair": false, "outputs": 1, "x": 610, "y": 1320, "wires": [ [ "7fc8a93be966e775" ] ] }, { "id": "4c621c845cbad50a", "type": "debug", "z": "5bea18a0180b611e", "name": "debug 74", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 520, "y": 1060, "wires": [] }, { "id": "72863c87c3f96f89", "type": "debug", "z": "5bea18a0180b611e", "name": "debug 75", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 1880, "y": 1040, "wires": [] }, { "id": "dd0f0be1678b1a2d", "type": "debug", "z": "5bea18a0180b611e", "name": "debug 77", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 600, "y": 1180, "wires": [] }, { "id": "bbf2e3a4222f9f99", "type": "gate", "z": "5bea18a0180b611e", "name": "Sperre bei Fenster offen", "controlTopic": "control", "defaultState": "open", "openCmd": "open", "closeCmd": "close", "toggleCmd": "toggle", "defaultCmd": "default", "statusCmd": "status", "persist": false, "storeName": "memory", "x": 970, "y": 1120, "wires": [ [ "ad7ee5e4e67ea173" ] ] }, { "id": "c5e47b82a3d54979", "type": "function", "z": "5bea18a0180b611e", "name": "Sperre steuern", "func": "msg.topic = 'control'\nmsg.payload = msg.payload.val === 0 ? 'open' : 'close'\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 620, "y": 1240, "wires": [ [ "bbf2e3a4222f9f99" ] ] }, { "id": "9583b4c1c7b73c86", "type": "change", "z": "5bea18a0180b611e", "name": "", "rules": [ { "t": "set", "p": "reset", "pt": "msg", "to": "true", "tot": "bool" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1000, "y": 1180, "wires": [ [ "ad7ee5e4e67ea173" ] ] }, { "id": "8f20d4e5e473a9fb", "type": "change", "z": "5bea18a0180b611e", "name": "extract Feuchte", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "payload.humidity", "tot": "msg" }, { "t": "set", "p": "topic", "pt": "msg", "to": "feuchte", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 440, "y": 1400, "wires": [ [ "60fc82122d291817", "38a2f01f4edd5cc4" ] ] }, { "id": "96934666499d9111", "type": "change", "z": "5bea18a0180b611e", "name": "extract Temperatur", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "payload.temperature", "tot": "msg" }, { "t": "set", "p": "topic", "pt": "msg", "to": "Temperatur", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 450, "y": 1480, "wires": [ [ "15521b52a7a3ba41" ] ] }, { "id": "39df9277bba3e49b", "type": "delay", "z": "5bea18a0180b611e", "name": "", "pauseType": "rate", "timeout": "5", "timeoutUnits": "seconds", "rate": "1", "nbRateUnits": "3", "rateUnits": "second", "randomFirst": "1", "randomLast": "5", "randomUnits": "seconds", "drop": true, "allowrate": false, "outputs": 1, "x": 360, "y": 1240, "wires": [ [ "44ca85124df5860f" ] ] }, { "id": "62d9999cfa88e04c", "type": "debug", "z": "5bea18a0180b611e", "name": "debug 83", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 840, "y": 1720, "wires": [] }, { "id": "101627ad20bd3221", "type": "inject", "z": "5bea18a0180b611e", "name": "", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "5", "crontab": "", "once": true, "onceDelay": 0.1, "topic": "", "payload": "", "payloadType": "date", "x": 170, "y": 1600, "wires": [ [ "90b71633dbcf0508" ] ] }, { "id": "90b71633dbcf0508", "type": "moment", "z": "5bea18a0180b611e", "name": "", "topic": "", "input": "", "inputType": "msg", "inTz": "Europe/Berlin", "adjAmount": 0, "adjType": "days", "adjDir": "add", "format": "HH:mm dddd, DD.MMMM.YYYY", "locale": "de-DE", "output": "", "outputType": "msg", "outTz": "Europe/Berlin", "x": 540, "y": 1600, "wires": [ [ "62d9999cfa88e04c", "0b22b57891c28178", "cd3d4752f89b88a7" ] ] }, { "id": "0b22b57891c28178", "type": "function", "z": "5bea18a0180b611e", "name": "function 27", "func": "msg.payload = msg.payload.slice(0,5)\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 850, "y": 1600, "wires": [ [ "b66905309b53413c" ] ] }, { "id": "ca109b34a75ebdd8", "type": "ui_text", "z": "5bea18a0180b611e", "group": "51bf0475.ddfd2c", "order": 2, "width": 6, "height": 1, "name": "", "label": "", "format": "{{msg.payload}}", "layout": "row-center", "className": "", "style": false, "font": "", "fontSize": 16, "color": "#000000", "x": 1090, "y": 1660, "wires": [] }, { "id": "cd3d4752f89b88a7", "type": "function", "z": "5bea18a0180b611e", "name": "function 28", "func": "msg.payload = msg.payload.slice(6)\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 850, "y": 1660, "wires": [ [ "ca109b34a75ebdd8" ] ] }, { "id": "9cf37ec3efd343f4", "type": "comment", "z": "5bea18a0180b611e", "name": "Uhrzeit/Datum anzeigen", "info": "", "x": 200, "y": 1540, "wires": [] }, { "id": "7666de38e0c78821", "type": "mqtt in", "z": "5bea18a0180b611e", "name": "", "topic": "zigbee2mqtt/Licht_Sensor", "qos": "0", "datatype": "auto-detect", "broker": "c46833d59903b816", "nl": false, "rap": true, "rh": 0, "inputs": 0, "x": 230, "y": 580, "wires": [ [ "2dca96030ed7400a" ] ] }, { "id": "2dca96030ed7400a", "type": "function", "z": "5bea18a0180b611e", "name": "function 29", "func": "\nconst helltop = 30\nconst hellbot = 29\n\nlet hell = msg.payload.illuminance_lux\nmsg.topic = 'control'\nif (hell >= helltop) {\n msg.payload = 'close'\n} else if (hell <= hellbot) {\n msg.payload = 'open'\n} else {\n msg.payload = ''\n}\nmsg.debug = hell\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 470, "y": 580, "wires": [ [ "97c0459e38d05b12" ] ] }, { "id": "97c0459e38d05b12", "type": "debug", "z": "5bea18a0180b611e", "name": "debug 86", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 700, "y": 540, "wires": [] }, { "id": "12a5d45e8c5c2cd4", "type": "mqtt in", "z": "5bea18a0180b611e", "name": "", "topic": "hm/status/Aussen_Temp:1/HUMIDITY", "qos": "0", "datatype": "auto-detect", "broker": "c46833d59903b816", "nl": false, "rap": true, "rh": 0, "inputs": 0, "x": 570, "y": 1000, "wires": [ [ "a9ca6c0bd73ace79" ] ] }, { "id": "1c622155cfa7829b", "type": "debug", "z": "5bea18a0180b611e", "name": "debug 87", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "true", "targetType": "full", "statusVal": "", "statusType": "auto", "x": 1000, "y": 880, "wires": [] }, { "id": "a9ca6c0bd73ace79", "type": "function", "z": "5bea18a0180b611e", "name": "function 30", "func": "// Wenn die Außen-Feuchte größer als die eingestellte Schwelle ( 70%) ist, \n// die Aussen-Feuchte als Schwelle einstellen. rxf 2024-06-21\nlet aussen = msg.payload.val\nlet FHc = flow.get('feuchteH_fix')\nif (aussen >= FHc) {\n flow.set('feuchteH',aussen)\n} else {\n flow.set('feuchteH',FHc)\n}\nmsg.debug = {'aussen': aussen, 'FH': flow.get('feuchteH')}\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 890, "y": 1000, "wires": [ [ "1c622155cfa7829b" ] ] }, { "id": "7b704165ea73fb53", "type": "inject", "z": "5bea18a0180b611e", "name": "Lüfter OFF", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "0", "payloadType": "num", "x": 1300, "y": 1240, "wires": [ [ "b7d4c57c6f1289c9" ] ] }, { "id": "46ae2c2281786830", "type": "inject", "z": "5bea18a0180b611e", "name": "Lüfter ON", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "1", "payloadType": "num", "x": 1300, "y": 1000, "wires": [ [ "b7d4c57c6f1289c9" ] ] }, { "id": "b66905309b53413c", "type": "ui_text", "z": "5bea18a0180b611e", "group": "51bf0475.ddfd2c", "order": 5, "width": 6, "height": 1, "name": "", "label": "", "format": "{{msg.payload}}", "layout": "row-center", "className": "", "style": false, "font": "", "fontSize": 16, "color": "#000000", "x": 1090, "y": 1600, "wires": [] }, { "id": "de26f47a8e122baa", "type": "inject", "z": "5bea18a0180b611e", "name": "Löschen", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "[]", "payloadType": "json", "x": 180, "y": 1320, "wires": [ [] ] }, { "id": "ba02106d76f177c8", "type": "comment", "z": "5bea18a0180b611e", "name": "Messdaten am CYD senden", "info": "", "x": 480, "y": 840, "wires": [] }, { "id": "6327d8d395b6d0d1", "type": "function", "z": "5bea18a0180b611e", "name": "function 38", "func": "msg.payload = { \"temperature\": msg.payload.temperature, \"humidity\": msg.payload.humidity}\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 430, "y": 900, "wires": [ [ "4d24b528fd30ef07", "7c5937954819772a" ] ] }, { "id": "4d24b528fd30ef07", "type": "mqtt out", "z": "5bea18a0180b611e", "name": "sendMesswertetoCYD", "topic": "CYD/Bad/set/messwerte", "qos": "0", "retain": "", "respTopic": "", "contentType": "", "userProps": "", "correl": "", "expiry": "", "broker": "c46833d59903b816", "x": 700, "y": 900, "wires": [] }, { "id": "7c5937954819772a", "type": "debug", "z": "5bea18a0180b611e", "name": "debug 124", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "true", "targetType": "full", "statusVal": "", "statusType": "auto", "x": 750, "y": 840, "wires": [] }, { "id": "1d61e05b26b9a2e0", "type": "flogger", "z": "5bea18a0180b611e", "name": "Log", "logfile": "bwbad.log", "inputchoice": "object", "inputobject": "payload", "inputobjectType": "msg", "inputmoustache": "Recieved payload {{payload}} and topic {{topic}}", "loglevel": "INFO", "logconfig": "dbdce4bcc146f440", "sendpane": "", "x": 810, "y": 400, "wires": [ [] ] }, { "id": "39299c31e4d89e89", "type": "delay", "z": "5bea18a0180b611e", "name": "", "pauseType": "rate", "timeout": "5", "timeoutUnits": "seconds", "rate": "1", "nbRateUnits": "1", "rateUnits": "second", "randomFirst": "1", "randomLast": "5", "randomUnits": "seconds", "drop": true, "allowrate": false, "outputs": 1, "x": 480, "y": 400, "wires": [ [ "1d61e05b26b9a2e0", "db3bdc733260e6d9" ] ] }, { "id": "2649b15cae8af1a0", "type": "ui-button", "z": "5bea18a0180b611e", "group": "1d0cfd7b0bb56a24", "name": "Licht_aus", "label": "Licht AUS", "order": 8, "width": 0, "height": 0, "emulateClick": false, "tooltip": "", "color": "", "bgcolor": "", "className": "", "icon": "", "iconPosition": "left", "payload": "{\"state\":\"off\"}", "payloadType": "json", "topic": "topic", "topicType": "msg", "buttonColor": "", "textColor": "", "iconColor": "", "enableClick": true, "enablePointerdown": false, "pointerdownPayload": "", "pointerdownPayloadType": "str", "enablePointerup": false, "pointerupPayload": "", "pointerupPayloadType": "str", "x": 1080, "y": 180, "wires": [ [ "3e15eb6386d83e69" ] ] }, { "id": "0dacdd209907f751", "type": "ui-button", "z": "5bea18a0180b611e", "group": "1d0cfd7b0bb56a24", "name": "Licht_ein", "label": "Licht EIN", "order": 7, "width": 0, "height": 0, "emulateClick": false, "tooltip": "", "color": "", "bgcolor": "", "className": "", "icon": "", "iconPosition": "left", "payload": "{\"state\":\"on\"}", "payloadType": "json", "topic": "topic", "topicType": "msg", "buttonColor": "'blue-lighten-3'", "textColor": "'black'", "iconColor": "", "enableClick": true, "enablePointerdown": false, "pointerdownPayload": "", "pointerdownPayloadType": "str", "enablePointerup": false, "pointerupPayload": "", "pointerupPayloadType": "str", "x": 1080, "y": 120, "wires": [ [ "3e15eb6386d83e69" ] ] }, { "id": "5113face4eda8a07", "type": "ui-button", "z": "5bea18a0180b611e", "group": "1d0cfd7b0bb56a24", "name": "Lüfter_ein", "label": "Lüfter EIN", "order": 5, "width": 0, "height": 0, "emulateClick": false, "tooltip": "", "color": "", "bgcolor": "", "className": "", "icon": "", "iconPosition": "left", "payload": "1", "payloadType": "num", "topic": "topic", "topicType": "msg", "buttonColor": "", "textColor": "", "iconColor": "", "enableClick": true, "enablePointerdown": false, "pointerdownPayload": "", "pointerdownPayloadType": "str", "enablePointerup": false, "pointerupPayload": "", "pointerupPayloadType": "str", "x": 920, "y": 1060, "wires": [ [ "ad7ee5e4e67ea173" ] ] }, { "id": "5062e754ed258313", "type": "ui-button", "z": "5bea18a0180b611e", "group": "1d0cfd7b0bb56a24", "name": "Lüfter_aus", "label": "Lüfter AUS", "order": 6, "width": 0, "height": 0, "emulateClick": false, "tooltip": "", "color": "", "bgcolor": "", "className": "", "icon": "", "iconPosition": "left", "payload": "0", "payloadType": "num", "topic": "topic", "topicType": "msg", "buttonColor": "", "textColor": "", "iconColor": "", "enableClick": true, "enablePointerdown": false, "pointerdownPayload": "", "pointerdownPayloadType": "str", "enablePointerup": false, "pointerupPayload": "", "pointerupPayloadType": "str", "x": 930, "y": 1340, "wires": [ [ "7fc8a93be966e775" ] ] }, { "id": "096aebbb6c7858d4", "type": "ui-gauge", "z": "5bea18a0180b611e", "name": "Feuchte", "group": "1d0cfd7b0bb56a24", "order": 1, "width": 3, "height": 3, "gtype": "gauge-half", "gstyle": "needle", "title": "Feuchte", "units": "%", "icon": "", "prefix": "", "suffix": "", "segments": [ { "from": "0", "color": "#5cd65c" }, { "from": "65", "color": "#ffc800" }, { "from": "70", "color": "#ea5353" } ], "min": 0, "max": "100", "sizeThickness": 16, "sizeGap": 4, "sizeKeyThickness": 8, "styleRounded": true, "styleGlow": false, "className": "", "x": 880, "y": 1420, "wires": [ [] ] }, { "id": "0f8cfa583743317f", "type": "ui-gauge", "z": "5bea18a0180b611e", "name": "Temperature", "group": "1d0cfd7b0bb56a24", "order": 2, "width": 3, "height": 3, "gtype": "gauge-half", "gstyle": "needle", "title": "Temp", "units": "°C", "icon": "", "prefix": "", "suffix": "", "segments": [ { "from": "0", "color": "#5cd65c" }, { "from": "20", "color": "#ffc800" }, { "from": "25", "color": "#ea5353" } ], "min": "10", "max": "30", "sizeThickness": 16, "sizeGap": 4, "sizeKeyThickness": 8, "styleRounded": true, "styleGlow": false, "className": "", "x": 890, "y": 1480, "wires": [ [] ] }, { "id": "60fc82122d291817", "type": "ui-chart", "z": "5bea18a0180b611e", "group": "1d0cfd7b0bb56a24", "name": "Feuchte", "label": "Feuchte (6h)", "order": 3, "chartType": "line", "category": "topic", "categoryType": "msg", "xAxisLabel": "", "xAxisProperty": "", "xAxisPropertyType": "timestamp", "xAxisType": "time", "xAxisFormat": "", "xAxisFormatType": "{HH}:{mm}", "xmin": "", "xmax": "", "yAxisLabel": "", "yAxisProperty": "payload", "yAxisPropertyType": "msg", "ymin": "0", "ymax": "100", "bins": 10, "action": "append", "stackSeries": false, "pointShape": "circle", "pointRadius": 4, "showLegend": false, "removeOlder": "6", "removeOlderUnit": "3600", "removeOlderPoints": "", "colors": [ "#0095ff", "#ff0000", "#ff7f0e", "#2ca02c", "#a347e1", "#d62728", "#ff9896", "#9467bd", "#c5b0d5" ], "textColor": [ "#666666" ], "textColorDefault": true, "gridColor": [ "#e5e5e5" ], "gridColorDefault": true, "width": 6, "height": 8, "className": "", "interpolation": "linear", "x": 740, "y": 1380, "wires": [ [] ] }, { "id": "38a2f01f4edd5cc4", "type": "function", "z": "5bea18a0180b611e", "name": "function 62", "func": "msg.payload = Math.round(msg.payload)\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 710, "y": 1420, "wires": [ [ "096aebbb6c7858d4" ] ] }, { "id": "15521b52a7a3ba41", "type": "function", "z": "5bea18a0180b611e", "name": "function 63", "func": "msg.payload = Math.round(msg.payload * 10) / 10\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 710, "y": 1480, "wires": [ [ "0f8cfa583743317f" ] ] }, { "id": "b543ca2dfd61dd85", "type": "ui-text", "z": "5bea18a0180b611e", "group": "1d0cfd7b0bb56a24", "order": 4, "width": "6", "height": "1", "name": "Lüfter EIN/AUS", "label": "Lüfter ist ", "format": "{{msg.payload}}", "layout": "row-center", "style": false, "font": "", "fontSize": 16, "color": "#717171", "wrapText": false, "className": "", "value": "payload", "valueType": "msg", "x": 1900, "y": 1220, "wires": [] }, { "id": "c2f380015ed469c4", "type": "function", "z": "5bea18a0180b611e", "name": "function 70", "func": "msg.payload = msg.payload == 0 ? \"AUS\" : \"EIN\"\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 1630, "y": 1220, "wires": [ [ "b543ca2dfd61dd85" ] ] }, { "id": "43631c7945a1a3d4", "type": "finite-state-machine", "z": "7a4080d8574c7aec", "name": "", "fsmDefinition": "{\"state\":{\"status\":\"OFF\",\"data\":{\"x\":2}},\"transitions\":{\"OFF\":{\"ons\":{\"status\":\"ON\",\"data\":{\"x\":1}},\"inte\":{\"status\":\"DIMUP\",\"data\":{\"x\":3}},\"inta\":\"OFF\",\"offs\":\"OFF\"},\"ON\":{\"offs\":{\"status\":\"OFF\",\"data\":{\"x\":2}},\"inta\":{\"status\":\"DIMDN\",\"data\":{\"x\":4}},\"inte\":\"ON\",\"ons\":\"ON\"},\"DIMUP\":{\"ons\":{\"status\":\"DIMSTOP\",\"data\":{\"x\":5}},\"offs\":{\"status\":\"DIMSTOP\",\"data\":{\"x\":5}},\"inta\":{\"status\":\"DIMDN\",\"data\":{\"x\":4}},\"inte\":\"DIMUP\"},\"DIMDN\":{\"ons\":{\"status\":\"DIMSTOP\",\"data\":{\"x\":5}},\"offs\":{\"status\":\"DIMSTOP\",\"data\":{\"x\":5}},\"inte\":{\"status\":\"DIMUP\",\"data\":{\"x\":6}},\"inta\":\"DIMDN\"},\"DIMSTOP\":{\"offs\":{\"status\":\"OFF\",\"data\":{\"x\":2}},\"inte\":{\"status\":\"DIMUP\",\"data\":{\"x\":6}},\"ons\":{\"status\":\"ON\",\"data\":{\"x\":1}},\"inta\":{\"status\":\"DIMDN\",\"data\":{\"x\":4}}}}}", "sendInitialState": true, "sendStateWithoutChange": false, "showTransitionErrors": true, "x": 580, "y": 840, "wires": [ [ "612a4f20e2182a9c" ] ] }, { "id": "8d41f502dca266de", "type": "debug", "z": "7a4080d8574c7aec", "name": "debug 23", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "true", "targetType": "full", "statusVal": "", "statusType": "auto", "x": 1320, "y": 740, "wires": [] }, { "id": "84c6256c809ac7ae", "type": "inject", "z": "7a4080d8574c7aec", "name": "SET ON", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "ons", "payload": "", "payloadType": "date", "x": 270, "y": 760, "wires": [ [ "43631c7945a1a3d4" ] ] }, { "id": "9652b1cc3b7ec79f", "type": "inject", "z": "7a4080d8574c7aec", "name": "DIM UP", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "inte", "payload": "", "payloadType": "date", "x": 270, "y": 880, "wires": [ [ "43631c7945a1a3d4" ] ] }, { "id": "6d6d89222a3cea69", "type": "inject", "z": "7a4080d8574c7aec", "name": "SET OFF", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "offs", "payload": "", "payloadType": "date", "x": 280, "y": 820, "wires": [ [ "43631c7945a1a3d4" ] ] }, { "id": "fbf197f1684f6b93", "type": "inject", "z": "7a4080d8574c7aec", "name": "DIM DOWN", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "inta", "payload": "", "payloadType": "date", "x": 290, "y": 940, "wires": [ [ "43631c7945a1a3d4" ] ] }, { "id": "612a4f20e2182a9c", "type": "switch", "z": "7a4080d8574c7aec", "name": "", "property": "trigger.topic", "propertyType": "msg", "rules": [ { "t": "eq", "v": "ons", "vt": "str" }, { "t": "eq", "v": "offs", "vt": "str" }, { "t": "eq", "v": "inte", "vt": "str" }, { "t": "eq", "v": "inta", "vt": "str" } ], "checkall": "true", "repair": false, "outputs": 4, "x": 810, "y": 840, "wires": [ [ "1bb091e608dd2ace" ], [ "1bb091e608dd2ace" ], [ "72073df2b886b72a" ], [ "72073df2b886b72a" ] ] }, { "id": "823db4f3eabd9ed9", "type": "inject", "z": "7a4080d8574c7aec", "name": "reset", "props": [ { "p": "control", "v": "reset", "vt": "str" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "x": 270, "y": 640, "wires": [ [ "43631c7945a1a3d4" ] ] }, { "id": "f809e339a2a3808a", "type": "function", "z": "7a4080d8574c7aec", "name": "set commands", "func": "let cmds = [\n {},\n {\"turn\": \"on\", \"brightness\": 100},\n { \"turn\": \"off\", \"brightness\": 20},\n { \"brightness_step_onoff\": \"ON\", \"brightness_step\" : 20},\n { \"brightness_step\": -20 },\n]\nmsg.topic = \"shellies/terassenlichtdimmer/light/0/set\",\nmsg.payload = cmds[msg.payload.data.x]\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 1060, "y": 840, "wires": [ [ "8d41f502dca266de", "d36259b976d8e1b6" ] ] }, { "id": "aadb62d1e501514e", "type": "debug", "z": "7a4080d8574c7aec", "name": "debug 99", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "true", "targetType": "full", "statusVal": "", "statusType": "auto", "x": 1060, "y": 740, "wires": [] }, { "id": "d36259b976d8e1b6", "type": "mqtt out", "z": "7a4080d8574c7aec", "name": "Set Brightness", "topic": "", "qos": "0", "retain": "", "respTopic": "", "contentType": "", "userProps": "", "correl": "", "expiry": "", "broker": "c46833d59903b816", "x": 1380, "y": 840, "wires": [] }, { "id": "2258ca1fe98d9c60", "type": "function", "z": "7a4080d8574c7aec", "name": "Calculate Dimmer Value", "func": "// Hole aktuellen Wert\nlet current = flow.get(\"currentBrightness\");\nlet step = 10;\n\n// if (msg.payload === \"up\") {\nif (msg.payload.data.x === \"3\") {\n current += step;\n// } else if (msg.payload === \"down\") {\n} else if (msg.payload.data.x === \"4\") {\n current -= step;\n}\n\n// Begrenzung\ncurrent = Math.min(100, Math.max(0, current));\n\n// Speichere neuen Wert wieder\nflow.set(\"currentBrightness\", current)\n\n// Sende neuen Wert\nreturn {\n topic: \"shellies/terassenlichtdimmer/light/0/set\",\n payload: JSON.stringify({brightness: current})\n};", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 1090, "y": 920, "wires": [ [ "d36259b976d8e1b6" ] ] }, { "id": "4d22db93cf0e6e0c", "type": "debug", "z": "7a4080d8574c7aec", "name": "debug 103", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "true", "targetType": "full", "statusVal": "", "statusType": "auto", "x": 1050, "y": 980, "wires": [] }, { "id": "dfef00940ec7580f", "type": "mqtt in", "z": "7a4080d8574c7aec", "name": "Get Brightness", "topic": "shellies/terassenlichtdimmer/light/0/status", "qos": "0", "datatype": "json", "broker": "c46833d59903b816", "nl": false, "rap": false, "inputs": 0, "x": 280, "y": 1120, "wires": [ [ "12864d031884af3b" ] ] }, { "id": "68dc958f994b800c", "type": "debug", "z": "7a4080d8574c7aec", "name": "debug 106", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "debug", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 850, "y": 1120, "wires": [] }, { "id": "12864d031884af3b", "type": "function", "z": "7a4080d8574c7aec", "name": "function 33", "func": "flow.set('currentBrightness', msg.payload.brightness);\nmsg.debug = { 'current': flow.get(\"currentBrightness\") };\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 530, "y": 1120, "wires": [ [ "68dc958f994b800c" ] ] }, { "id": "0401edb8829d4114", "type": "mqtt in", "z": "7a4080d8574c7aec", "name": "", "topic": "hm/status/Licht_Terasse_Taster_EZ_AUS:1/#", "qos": "2", "datatype": "auto-detect", "broker": "c46833d59903b816", "nl": false, "rap": true, "rh": 0, "inputs": 0, "x": 330, "y": 220, "wires": [ [ "dcd9fe37c8f6fa3e" ] ] }, { "id": "7d8167ba339056f6", "type": "switch", "z": "7a4080d8574c7aec", "name": "", "property": "topic", "propertyType": "msg", "rules": [ { "t": "regex", "v": "hm/status/Licht_Terasse_Taster_[EW]Z_EIN:2/PRESS_SHORT", "vt": "str", "case": false }, { "t": "regex", "v": "hm/status/Licht_Terasse_Taster_[EW]Z_EIN:2/PRESS_LONG", "vt": "str", "case": false }, { "t": "regex", "v": "hm/status/Licht_Terasse_Taster_[EW]Z_AUS:1/PRESS_SHORT", "vt": "str", "case": false }, { "t": "regex", "v": "hm/status/Licht_Terasse_Taster_[EW]Z_AUS:1/PRESS_LONG", "vt": "str", "case": false }, { "t": "regex", "v": "hm/status/Fernbedienung_EZ:3/PRESS_SHORT", "vt": "str", "case": false }, { "t": "regex", "v": "hm/status/Fernbedienung_EZ:4/PRESS_SHORT", "vt": "str", "case": false } ], "checkall": "true", "repair": false, "outputs": 6, "x": 650, "y": 540, "wires": [ [ "7f14dc9af27f8bd1" ], [ "2ae860a36fb049e5" ], [ "61d54e74a7994032" ], [ "d191446223eaab19" ], [ "7f14dc9af27f8bd1" ], [ "61d54e74a7994032" ] ] }, { "id": "7f14dc9af27f8bd1", "type": "change", "z": "7a4080d8574c7aec", "name": "set ons", "rules": [ { "t": "set", "p": "topic", "pt": "msg", "to": "ons", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1060, "y": 440, "wires": [ [ "21431dc5a7600959" ] ] }, { "id": "61d54e74a7994032", "type": "change", "z": "7a4080d8574c7aec", "name": "set offs", "rules": [ { "t": "set", "p": "topic", "pt": "msg", "to": "offs", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1060, "y": 520, "wires": [ [ "21431dc5a7600959" ] ] }, { "id": "2ae860a36fb049e5", "type": "change", "z": "7a4080d8574c7aec", "name": "set inte", "rules": [ { "t": "set", "p": "topic", "pt": "msg", "to": "inte", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1060, "y": 480, "wires": [ [ "21431dc5a7600959" ] ] }, { "id": "d191446223eaab19", "type": "change", "z": "7a4080d8574c7aec", "name": "set inta", "rules": [ { "t": "set", "p": "topic", "pt": "msg", "to": "inta", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1060, "y": 560, "wires": [ [ "21431dc5a7600959" ] ] }, { "id": "044e9a90c4c664af", "type": "debug", "z": "7a4080d8574c7aec", "name": "debug 24", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "true", "targetType": "full", "statusVal": "", "statusType": "auto", "x": 1360, "y": 400, "wires": [] }, { "id": "60241be912584962", "type": "comment", "z": "7a4080d8574c7aec", "name": "Einlesen der Taste(n) und entsprechend schalten", "info": "", "x": 340, "y": 80, "wires": [] }, { "id": "ddd298fb94173ac0", "type": "comment", "z": "7a4080d8574c7aec", "name": "Zustand der Lampen erfassen und speichern", "info": "", "x": 370, "y": 1060, "wires": [] }, { "id": "c65ab1792c3c7187", "type": "debug", "z": "7a4080d8574c7aec", "name": "debug 112", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "topic", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 610, "y": 120, "wires": [] }, { "id": "d8eb30b64b6f498d", "type": "mqtt in", "z": "7a4080d8574c7aec", "name": "", "topic": "hm/status/Licht_Terasse_Taster_EZ_EIN:2/#", "qos": "2", "datatype": "auto-detect", "broker": "c46833d59903b816", "nl": false, "rap": true, "rh": 0, "inputs": 0, "x": 330, "y": 280, "wires": [ [ "dcd9fe37c8f6fa3e" ] ] }, { "id": "5f8734fdd567239b", "type": "mqtt in", "z": "7a4080d8574c7aec", "name": "", "topic": "hm/status/Licht_Terasse_Taster_WZ_AUS:1/#", "qos": "2", "datatype": "auto-detect", "broker": "c46833d59903b816", "nl": false, "rap": true, "rh": 0, "inputs": 0, "x": 330, "y": 340, "wires": [ [ "dcd9fe37c8f6fa3e" ] ] }, { "id": "a94c889f77ae36e8", "type": "mqtt in", "z": "7a4080d8574c7aec", "name": "", "topic": "hm/status/Licht_Terasse_Taster_WZ_EIN:2/#", "qos": "2", "datatype": "auto-detect", "broker": "c46833d59903b816", "nl": false, "rap": true, "rh": 0, "inputs": 0, "x": 330, "y": 400, "wires": [ [ "dcd9fe37c8f6fa3e" ] ] }, { "id": "f015cb3114009f49", "type": "gate", "z": "7a4080d8574c7aec", "name": "Sperre 500ms ab start", "controlTopic": "control", "defaultState": "closed", "openCmd": "open", "closeCmd": "close", "toggleCmd": "toggle", "defaultCmd": "default", "statusCmd": "status", "persist": false, "storeName": "memory", "x": 860, "y": 320, "wires": [ [ "7d8167ba339056f6" ] ] }, { "id": "64d85bf30e7f9328", "type": "inject", "z": "7a4080d8574c7aec", "name": "", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "", "crontab": "", "once": true, "onceDelay": "0.5", "topic": "control", "payload": "open", "payloadType": "str", "x": 730, "y": 180, "wires": [ [ "f015cb3114009f49" ] ] }, { "id": "a78e77b1cac64c85", "type": "comment", "z": "7a4080d8574c7aec", "name": "Versions", "info": "### 2025-04-16 \n - Lampen via shelly-dimmer (WLAN) steuern\n - vorerst KEIN dimmen", "x": 260, "y": 1720, "wires": [] }, { "id": "c939d013db672b80", "type": "mqtt in", "z": "7a4080d8574c7aec", "name": "", "topic": "hm/status/BW-Melder_Hausecke_Werte/BRIGHTNESS", "qos": "2", "datatype": "auto-detect", "broker": "c46833d59903b816", "nl": false, "rap": true, "rh": 0, "inputs": 0, "x": 400, "y": 1460, "wires": [ [ "d05c8f7232adabb9", "e4ca623718246f41" ] ] }, { "id": "4772b066d7878d2a", "type": "function", "z": "7a4080d8574c7aec", "name": "Bewegung und Helligkeit erfassen", "func": "if (msg.payload.val == true) {\n let zeit = new Date()\n let hours = zeit.getHours()\n let bright = flow.get(\"bwbright\")\n if (((bright <=45) && (hours >=12) || (bright <= 25) )) {\n msg.topic = \"ons\"\n } else {\n msg = {}\n return\n }\n}\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 820, "y": 1520, "wires": [ [ "33712bfc21d053b2", "a850e42af835643c", "57bf4f05da232301" ] ] }, { "id": "4832fc2a7e967204", "type": "config", "z": "7a4080d8574c7aec", "name": "", "properties": [ { "p": "bwbright", "pt": "flow", "to": "255", "tot": "num" } ], "active": true, "x": 270, "y": 1400, "wires": [] }, { "id": "d05c8f7232adabb9", "type": "change", "z": "7a4080d8574c7aec", "name": "", "rules": [ { "t": "set", "p": "bwbright", "pt": "flow", "to": "payload.val", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 770, "y": 1460, "wires": [ [] ] }, { "id": "453a30dad029b1c1", "type": "mqtt in", "z": "7a4080d8574c7aec", "name": "", "topic": "hm/status/BW-Melder_Hausecke_Werte/MOTION", "qos": "2", "datatype": "auto-detect", "broker": "c46833d59903b816", "nl": false, "rap": true, "rh": 0, "inputs": 0, "x": 390, "y": 1520, "wires": [ [ "4772b066d7878d2a", "d2fb71c033187a21" ] ] }, { "id": "f417dbeef1ec1c99", "type": "link in", "z": "7a4080d8574c7aec", "name": "link2FSM", "links": [ "33712bfc21d053b2", "5b7afc64acaa87a3", "5036edec1efbf944" ], "x": 345, "y": 1000, "wires": [ [ "43631c7945a1a3d4" ] ] }, { "id": "33712bfc21d053b2", "type": "link out", "z": "7a4080d8574c7aec", "name": "linkfromBW", "mode": "link", "links": [ "f417dbeef1ec1c99" ], "x": 1055, "y": 1520, "wires": [] }, { "id": "a850e42af835643c", "type": "delay", "z": "7a4080d8574c7aec", "name": "", "pauseType": "delay", "timeout": "2", "timeoutUnits": "minutes", "rate": "1", "nbRateUnits": "1", "rateUnits": "second", "randomFirst": "1", "randomLast": "5", "randomUnits": "seconds", "drop": false, "allowrate": false, "outputs": 1, "x": 780, "y": 1640, "wires": [ [ "f2123b748d136d35" ] ] }, { "id": "f2123b748d136d35", "type": "change", "z": "7a4080d8574c7aec", "name": "", "rules": [ { "t": "set", "p": "topic", "pt": "msg", "to": "offs", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 980, "y": 1640, "wires": [ [ "5b7afc64acaa87a3" ] ] }, { "id": "5b7afc64acaa87a3", "type": "link out", "z": "7a4080d8574c7aec", "name": "link out 1", "mode": "link", "links": [ "f417dbeef1ec1c99" ], "x": 1135, "y": 1640, "wires": [] }, { "id": "5036edec1efbf944", "type": "link out", "z": "7a4080d8574c7aec", "name": "link out 2", "mode": "link", "links": [ "f417dbeef1ec1c99" ], "x": 1415, "y": 500, "wires": [] }, { "id": "e4ca623718246f41", "type": "debug", "z": "7a4080d8574c7aec", "name": "debug 116", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 770, "y": 1380, "wires": [] }, { "id": "d2fb71c033187a21", "type": "debug", "z": "7a4080d8574c7aec", "name": "debug 117", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 750, "y": 1700, "wires": [] }, { "id": "57bf4f05da232301", "type": "debug", "z": "7a4080d8574c7aec", "name": "debug 118", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "true", "targetType": "full", "statusVal": "", "statusType": "auto", "x": 1090, "y": 1400, "wires": [] }, { "id": "d60cab7f2cab4c92", "type": "mqtt in", "z": "32e861899dcd9239", "name": "", "topic": "hm/status/Waschmaschine_Messwerte/POWER", "qos": "0", "datatype": "auto-detect", "broker": "c46833d59903b816", "nl": false, "rap": true, "rh": 0, "inputs": 0, "x": 280, "y": 160, "wires": [ [] ] }, { "id": "5c83b51c60782513", "type": "mqtt in", "z": "32e861899dcd9239", "name": "", "topic": "hm/status/Trockner_Messwerte/POWER", "qos": "0", "datatype": "auto-detect", "broker": "c46833d59903b816", "nl": false, "rap": true, "rh": 0, "inputs": 0, "x": 260, "y": 320, "wires": [ [] ] }, { "id": "64a29e1d4b5956bf", "type": "trigger", "z": "32e861899dcd9239", "name": "", "op1": "", "op2": "0.5,1,60,1", "op1type": "nul", "op2type": "str", "duration": "10", "extend": true, "overrideDelay": false, "units": "s", "reset": "", "bytopic": "all", "topic": "topic", "outputs": 1, "x": 1010, "y": 140, "wires": [ [ "7cd4a894e2e7af94", "e2fefc7a04ba05bd", "17e982a92338ea0d", "29643ede22f9f99e" ] ] }, { "id": "b0db50ff9e196beb", "type": "switch", "z": "32e861899dcd9239", "name": "", "property": "payload.val", "propertyType": "msg", "rules": [ { "t": "gte", "v": "10", "vt": "str" }, { "t": "eq", "v": "0", "vt": "str" }, { "t": "else" } ], "checkall": "true", "repair": false, "outputs": 3, "x": 670, "y": 160, "wires": [ [ "64a29e1d4b5956bf" ], [ "a5ca5c36a9f4e32d", "6443a894ab9e0832" ], [] ] }, { "id": "a5ca5c36a9f4e32d", "type": "debug", "z": "32e861899dcd9239", "name": "debug 51", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 960, "y": 200, "wires": [] }, { "id": "7cd4a894e2e7af94", "type": "debug", "z": "32e861899dcd9239", "name": "debug 52", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 1300, "y": 140, "wires": [] }, { "id": "29643ede22f9f99e", "type": "mqtt out", "z": "32e861899dcd9239", "name": "", "topic": "hm/set/MP3_Funkgong_Lautsprecher:2/SUBMIT", "qos": "0", "retain": "", "respTopic": "", "contentType": "", "userProps": "", "correl": "", "expiry": "", "broker": "c46833d59903b816", "x": 1610, "y": 240, "wires": [] }, { "id": "85682833ed51a630", "type": "mqtt out", "z": "32e861899dcd9239", "name": "", "topic": "hm/set/MP3_Funkgong_LED:1/SUBMIT", "qos": "0", "retain": "", "respTopic": "", "contentType": "", "userProps": "", "correl": "", "expiry": "", "broker": "c46833d59903b816", "x": 1580, "y": 400, "wires": [] }, { "id": "56f138c8f45a9671", "type": "inject", "z": "32e861899dcd9239", "name": "", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "", "payloadType": "date", "x": 800, "y": 60, "wires": [ [ "64a29e1d4b5956bf", "66801bd1f3c5265b" ] ] }, { "id": "66801bd1f3c5265b", "type": "debug", "z": "32e861899dcd9239", "name": "debug 53", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 1180, "y": 60, "wires": [] }, { "id": "e2fefc7a04ba05bd", "type": "change", "z": "32e861899dcd9239", "name": "", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "1,10,108000,18", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1280, "y": 400, "wires": [ [ "85682833ed51a630" ] ] }, { "id": "fd5f3e59ca66b2b5", "type": "change", "z": "32e861899dcd9239", "name": "", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "1,0,108000,18", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1280, "y": 480, "wires": [ [ "85682833ed51a630" ] ] }, { "id": "17e982a92338ea0d", "type": "trigger", "z": "32e861899dcd9239", "name": "", "op1": "true", "op2": "0", "op1type": "bool", "op2type": "str", "duration": "-10", "extend": false, "overrideDelay": false, "units": "s", "reset": "", "bytopic": "all", "topic": "topic", "outputs": 1, "x": 870, "y": 540, "wires": [ [ "e2fefc7a04ba05bd", "57af589ae07099a6" ] ] }, { "id": "6443a894ab9e0832", "type": "function", "z": "32e861899dcd9239", "name": "function 22", "func": "msg.reset=true\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 770, "y": 340, "wires": [ [] ] }, { "id": "57af589ae07099a6", "type": "debug", "z": "32e861899dcd9239", "name": "debug 54", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 1100, "y": 640, "wires": [] }, { "id": "250ee9f1d0857360", "type": "cronplus", "z": "85bb16dbe6fb391c", "name": "", "outputField": "payload", "timeZone": "", "storeName": "", "commandResponseMsgOutput": "output1", "defaultLocation": "", "defaultLocationType": "default", "outputs": 1, "options": [ { "name": "schedule1", "topic": "topic1", "payloadType": "default", "payload": "", "expressionType": "solar", "expression": "0 * * * * * *", "location": "48.776826823252065 9.12689208984375", "offset": "1", "solarType": "selected", "solarEvents": "sunset" } ], "x": 300, "y": 240, "wires": [ [ "f5f74747f3241572", "b4044b0b254cdb10", "98a6e8131db36434", "dff4436ff2609e04", "6628459ca05fbb46" ] ] }, { "id": "f5f74747f3241572", "type": "debug", "z": "85bb16dbe6fb391c", "name": "debug 56", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 600, "y": 180, "wires": [] }, { "id": "f6eb416d29c11459", "type": "cronplus", "z": "85bb16dbe6fb391c", "name": "", "outputField": "payload", "timeZone": "Europe/Berlin", "storeName": "", "commandResponseMsgOutput": "output1", "defaultLocation": "48.804783197350694 9.19624328613281", "defaultLocationType": "fixed", "outputs": 1, "options": [ { "name": "schedule1", "topic": "topic1", "payloadType": "bool", "payload": "true", "expressionType": "cron", "expression": "0 01 8 * * * *", "location": "48.776826823252065 9.12689208984375", "offset": "1", "solarType": "selected", "solarEvents": "sunset" } ], "x": 300, "y": 640, "wires": [ [ "4fe48863da435da3", "e539eb3078484934", "b1af785904e1d579" ] ] }, { "id": "4fe48863da435da3", "type": "debug", "z": "85bb16dbe6fb391c", "name": "debug 57", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 600, "y": 580, "wires": [] }, { "id": "b4044b0b254cdb10", "type": "change", "z": "85bb16dbe6fb391c", "name": "", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "{\"value\": true}", "tot": "json" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 620, "y": 240, "wires": [ [ "da4e75e34226398c" ] ] }, { "id": "da4e75e34226398c", "type": "mqtt out", "z": "85bb16dbe6fb391c", "name": "Rollladen RUNTER", "topic": "hm/set/HM-RCV-50 BidCoS-RF:14/PRESS_SHORT", "qos": "0", "retain": "false", "respTopic": "", "contentType": "", "userProps": "", "correl": "", "expiry": "", "broker": "c46833d59903b816", "x": 910, "y": 240, "wires": [] }, { "id": "e539eb3078484934", "type": "change", "z": "85bb16dbe6fb391c", "name": "", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "{\"value\": true}", "tot": "json" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 620, "y": 640, "wires": [ [ "6115b6432e6d7331" ] ] }, { "id": "6115b6432e6d7331", "type": "mqtt out", "z": "85bb16dbe6fb391c", "name": "Rollladen HOCH", "topic": "hm/set/HM-RCV-50 BidCoS-RF:15/PRESS_SHORT", "qos": "0", "retain": "false", "respTopic": "", "contentType": "", "userProps": "", "correl": "", "expiry": "", "broker": "c46833d59903b816", "x": 900, "y": 640, "wires": [] }, { "id": "98a6e8131db36434", "type": "change", "z": "85bb16dbe6fb391c", "name": "WZ RUNTER", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "{\"state\": \"CLOSE\"}", "tot": "json" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 610, "y": 380, "wires": [ [ "a6381ef4be3a869b" ] ] }, { "id": "651da90bdb2f954f", "type": "mqtt out", "z": "85bb16dbe6fb391c", "name": "Rollladen_WZ_Terasse", "topic": "zigbee2mqtt/Rollladen_WZ_Terasse/set", "qos": "0", "retain": "false", "respTopic": "", "contentType": "", "userProps": "", "correl": "", "expiry": "", "broker": "c46833d59903b816", "x": 1040, "y": 420, "wires": [] }, { "id": "37f655dd992a96e1", "type": "mqtt in", "z": "85bb16dbe6fb391c", "name": "Terassen_Tuere_WZ", "topic": "hm/status/Tuere_EZ_Terasse:1/STATE", "qos": "0", "datatype": "auto-detect", "broker": "c46833d59903b816", "nl": false, "rap": true, "rh": 0, "inputs": 0, "x": 310, "y": 1080, "wires": [ [ "5fcda4ffe01eac84", "a9c14e6b70e1a25c" ] ] }, { "id": "5fcda4ffe01eac84", "type": "debug", "z": "85bb16dbe6fb391c", "name": "debug 58", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 520, "y": 1020, "wires": [] }, { "id": "a9c14e6b70e1a25c", "type": "function", "z": "85bb16dbe6fb391c", "name": "set wz_tuere", "func": "flow.set('wz_tuere',msg.payload.val === 0 ? 'closed' : 'open')\nreturn", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 530, "y": 1080, "wires": [ [] ] }, { "id": "dff4436ff2609e04", "type": "function", "z": "85bb16dbe6fb391c", "name": "Sperre bei Tuere offen", "func": "let wz_tuere = flow.get('wz_tuere')\nif(wz_tuere === 'closed') {\n msg.payload = {'level': 0}\n return msg\n}\nreturn", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 640, "y": 300, "wires": [ [ "c1b26f635fca8471", "eddf32b9553b7bf7" ] ] }, { "id": "c3f624e89f905286", "type": "mqtt out", "z": "85bb16dbe6fb391c", "name": "Terasse_EZ_Rollladen RUNTER", "topic": "hm/set/Rollladen_EZ_Terasse:1/LEVEL", "qos": "0", "retain": "false", "respTopic": "", "contentType": "", "userProps": "", "correl": "", "expiry": "", "broker": "c46833d59903b816", "x": 1130, "y": 300, "wires": [] }, { "id": "3b1689d24cfe558c", "type": "config", "z": "85bb16dbe6fb391c", "name": "", "properties": [ { "p": "wz_tuere", "pt": "flow", "to": "closed", "tot": "str" } ], "active": true, "x": 290, "y": 440, "wires": [] }, { "id": "c1b26f635fca8471", "type": "debug", "z": "85bb16dbe6fb391c", "name": "debug 59", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 880, "y": 180, "wires": [] }, { "id": "8becdfb004ab2930", "type": "comment", "z": "85bb16dbe6fb391c", "name": "Init wz_tuere mit 'closed'", "info": "", "x": 330, "y": 400, "wires": [] }, { "id": "22510f7142a2b49c", "type": "comment", "z": "85bb16dbe6fb391c", "name": "Rollladen RUNTER fahren", "info": "", "x": 330, "y": 180, "wires": [] }, { "id": "22e2b8a1fe59d08e", "type": "comment", "z": "85bb16dbe6fb391c", "name": "Rollladen RAUF fahren", "info": "", "x": 320, "y": 580, "wires": [] }, { "id": "4522c4d09b388471", "type": "comment", "z": "85bb16dbe6fb391c", "name": "Rollladen Steuerung", "info": "## Beschreibung\nAlle Rollläden nach Zeit auf und zu fahren. Bei Esszimmer-TerassenTüre Sperre beachten: wenn Türe offen, dann **nicht** fahren. \nZusätzlich EZ und WZ per Hand mit der FB\n\n**Zeiten:** \n* Morgens um 8:01 AUF fahren, außer SZ\n* SZ um 10:01 AUF fahren\n* alle mit Sonnenuntergang ZU fahren\n\n## Version\nVersion | Datum | Author | Bemerkung\n-------|--------|-------|---\nV 1.2 | 2025-06-14 | rxf | WZ via FB dazu\nV 1.1 | 2024-01-19 | rxf | SZ später AUF\nV 1.0 | 2024-01-18 | rxf | erste lauffähige Version\n", "x": 310, "y": 40, "wires": [] }, { "id": "eddf32b9553b7bf7", "type": "delay", "z": "85bb16dbe6fb391c", "name": "", "pauseType": "delay", "timeout": "1", "timeoutUnits": "seconds", "rate": "1", "nbRateUnits": "1", "rateUnits": "second", "randomFirst": "1", "randomLast": "5", "randomUnits": "seconds", "drop": false, "allowrate": false, "outputs": 1, "x": 880, "y": 300, "wires": [ [ "c3f624e89f905286" ] ] }, { "id": "b1af785904e1d579", "type": "change", "z": "85bb16dbe6fb391c", "name": "WZ RAUF", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "{\"state\": \"OPEN\"}", "tot": "json" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 600, "y": 460, "wires": [ [ "a6381ef4be3a869b" ] ] }, { "id": "8ece69214fcd72b8", "type": "comment", "z": "85bb16dbe6fb391c", "name": "Zustand WZ_Tuere in die Variable flow.wz_tuere übernehmen", "info": "", "x": 440, "y": 980, "wires": [] }, { "id": "2e16b8205b7ff65e", "type": "cronplus", "z": "85bb16dbe6fb391c", "name": "", "outputField": "payload", "timeZone": "Europe/Berlin", "storeName": "", "commandResponseMsgOutput": "output1", "defaultLocation": "48.804783197350694 9.19624328613281", "defaultLocationType": "fixed", "outputs": 1, "options": [ { "name": "schedule1", "topic": "topic1", "payloadType": "bool", "payload": "true", "expressionType": "cron", "expression": "0 01 10 * * * *", "location": "48.776826823252065 9.12689208984375", "offset": "1", "solarType": "selected", "solarEvents": "sunset" } ], "x": 300, "y": 840, "wires": [ [ "a82c0e12257e5658" ] ] }, { "id": "a82c0e12257e5658", "type": "change", "z": "85bb16dbe6fb391c", "name": "", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "{\"value\": true}", "tot": "json" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 620, "y": 840, "wires": [ [ "949513f21e37f3a0" ] ] }, { "id": "949513f21e37f3a0", "type": "mqtt out", "z": "85bb16dbe6fb391c", "name": "Rollladen_SZ HOCH", "topic": "hm/set/HM-RCV-50 BidCoS-RF:16/PRESS_SHORT", "qos": "0", "retain": "false", "respTopic": "", "contentType": "", "userProps": "", "correl": "", "expiry": "", "broker": "c46833d59903b816", "x": 920, "y": 840, "wires": [] }, { "id": "169651885ddf2042", "type": "comment", "z": "85bb16dbe6fb391c", "name": "Schalfzimmer / Küche Rollladen später RAUF fahren", "info": "", "x": 410, "y": 780, "wires": [] }, { "id": "4908d84ea02b3ac6", "type": "comment", "z": "85bb16dbe6fb391c", "name": "ACHTUNG: wz_tuer muss ez_tuere heißen !!", "info": "", "x": 1030, "y": 580, "wires": [] }, { "id": "97aed912c480bc99", "type": "mqtt out", "z": "85bb16dbe6fb391c", "name": "Rollladen_EZ_Fenster", "topic": "zigbee2mqtt/Rollladen_EZ_Fenster/set", "qos": "0", "retain": "false", "respTopic": "", "contentType": "", "userProps": "", "correl": "", "expiry": "", "broker": "c46833d59903b816", "x": 1040, "y": 480, "wires": [] }, { "id": "e6fccfc16daf4a4a", "type": "comment", "z": "85bb16dbe6fb391c", "name": "Rollladen Esszimmer per Hand mit FB steuern", "info": "Rollladen Esszimmer per Hand mit FB steuern\n", "x": 390, "y": 1200, "wires": [] }, { "id": "7e7f4612c52ecd10", "type": "mqtt in", "z": "85bb16dbe6fb391c", "name": "", "topic": "hm/status/Fernbedienung_EZ:6/PRESS_SHORT", "qos": "2", "datatype": "auto-detect", "broker": "c46833d59903b816", "nl": false, "rap": true, "rh": 0, "inputs": 0, "x": 260, "y": 1380, "wires": [ [ "d0fc562e3e042ec2", "f3b518c46df5c580" ] ] }, { "id": "4a7b886cc55c59ef", "type": "mqtt out", "z": "85bb16dbe6fb391c", "name": "Rollladen_EZ_Fenster", "topic": "zigbee2mqtt/Rollladen_EZ_Fenster/set", "qos": "0", "retain": "false", "respTopic": "", "contentType": "", "userProps": "", "correl": "", "expiry": "", "broker": "c46833d59903b816", "x": 1180, "y": 1400, "wires": [] }, { "id": "c313fd79c83682d8", "type": "comment", "z": "85bb16dbe6fb391c", "name": "Init mv_up und mv_down auf 'false'", "info": "", "x": 440, "y": 1240, "wires": [] }, { "id": "a99f7f8ffd5d3b1f", "type": "config", "z": "85bb16dbe6fb391c", "name": "", "properties": [ { "p": "mv_down", "pt": "flow", "to": "false", "tot": "bool" }, { "p": "mv_up", "pt": "flow", "to": "false", "tot": "bool" } ], "active": true, "x": 370, "y": 1280, "wires": [] }, { "id": "d0fc562e3e042ec2", "type": "function", "z": "85bb16dbe6fb391c", "name": "function 34", "func": "msg.debug = { \"down\": flow.get(\"mv_down\"), \"up\": flow.get(\"mv_up\") }\nif (flow.get(\"mv_down\")) {\n flow.set(\"mv_down\", false)\n msg.payload = {\"state\": \"STOP\"}\n} else {\n flow.set(\"mv_down\", true)\n flow.set(\"mv_up\", false)\n msg.payload = { \"state\": \"CLOSE\" }\n}\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 610, "y": 1380, "wires": [ [ "b4d4592c5aa03410" ] ] }, { "id": "18194a1929c92902", "type": "function", "z": "85bb16dbe6fb391c", "name": "function 35", "func": "msg.debug = { \"down\": flow.get(\"mv_down\"), \"up\": flow.get(\"mv_up\") }\nif (flow.get(\"mv_up\")) {\n flow.set(\"mv_up\", false)\n msg.payload = {\"state\": \"STOP\"}\n} else {\n flow.set(\"mv_up\", true)\n flow.set(\"mv_down\", false)\n msg.payload = { \"state\": \"OPEN\" }\n}\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 610, "y": 1440, "wires": [ [ "b4d4592c5aa03410" ] ] }, { "id": "321074393c65012a", "type": "debug", "z": "85bb16dbe6fb391c", "name": "debug 120", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "true", "targetType": "full", "statusVal": "", "statusType": "auto", "x": 950, "y": 1320, "wires": [] }, { "id": "f3b518c46df5c580", "type": "debug", "z": "85bb16dbe6fb391c", "name": "debug 121", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 610, "y": 1320, "wires": [] }, { "id": "a6a991677946f29a", "type": "debug", "z": "85bb16dbe6fb391c", "name": "debug 122", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 610, "y": 1500, "wires": [] }, { "id": "2a16e8007850444c", "type": "comment", "z": "85bb16dbe6fb391c", "name": "Rollladen Terasse Wohnzimmer per Hand mit FB steuern", "info": "Rollladen Esszimmer per Hand mit FB steuern\n", "x": 430, "y": 1600, "wires": [] }, { "id": "8e6b4c1289347aee", "type": "mqtt in", "z": "85bb16dbe6fb391c", "name": "", "topic": "hm/status/#", "qos": "2", "datatype": "auto-detect", "broker": "c46833d59903b816", "nl": false, "rap": true, "rh": 0, "inputs": 0, "x": 290, "y": 1780, "wires": [ [ "72d506b0ee3d6235", "e177b4e42bf5e579" ] ] }, { "id": "72d506b0ee3d6235", "type": "switch", "z": "85bb16dbe6fb391c", "name": "", "property": "topic", "propertyType": "msg", "rules": [ { "t": "regex", "v": "hm/status/Fernbedienung_WZ:6/PRESS_SHORT", "vt": "str", "case": false }, { "t": "regex", "v": "hm/status/Fernbedienung_WZ:5/PRESS_SHORT", "vt": "str", "case": false } ], "checkall": "true", "repair": false, "outputs": 2, "x": 530, "y": 1780, "wires": [ [ "32d56f9caeabe77d", "1b92472304349d6e" ], [ "cc879229bc85c5d6", "d2e53cb53b6b93c3" ] ] }, { "id": "44044d80bc651c59", "type": "comment", "z": "85bb16dbe6fb391c", "name": "Init mv_upW und mv_downW auf 'false'", "info": "", "x": 430, "y": 1640, "wires": [] }, { "id": "4d4d7bde15354a25", "type": "config", "z": "85bb16dbe6fb391c", "name": "", "properties": [ { "p": "mv_downW", "pt": "flow", "to": "false", "tot": "bool" }, { "p": "mv_upW", "pt": "flow", "to": "false", "tot": "bool" } ], "active": true, "x": 350, "y": 1680, "wires": [] }, { "id": "32d56f9caeabe77d", "type": "function", "z": "85bb16dbe6fb391c", "name": "function 41", "func": "if (flow.get(\"mv_downW\")) {\n flow.set(\"mv_downW\", false)\n msg.payload = {\"state\": \"STOP\"}\n} else {\n flow.set(\"mv_downW\", true)\n msg.payload = { \"state\": \"CLOSE\" }\n}\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 790, "y": 1740, "wires": [ [ "443f14b7b45672c6" ] ] }, { "id": "cc879229bc85c5d6", "type": "function", "z": "85bb16dbe6fb391c", "name": "function 42", "func": "if (flow.get(\"mv_upW\")) {\n flow.set(\"mv_upW\", false)\n msg.payload = {\"state\": \"STOP\"}\n} else {\n flow.set(\"mv_upW\", true)\n msg.payload = { \"state\": \"OPEN\" }\n}\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 790, "y": 1800, "wires": [ [ "443f14b7b45672c6" ] ] }, { "id": "b019206106626e9e", "type": "debug", "z": "85bb16dbe6fb391c", "name": "debug 127", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 1150, "y": 1660, "wires": [] }, { "id": "1b92472304349d6e", "type": "debug", "z": "85bb16dbe6fb391c", "name": "debug 128", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 770, "y": 1640, "wires": [] }, { "id": "d2e53cb53b6b93c3", "type": "debug", "z": "85bb16dbe6fb391c", "name": "debug 129", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 790, "y": 1900, "wires": [] }, { "id": "e177b4e42bf5e579", "type": "debug", "z": "85bb16dbe6fb391c", "name": "debug 130", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 470, "y": 1880, "wires": [] }, { "id": "ff14f67020e558bc", "type": "mqtt out", "z": "85bb16dbe6fb391c", "name": "Terasse_WZ_Rollladen", "topic": "zigbee2mqtt/Terasse_WZ_Rollladen/set", "qos": "0", "retain": "false", "respTopic": "", "contentType": "", "userProps": "", "correl": "", "expiry": "", "broker": "c46833d59903b816", "x": 1180, "y": 1760, "wires": [] }, { "id": "4785a5b4933cd3fe", "type": "mqtt out", "z": "85bb16dbe6fb391c", "name": "Rolladen_WZ_groß", "topic": "zigbee2mqtt/Rollladen_WZ_groß/set", "qos": "0", "retain": "false", "respTopic": "", "contentType": "", "userProps": "", "correl": "", "expiry": "", "broker": "c46833d59903b816", "x": 1030, "y": 360, "wires": [] }, { "id": "4aa20b1fba84c75d", "type": "comment", "z": "85bb16dbe6fb391c", "name": "Rollladen Wohnzimmer_groß per Hand mit FB steuern", "info": "Rollladen Esszimmer per Hand mit FB steuern\n", "x": 420, "y": 2020, "wires": [] }, { "id": "1b3f2482868d365c", "type": "mqtt in", "z": "85bb16dbe6fb391c", "name": "", "topic": "hm/status/#", "qos": "2", "datatype": "auto-detect", "broker": "c46833d59903b816", "nl": false, "rap": true, "rh": 0, "inputs": 0, "x": 290, "y": 2200, "wires": [ [ "6d1949c48f1432b0", "1b13d8e6d4278579" ] ] }, { "id": "3289b7e058d79737", "type": "switch", "z": "85bb16dbe6fb391c", "name": "", "property": "topic", "propertyType": "msg", "rules": [ { "t": "regex", "v": "hm/status/Fernbedienung_WZ:4/PRESS_SHORT", "vt": "str", "case": false }, { "t": "regex", "v": "hm/status/Fernbedienung_WZ:3/PRESS_SHORT", "vt": "str", "case": false } ], "checkall": "true", "repair": false, "outputs": 2, "x": 830, "y": 2200, "wires": [ [ "6c1cf4bdaba813e2", "cda63c1cf0b7f671" ], [ "1819ea0b09240e1c", "3cb17e998bc9c005" ] ] }, { "id": "8648665e86d3093c", "type": "comment", "z": "85bb16dbe6fb391c", "name": "Init mv_upWg und mv_downWg auf 'false'", "info": "", "x": 460, "y": 2060, "wires": [] }, { "id": "b05d4a49bb06fd7f", "type": "config", "z": "85bb16dbe6fb391c", "name": "", "properties": [ { "p": "mv_downWg", "pt": "flow", "to": "false", "tot": "bool" }, { "p": "mv_upWg", "pt": "flow", "to": "false", "tot": "bool" }, { "p": "moving", "pt": "flow", "to": "STOP", "tot": "str" } ], "active": true, "x": 370, "y": 2100, "wires": [] }, { "id": "6c1cf4bdaba813e2", "type": "function", "z": "85bb16dbe6fb391c", "name": "function 43", "func": "if (flow.get(\"mv_downWg\")) {\n flow.set(\"mv_downWg\", false)\n msg.payload = {\"state\": \"STOP\"}\n} else {\n flow.set(\"mv_downWg\", true)\n msg.payload = { \"state\": \"CLOSE\" }\n}\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 1110, "y": 2160, "wires": [ [ "d28e11d867e00655" ] ] }, { "id": "1819ea0b09240e1c", "type": "function", "z": "85bb16dbe6fb391c", "name": "function 44", "func": "if (flow.get(\"mv_upWg\")) {\n flow.set(\"mv_upWg\", false)\n msg.payload = {\"state\": \"STOP\"}\n} else {\n flow.set(\"mv_upWg\", true)\n msg.payload = { \"state\": \"OPEN\" }\n}\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 1110, "y": 2220, "wires": [ [ "d28e11d867e00655" ] ] }, { "id": "37e1477bb82c8327", "type": "debug", "z": "85bb16dbe6fb391c", "name": "debug 139", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 1470, "y": 2080, "wires": [] }, { "id": "cda63c1cf0b7f671", "type": "debug", "z": "85bb16dbe6fb391c", "name": "debug 140", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 1090, "y": 2060, "wires": [] }, { "id": "3cb17e998bc9c005", "type": "debug", "z": "85bb16dbe6fb391c", "name": "debug 141", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 1110, "y": 2300, "wires": [] }, { "id": "6d1949c48f1432b0", "type": "debug", "z": "85bb16dbe6fb391c", "name": "debug 142", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 470, "y": 2300, "wires": [] }, { "id": "c3553c69292506a3", "type": "mqtt out", "z": "85bb16dbe6fb391c", "name": "Rollladen_WZ_groß", "topic": "zigbee2mqtt/Rollladen_WZ_groß/set", "qos": "0", "retain": "false", "respTopic": "", "contentType": "", "userProps": "", "correl": "", "expiry": "", "broker": "c46833d59903b816", "x": 1490, "y": 2180, "wires": [] }, { "id": "7d7d6d068f5d7679", "type": "mqtt out", "z": "85bb16dbe6fb391c", "name": "Rollladen_Bad", "topic": "hm/set/HmIP-BROLL 001122699A8CF1:4/LEVEL", "qos": "0", "retain": "false", "respTopic": "", "contentType": "", "userProps": "", "correl": "", "expiry": "", "broker": "c46833d59903b816", "x": 980, "y": 60, "wires": [] }, { "id": "d80ecbb7ab989368", "type": "inject", "z": "85bb16dbe6fb391c", "name": "", "props": [ { "p": "payload" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "0", "payloadType": "num", "x": 730, "y": 40, "wires": [ [ "7d7d6d068f5d7679" ] ] }, { "id": "a74853beabb476b8", "type": "inject", "z": "85bb16dbe6fb391c", "name": "", "props": [ { "p": "payload" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "1", "payloadType": "num", "x": 730, "y": 80, "wires": [ [ "7d7d6d068f5d7679" ] ] }, { "id": "6628459ca05fbb46", "type": "change", "z": "85bb16dbe6fb391c", "name": "", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "0", "tot": "num" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 620, "y": 120, "wires": [ [] ] }, { "id": "20c0ea10cd7ab201", "type": "mqtt in", "z": "85bb16dbe6fb391c", "name": "", "topic": "zigbee2mqtt/Rollladen_WZ_groß", "qos": "0", "datatype": "auto-detect", "broker": "c46833d59903b816", "nl": false, "rap": true, "rh": 0, "inputs": 0, "x": 350, "y": 2380, "wires": [ [ "afec1e97d767106b" ] ] }, { "id": "afec1e97d767106b", "type": "debug", "z": "85bb16dbe6fb391c", "name": "debug 150", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 610, "y": 2600, "wires": [] }, { "id": "87e1aebf8e137d61", "type": "change", "z": "85bb16dbe6fb391c", "name": "", "rules": [ { "t": "set", "p": "moving", "pt": "flow", "to": "payload.moving", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 640, "y": 2380, "wires": [ [] ] }, { "id": "61bdcede70944d96", "type": "comment", "z": "85bb16dbe6fb391c", "name": "Rolladen wird intern mit Zeitsteuerung bedient", "info": "", "x": 1070, "y": 20, "wires": [] }, { "id": "1b13d8e6d4278579", "type": "function", "z": "85bb16dbe6fb391c", "name": "block first message", "func": "// function node\nlet alreadySeen = context.get(\"alreadySeen\") || false;\n\nif (!alreadySeen) {\n // erste Message blockieren\n context.set(\"alreadySeen\", true);\n return null;\n} else {\n // alle weiteren durchlassen\n return msg;\n}\n", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 570, "y": 2200, "wires": [ [ "3289b7e058d79737" ] ] }, { "id": "24f6d467e40e1f52", "type": "mqtt in", "z": "85bb16dbe6fb391c", "name": "", "topic": "hm/status/Fernbedienung_EZ:5/PRESS_SHORT", "qos": "2", "datatype": "auto-detect", "broker": "c46833d59903b816", "nl": false, "rap": true, "rh": 0, "inputs": 0, "x": 260, "y": 1440, "wires": [ [ "a6a991677946f29a", "18194a1929c92902" ] ] }, { "id": "9e617dec92526da1", "type": "comment", "z": "c4c5067b315c581d", "name": "Versionen", "info": "2025-06-05\n * TH-Messung entfernt - Sensor ausgebaut\n2025-04-25\n * Strommessung hinzugefügt \n2025-04-16 \n * Erste Version (Temperatur und Feuchte im AMS)\n", "x": 180, "y": 720, "wires": [] }, { "id": "5db66ea7384e3781", "type": "mqtt in", "z": "c4c5067b315c581d", "name": "", "topic": "zigbee2mqtt/3D-Printer", "qos": "0", "datatype": "auto-detect", "broker": "c46833d59903b816", "nl": false, "rap": true, "rh": 0, "inputs": 0, "x": 220, "y": 580, "wires": [ [ "841d8fbbaeeacd08", "e867e1618d362fc2", "76e948abc826d12c", "26cb98962c8201d2" ] ] }, { "id": "841d8fbbaeeacd08", "type": "debug", "z": "c4c5067b315c581d", "name": "debug 114", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 490, "y": 460, "wires": [] }, { "id": "e867e1618d362fc2", "type": "change", "z": "c4c5067b315c581d", "name": "extract Power", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "payload.power", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 500, "y": 540, "wires": [ [ "9a3b86ebd0ddf361", "4646eb4d3c433c9f" ] ] }, { "id": "9a3b86ebd0ddf361", "type": "ui_gauge", "z": "c4c5067b315c581d", "name": "Leistung [W]", "group": "0da5c56696a7e8e9", "order": 4, "width": 4, "height": 3, "gtype": "gage", "title": "Leistung", "label": "W", "format": "{{value | number:0}}", "min": 0, "max": "1000", "colors": [ "#00f900", "#fefb00", "#ca3838" ], "seg1": "65", "seg2": "70", "diff": false, "className": "", "x": 810, "y": 580, "wires": [] }, { "id": "76e948abc826d12c", "type": "change", "z": "c4c5067b315c581d", "name": "extract energy", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "payload.energy", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 500, "y": 620, "wires": [ [ "460ea14e2e032af1" ] ] }, { "id": "f77c691ecf9a5d74", "type": "comment", "z": "c4c5067b315c581d", "name": "Strom- und Energieverbrauch des 3D-Druckers", "info": "", "x": 300, "y": 400, "wires": [] }, { "id": "460ea14e2e032af1", "type": "ui_text", "z": "c4c5067b315c581d", "group": "0da5c56696a7e8e9", "order": 10, "width": 0, "height": 0, "name": "", "label": "Energie [kWh]", "format": "{{msg.payload}}", "layout": "row-spread", "className": "", "style": false, "font": "", "fontSize": 16, "color": "#000000", "x": 820, "y": 640, "wires": [] }, { "id": "d1be1dee36dec090", "type": "debug", "z": "c4c5067b315c581d", "name": "debug 108", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 870, "y": 280, "wires": [] }, { "id": "da2d052c1ad91392", "type": "inject", "z": "c4c5067b315c581d", "name": "", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "5", "crontab": "", "once": true, "onceDelay": 0.1, "topic": "", "payload": "", "payloadType": "date", "x": 200, "y": 160, "wires": [ [ "b295efa151b6762b" ] ] }, { "id": "b295efa151b6762b", "type": "moment", "z": "c4c5067b315c581d", "name": "", "topic": "", "input": "", "inputType": "msg", "inTz": "Europe/Berlin", "adjAmount": 0, "adjType": "days", "adjDir": "add", "format": "HH:mm dddd, DD.MMMM.YYYY", "locale": "de-DE", "output": "", "outputType": "msg", "outTz": "Europe/Berlin", "x": 570, "y": 160, "wires": [ [ "d1be1dee36dec090", "d15b28b792c632be", "b681921a082ccc74" ] ] }, { "id": "23cb224f997e2270", "type": "ui_text", "z": "c4c5067b315c581d", "group": "0da5c56696a7e8e9", "order": 1, "width": 6, "height": 1, "name": "", "label": "", "format": "{{msg.payload}}", "layout": "row-center", "className": "", "style": false, "font": "", "fontSize": 16, "color": "#000000", "x": 1120, "y": 160, "wires": [] }, { "id": "d15b28b792c632be", "type": "function", "z": "c4c5067b315c581d", "name": "function 36", "func": "msg.payload = msg.payload.slice(0,5)\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 880, "y": 160, "wires": [ [ "23cb224f997e2270" ] ] }, { "id": "e4651cb96187a1e8", "type": "ui_text", "z": "c4c5067b315c581d", "group": "0da5c56696a7e8e9", "order": 2, "width": 6, "height": 1, "name": "", "label": "", "format": "{{msg.payload}}", "layout": "row-center", "className": "", "style": false, "font": "", "fontSize": 16, "color": "#000000", "x": 1120, "y": 220, "wires": [] }, { "id": "b681921a082ccc74", "type": "function", "z": "c4c5067b315c581d", "name": "function 37", "func": "msg.payload = msg.payload.slice(6)\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 880, "y": 220, "wires": [ [ "e4651cb96187a1e8" ] ] }, { "id": "10eae0ccc12c2ca7", "type": "comment", "z": "c4c5067b315c581d", "name": "Uhrzeit/Datum anzeigen", "info": "", "x": 220, "y": 100, "wires": [] }, { "id": "06d9278ab0a140fd", "type": "influxdb out", "z": "c4c5067b315c581d", "influxdb": "db07a39246cf7003", "name": "influx_nuccy", "measurement": "energy", "precision": "", "retentionPolicy": "", "database": "database", "precisionV18FluxV20": "s", "retentionPolicyV18Flux": "", "org": "citysensor", "bucket": "bambulab", "x": 1150, "y": 520, "wires": [] }, { "id": "26cb98962c8201d2", "type": "function", "z": "c4c5067b315c581d", "name": "Energie und Leistung aufbereiten", "func": "let energie = msg.payload.energy\nlet leistung = msg.payload.power\nmsg.payload = { \"energy\": energie, \"power\": leistung}\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 800, "y": 440, "wires": [ [ "06d9278ab0a140fd", "7dacb32c0c4349f3" ] ] }, { "id": "7dacb32c0c4349f3", "type": "debug", "z": "c4c5067b315c581d", "name": "debug 115", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 1130, "y": 400, "wires": [] }, { "id": "4646eb4d3c433c9f", "type": "ui_chart", "z": "c4c5067b315c581d", "name": "", "group": "0da5c56696a7e8e9", "order": 11, "width": 0, "height": 0, "label": "Leistung [W]", "chartType": "line", "legend": "false", "xformat": "HH:mm", "interpolate": "linear", "nodata": "", "dot": false, "ymin": "", "ymax": "", "removeOlder": 1, "removeOlderPoints": "", "removeOlderUnit": "3600", "cutout": 0, "useOneColor": false, "useUTC": false, "colors": [ "#1f77b4", "#aec7e8", "#ff7f0e", "#2ca02c", "#98df8a", "#d62728", "#ff9896", "#9467bd", "#c5b0d5" ], "outputs": 1, "useDifferentColor": false, "className": "", "x": 810, "y": 520, "wires": [ [] ] }, { "id": "4bdd760c05e46e13", "type": "mqtt in", "z": "809a218ad0189c5f", "name": "", "topic": "v3/rxf-dragon@ttn/devices/eui-a84041cd51845801/up", "qos": "2", "datatype": "auto-detect", "broker": "c46833d59903b816", "nl": false, "rap": true, "rh": 0, "inputs": 0, "x": 520, "y": 360, "wires": [ [ "5cfe529a77eb844a", "28865e9efcafe076" ] ] }, { "id": "5cfe529a77eb844a", "type": "function", "z": "809a218ad0189c5f", "name": "function 31", "func": "let temp = msg.payload.uplink_message.decoded_payload.TempC_SHT;\nmsg.payload = temp;\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 990, "y": 360, "wires": [ [ "59d0203a8c248b14" ] ] }, { "id": "59d0203a8c248b14", "type": "debug", "z": "809a218ad0189c5f", "name": "debug 91", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "true", "targetType": "full", "statusVal": "", "statusType": "auto", "x": 1260, "y": 200, "wires": [] }, { "id": "28865e9efcafe076", "type": "debug", "z": "809a218ad0189c5f", "name": "debug 92", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "true", "targetType": "full", "statusVal": "", "statusType": "auto", "x": 900, "y": 200, "wires": [] }, { "id": "bad2a4fc86c51c5a", "type": "mqtt in", "z": "809a218ad0189c5f", "name": "", "topic": "CYD/get/bme280", "qos": "0", "datatype": "auto-detect", "broker": "c46833d59903b816", "nl": false, "rap": true, "rh": 0, "inputs": 0, "x": 400, "y": 1200, "wires": [ [ "74a9304e2fcad6f6" ] ] }, { "id": "74a9304e2fcad6f6", "type": "debug", "z": "809a218ad0189c5f", "name": "debug 94", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 800, "y": 1200, "wires": [] }, { "id": "15e659e7b43b515f", "type": "mqtt in", "z": "0f906ba2e4239518", "name": "AU-TH_9", "topic": "zigbee2mqtt/TH_9", "qos": "0", "datatype": "auto-detect", "broker": "c46833d59903b816", "nl": false, "rap": true, "rh": 0, "inputs": 0, "x": 120, "y": 280, "wires": [ [ "20164c80f59227d8", "3f110343e1134af2", "884c239551e42737" ] ] }, { "id": "ecb94b091cd1f66a", "type": "comment", "z": "0f906ba2e4239518", "name": "Aussentemp und Feuchte über TH_9", "info": "", "x": 200, "y": 200, "wires": [] }, { "id": "00912540c5b96fee", "type": "comment", "z": "0f906ba2e4239518", "name": "Versionen", "info": "### V 2.0.0 2025-06-14\n- Dashboard 2 verwendet\n\n### V 1.0.1 2025-06-14\n- Anzeigebereiche angepasst\n\n### V 1.0.0 2025-06-13 rxf \n - erste Version\n", "x": 120, "y": 460, "wires": [] }, { "id": "20164c80f59227d8", "type": "change", "z": "0f906ba2e4239518", "name": "extract Feuchte", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "payload.humidity", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 480, "y": 240, "wires": [ [ "1a5877882590d9bb", "95b39fc4e5abfa47" ] ] }, { "id": "3f110343e1134af2", "type": "change", "z": "0f906ba2e4239518", "name": "extract Temperatur", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "payload.temperature", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 490, "y": 320, "wires": [ [ "bb47ca829c3ecf04", "7325042dbaebb74a" ] ] }, { "id": "884c239551e42737", "type": "debug", "z": "0f906ba2e4239518", "name": "debug 126", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 470, "y": 400, "wires": [] }, { "id": "1a5877882590d9bb", "type": "ui-chart", "z": "0f906ba2e4239518", "group": "c6516da1ba2e4cf4", "name": "Feuchte (12h)", "label": "Feuchte [12h]", "order": 2, "chartType": "line", "category": "topic", "categoryType": "msg", "xAxisLabel": "", "xAxisProperty": "", "xAxisPropertyType": "timestamp", "xAxisType": "time", "xAxisFormat": "", "xAxisFormatType": "auto", "xmin": "", "xmax": "", "yAxisLabel": "", "yAxisProperty": "payload", "yAxisPropertyType": "msg", "ymin": "20", "ymax": "100", "bins": 10, "action": "append", "stackSeries": false, "pointShape": "circle", "pointRadius": 4, "showLegend": false, "removeOlder": "12", "removeOlderUnit": "3600", "removeOlderPoints": "", "colors": [ "#0095ff", "#ff0000", "#ff7f0e", "#2ca02c", "#a347e1", "#d62728", "#ff9896", "#9467bd", "#c5b0d5" ], "textColor": [ "#666666" ], "textColorDefault": true, "gridColor": [ "#e5e5e5" ], "gridColorDefault": true, "width": 6, "height": 8, "className": "", "interpolation": "linear", "x": 740, "y": 180, "wires": [ [] ] }, { "id": "7eb603f7ee0ea370", "type": "ui-gauge", "z": "0f906ba2e4239518", "name": "Feuchte [%]", "group": "c6516da1ba2e4cf4", "order": 1, "value": "payload", "valueType": "msg", "width": 3, "height": 3, "gtype": "gauge-half", "gstyle": "needle", "title": "Feuchte", "alwaysShowTitle": false, "floatingTitlePosition": "top-left", "units": "%", "icon": "", "prefix": "", "suffix": "", "segments": [ { "from": "0", "color": "#5cd65c", "text": "", "textType": "label" }, { "from": "40", "color": "#ffc800", "text": "", "textType": "label" }, { "from": "70", "color": "#ea5353", "text": "", "textType": "label" } ], "min": "20", "max": "100", "sizeThickness": 16, "sizeGap": 4, "sizeKeyThickness": 8, "styleRounded": true, "styleGlow": false, "className": "", "x": 950, "y": 240, "wires": [ [] ] }, { "id": "4bae7ce94720392c", "type": "ui-gauge", "z": "0f906ba2e4239518", "name": "Temp [°C]", "group": "f1b6e0d30814d169", "order": 1, "value": "payload", "valueType": "msg", "width": 3, "height": 3, "gtype": "gauge-half", "gstyle": "needle", "title": "Temp", "alwaysShowTitle": false, "floatingTitlePosition": "top-left", "units": "°C", "icon": "", "prefix": "", "suffix": "", "segments": [ { "from": "-5", "color": "#0432ff", "text": "", "textType": "label" }, { "from": "0", "color": "#ffc800", "text": "", "textType": "label" }, { "from": "30", "color": "#ea5353", "text": "", "textType": "label" } ], "min": "-5", "max": "40", "sizeThickness": 16, "sizeGap": 4, "sizeKeyThickness": 8, "styleRounded": true, "styleGlow": false, "className": "", "x": 940, "y": 320, "wires": [ [] ] }, { "id": "bb47ca829c3ecf04", "type": "ui-chart", "z": "0f906ba2e4239518", "group": "f1b6e0d30814d169", "name": "Temperatur [12h]", "label": "Temperatur [12h]", "order": 2, "chartType": "line", "category": "topic", "categoryType": "msg", "xAxisLabel": "", "xAxisProperty": "", "xAxisPropertyType": "timestamp", "xAxisType": "time", "xAxisFormat": "", "xAxisFormatType": "auto", "xmin": "", "xmax": "", "yAxisLabel": "", "yAxisProperty": "payload", "yAxisPropertyType": "msg", "ymin": "", "ymax": "", "bins": 10, "action": "append", "stackSeries": false, "pointShape": "circle", "pointRadius": 4, "showLegend": false, "removeOlder": "12", "removeOlderUnit": "3600", "removeOlderPoints": "", "colors": [ "#0095ff", "#ff0000", "#ff7f0e", "#2ca02c", "#a347e1", "#d62728", "#ff9896", "#9467bd", "#c5b0d5" ], "textColor": [ "#666666" ], "textColorDefault": true, "gridColor": [ "#e5e5e5" ], "gridColorDefault": true, "width": 6, "height": 8, "className": "", "interpolation": "linear", "x": 750, "y": 380, "wires": [ [] ] }, { "id": "95b39fc4e5abfa47", "type": "function", "z": "0f906ba2e4239518", "name": "function 68", "func": "msg.payload = Math.round(msg.payload)\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 730, "y": 240, "wires": [ [ "7eb603f7ee0ea370" ] ] }, { "id": "7325042dbaebb74a", "type": "function", "z": "0f906ba2e4239518", "name": "function 69", "func": "msg.payload = Math.round(msg.payload * 10) /10\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 730, "y": 320, "wires": [ [ "4bae7ce94720392c" ] ] }, { "id": "119761fc6def37fc", "type": "mqtt in", "z": "c23febdb48bc9327", "name": "", "topic": "zigbee2mqtt/BW_EZ", "qos": "0", "datatype": "auto-detect", "broker": "c46833d59903b816", "nl": false, "rap": true, "rh": 0, "inputs": 0, "x": 190, "y": 560, "wires": [ [ "6aaf0ce933e87e18" ] ] }, { "id": "a6f9f85bbcdf9c08", "type": "inject", "z": "c23febdb48bc9327", "name": "true", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "{\"occupancy\": true}", "payloadType": "json", "x": 170, "y": 620, "wires": [ [ "6a38296bdc7f5b48" ] ] }, { "id": "278dd227c934cf3e", "type": "inject", "z": "c23febdb48bc9327", "name": "false", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "{\"state\": \"off\"}", "payloadType": "json", "x": 170, "y": 480, "wires": [ [ "8878a0a8f089e449" ] ] }, { "id": "6a38296bdc7f5b48", "type": "function", "z": "c23febdb48bc9327", "name": "detect_motion", "func": "if (msg.payload.occupancy === true) {\n msg.payload = { \"state\": \"on\" }\n}\nreturn msg", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 700, "y": 560, "wires": [ [ "07aef6302a97f782" ] ] }, { "id": "d7a2aacda7b7c6f0", "type": "comment", "z": "c23febdb48bc9327", "name": "BW-Melder auswerden", "info": "", "x": 300, "y": 440, "wires": [] }, { "id": "21699ca5b334aad9", "type": "mqtt in", "z": "c23febdb48bc9327", "name": "", "topic": "zigbee2mqtt/Licht_Sensor", "qos": "0", "datatype": "auto-detect", "broker": "c46833d59903b816", "nl": false, "rap": true, "rh": 0, "inputs": 0, "x": 210, "y": 220, "wires": [ [ "ae73fbc132c8739b", "f931533dc540c3dd", "a42ac93c1b57f66f" ] ] }, { "id": "ae73fbc132c8739b", "type": "function", "z": "c23febdb48bc9327", "name": "check brightness", "func": "\nconst helltop = flow.get('helltop')\nconst hellbot = flow.get('hellbot')\n\nlet hell = msg.payload.illuminance_lux\nflow.set('hell',hell)\nmsg.topic = 'control'\nif (hell >= helltop) {\n msg.payload = 'close'\n} else if (hell <= hellbot) {\n msg.payload = 'open'\n} else {\n msg.payload = ''\n}\nmsg.debug = hell\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 810, "y": 220, "wires": [ [ "fdabc8011c980271", "07aef6302a97f782" ] ] }, { "id": "fdabc8011c980271", "type": "debug", "z": "c23febdb48bc9327", "name": "debug 132", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "true", "targetType": "full", "statusVal": "", "statusType": "auto", "x": 1030, "y": 160, "wires": [] }, { "id": "8878a0a8f089e449", "type": "mqtt out", "z": "c23febdb48bc9327", "name": "", "topic": "zigbee2mqtt/Licht_EZ/set", "qos": "0", "retain": "", "respTopic": "", "contentType": "", "userProps": "", "correl": "", "expiry": "", "broker": "c46833d59903b816", "x": 1350, "y": 480, "wires": [] }, { "id": "55308243b9caa038", "type": "comment", "z": "c23febdb48bc9327", "name": "Esszimmer-Lich mit BW-Melder einschalten", "info": "", "x": 270, "y": 140, "wires": [] }, { "id": "f931533dc540c3dd", "type": "debug", "z": "c23febdb48bc9327", "name": "debug 133", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "true", "targetType": "full", "statusVal": "", "statusType": "auto", "x": 550, "y": 160, "wires": [] }, { "id": "95c7050915719e38", "type": "debug", "z": "c23febdb48bc9327", "name": "debug 134", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "true", "targetType": "full", "statusVal": "", "statusType": "auto", "x": 650, "y": 420, "wires": [] }, { "id": "a42ac93c1b57f66f", "type": "change", "z": "c23febdb48bc9327", "name": "", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "payload.illuminance_lux", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 500, "y": 300, "wires": [ [ "14c06742e472c598" ] ] }, { "id": "14c06742e472c598", "type": "ui_chart", "z": "c23febdb48bc9327", "name": "Helligkeit", "group": "51bf0475.ddfd2c", "order": 14, "width": 0, "height": 0, "label": "Helligkeit [lux]", "chartType": "line", "legend": "false", "xformat": "HH:mm", "interpolate": "cubic", "nodata": "", "dot": false, "ymin": "", "ymax": "", "removeOlder": "1", "removeOlderPoints": "", "removeOlderUnit": "3600", "cutout": 0, "useOneColor": false, "useUTC": false, "colors": [ "#1f77b4", "#aec7e8", "#ff7f0e", "#2ca02c", "#98df8a", "#d62728", "#ff9896", "#9467bd", "#c5b0d5" ], "outputs": 1, "useDifferentColor": false, "className": "", "x": 740, "y": 300, "wires": [ [] ] }, { "id": "a9f57cca28d627b2", "type": "trigger", "z": "c23febdb48bc9327", "name": "", "op1": "1", "op2": "0", "op1type": "str", "op2type": "str", "duration": "5", "extend": false, "overrideDelay": false, "units": "s", "reset": "", "bytopic": "all", "topic": "topic", "outputs": 1, "x": 720, "y": 720, "wires": [ [ "1cb685b17d224d65", "7c251e525a41894a" ] ] }, { "id": "07aef6302a97f782", "type": "gate", "z": "c23febdb48bc9327", "name": "", "controlTopic": "control", "defaultState": "closed", "openCmd": "open", "closeCmd": "close", "toggleCmd": "toggle", "defaultCmd": "default", "statusCmd": "status", "persist": false, "storeName": "memory", "x": 1090, "y": 560, "wires": [ [ "8878a0a8f089e449" ] ] }, { "id": "0fd539e44e929b0d", "type": "mqtt in", "z": "c23febdb48bc9327", "name": "", "topic": "zigbee2mqtt/Licht_EZ", "qos": "2", "datatype": "auto-detect", "broker": "c46833d59903b816", "nl": false, "rap": true, "rh": 0, "inputs": 0, "x": 200, "y": 780, "wires": [ [ "a15bd5e1992ac0c9" ] ] }, { "id": "a15bd5e1992ac0c9", "type": "function", "z": "c23febdb48bc9327", "name": "filter switch OFF", "func": "if (msg.payload.state === 'OFF') {\n msg.payload.state = \"off\"\n return msg\n} else {\n return\n}", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 480, "y": 780, "wires": [ [ "a9f57cca28d627b2", "a4bee93573dca19e" ] ] }, { "id": "a4bee93573dca19e", "type": "debug", "z": "c23febdb48bc9327", "name": "debug 135", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "true", "targetType": "full", "statusVal": "", "statusType": "auto", "x": 810, "y": 820, "wires": [] }, { "id": "90fc735f458f4e7f", "type": "debug", "z": "c23febdb48bc9327", "name": "debug 136", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "true", "targetType": "full", "statusVal": "", "statusType": "auto", "x": 1130, "y": 800, "wires": [] }, { "id": "1cb685b17d224d65", "type": "function", "z": "c23febdb48bc9327", "name": "block 5 sec", "func": "msg.topic = 'control'\nif ((msg.payload !== \"1\") \n && (flow.get('hell') <= flow.get('hellbot')))\n{\n msg.payload = 'open'\n} else {\n msg.payload = 'close'\n}\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 910, "y": 720, "wires": [ [ "90fc735f458f4e7f", "07aef6302a97f782" ] ] }, { "id": "6aaf0ce933e87e18", "type": "delay", "z": "c23febdb48bc9327", "name": "", "pauseType": "rate", "timeout": "5", "timeoutUnits": "seconds", "rate": "1", "nbRateUnits": "2", "rateUnits": "second", "randomFirst": "1", "randomLast": "5", "randomUnits": "seconds", "drop": true, "allowrate": false, "outputs": 1, "x": 420, "y": 560, "wires": [ [ "6a38296bdc7f5b48", "95c7050915719e38" ] ] }, { "id": "ebcd60f5dc498faf", "type": "comment", "z": "c23febdb48bc9327", "name": "Schalter AUS verwenden", "info": "", "x": 310, "y": 720, "wires": [] }, { "id": "eb96b094fdcf4325", "type": "config", "z": "c23febdb48bc9327", "name": "", "properties": [ { "p": "helltop", "pt": "flow", "to": "23", "tot": "num" }, { "p": "hellbot", "pt": "flow", "to": "20", "tot": "num" }, { "p": "hell", "pt": "flow", "to": "255", "tot": "num" } ], "active": true, "x": 170, "y": 300, "wires": [] }, { "id": "7c251e525a41894a", "type": "debug", "z": "c23febdb48bc9327", "name": "debug 138", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "true", "targetType": "full", "statusVal": "", "statusType": "auto", "x": 890, "y": 620, "wires": [] }, { "id": "60dea7cbf33ac553", "type": "mqtt in", "z": "f3d03e63c0a7d73a", "name": "", "topic": "hm/status/Fernbedienung_WZ:8/PRESS_SHORT", "qos": "2", "datatype": "auto-detect", "broker": "c46833d59903b816", "nl": false, "rap": true, "rh": 0, "inputs": 0, "x": 280, "y": 180, "wires": [ [ "d3f1c881b02e2c53" ] ] }, { "id": "d3f1c881b02e2c53", "type": "debug", "z": "f3d03e63c0a7d73a", "name": "debug 143", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 630, "y": 220, "wires": [] }, { "id": "d94c54cfe5cd1d51", "type": "mqtt out", "z": "f3d03e63c0a7d73a", "name": "Switch TV", "topic": "home66/TV_Set/tasmota_91EF90/cmnd/Power", "qos": "0", "retain": "", "respTopic": "", "contentType": "", "userProps": "", "correl": "", "expiry": "", "broker": "c7cf83a81a522047", "x": 1120, "y": 360, "wires": [] }, { "id": "cd4515f4520b5a09", "type": "change", "z": "f3d03e63c0a7d73a", "name": "", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "TOGGLE", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 690, "y": 340, "wires": [ [ "d94c54cfe5cd1d51", "640884bd2ad77e87" ] ] }, { "id": "640884bd2ad77e87", "type": "debug", "z": "f3d03e63c0a7d73a", "name": "debug 144", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 970, "y": 220, "wires": [] }, { "id": "4d9ee0b3a98f9ecc", "type": "mqtt in", "z": "f3d03e63c0a7d73a", "name": "", "topic": "home66/TV_Set/tasmota_91EF90/RESULT", "qos": "2", "datatype": "auto-detect", "broker": "c7cf83a81a522047", "nl": false, "rap": true, "rh": 0, "inputs": 0, "x": 300, "y": 460, "wires": [ [ "7eb33a45338feef5" ] ] }, { "id": "7eb33a45338feef5", "type": "debug", "z": "f3d03e63c0a7d73a", "name": "debug 145", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 650, "y": 460, "wires": [] }, { "id": "d5abe885374036ff", "type": "debug", "z": "f3d03e63c0a7d73a", "name": "debug 146", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 570, "y": 640, "wires": [] }, { "id": "4dd6f7360e609f7c", "type": "amazon-echo-hub", "z": "f3d03e63c0a7d73a", "port": "80", "processinput": 0, "discovery": true, "x": 110, "y": 600, "wires": [ [ "45162f25bf2a6d56" ] ] }, { "id": "45162f25bf2a6d56", "type": "amazon-echo-device", "z": "f3d03e63c0a7d73a", "name": "Fernsehzimmer", "topic": "", "x": 320, "y": 600, "wires": [ [ "d5abe885374036ff" ] ] }, { "id": "e18430497d913cde", "type": "mqtt out", "z": "50665df0b8356ca9", "name": "TV", "topic": "zigbee2mqtt/Fernsehzimmer_TV/set", "qos": "0", "retain": "", "respTopic": "", "contentType": "", "userProps": "", "correl": "", "expiry": "", "broker": "c46833d59903b816", "x": 930, "y": 180, "wires": [] }, { "id": "65a1124265c13aa8", "type": "mqtt out", "z": "50665df0b8356ca9", "name": "Stehlampe", "topic": "zigbee2mqtt/Fernsehzimmer_Stehlampe/set", "qos": "0", "retain": "", "respTopic": "", "contentType": "", "userProps": "", "correl": "", "expiry": "", "broker": "c46833d59903b816", "x": 950, "y": 240, "wires": [] }, { "id": "8ea3be75cc59e7a7", "type": "mqtt out", "z": "50665df0b8356ca9", "name": "Speaker_links", "topic": "zigbee2mqtt/Fernsehzimmer_Speaker_L/set", "qos": "0", "retain": "", "respTopic": "", "contentType": "", "userProps": "", "correl": "", "expiry": "", "broker": "c46833d59903b816", "x": 960, "y": 300, "wires": [] }, { "id": "7ef58c7dfed536fc", "type": "mqtt out", "z": "50665df0b8356ca9", "name": "Speaker_rechts", "topic": "zigbee2mqtt/Fernsehzimmer_Speaker_R/set", "qos": "0", "retain": "", "respTopic": "", "contentType": "", "userProps": "", "correl": "", "expiry": "", "broker": "c46833d59903b816", "x": 960, "y": 360, "wires": [] }, { "id": "9a8d7f02825226c6", "type": "mqtt in", "z": "50665df0b8356ca9", "name": "", "topic": "hm/status/Fernbedienung_WZ:8/PRESS_SHORT", "qos": "2", "datatype": "auto-detect", "broker": "c46833d59903b816", "nl": false, "rap": true, "rh": 0, "inputs": 0, "x": 260, "y": 280, "wires": [ [ "019ee62cd2acb5e9", "afa8f96664965262" ] ] }, { "id": "019ee62cd2acb5e9", "type": "debug", "z": "50665df0b8356ca9", "name": "debug 147", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 550, "y": 120, "wires": [] }, { "id": "91f195d26c30ec10", "type": "config", "z": "50665df0b8356ca9", "name": "Init=AUS", "properties": [ { "p": "zustand", "pt": "flow", "to": "false", "tot": "bool" } ], "active": true, "x": 160, "y": 140, "wires": [] }, { "id": "afa8f96664965262", "type": "function", "z": "50665df0b8356ca9", "name": "function 45", "func": "if(flow.get(\"zustand\")) {\n msg.payload = {\"state\":\"off\"}\n flow.set(\"zustand\", false);\n} else {\n msg.payload = {\"state\":\"on\"}\n flow.set(\"zustand\",true)\n}\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 630, "y": 280, "wires": [ [ "65a1124265c13aa8", "6d1503bbf62a8f8a", "e18430497d913cde", "8ea3be75cc59e7a7", "7ef58c7dfed536fc" ] ] }, { "id": "6d1503bbf62a8f8a", "type": "debug", "z": "50665df0b8356ca9", "name": "debug 148", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 830, "y": 500, "wires": [] }, { "id": "79ea2cb386e68ca8", "type": "mqtt in", "z": "50665df0b8356ca9", "name": "", "topic": "hm/status/Fernbedienung_WZ:7/PRESS_SHORT", "qos": "2", "datatype": "auto-detect", "broker": "c46833d59903b816", "nl": false, "rap": true, "rh": 0, "inputs": 0, "x": 260, "y": 360, "wires": [ [ "01358c07ae591f06" ] ] }, { "id": "01358c07ae591f06", "type": "change", "z": "50665df0b8356ca9", "name": "", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "{\"state\":\"toggle\"}", "tot": "json" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 590, "y": 360, "wires": [ [ "65a1124265c13aa8" ] ] }, { "id": "fadd02998c4721cb", "type": "inject", "z": "50665df0b8356ca9", "name": "", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "", "payloadType": "date", "x": 160, "y": 200, "wires": [ [ "afa8f96664965262" ] ] }, { "id": "047b7e518869d992", "type": "mqtt in", "z": "0ecc4a0267296324", "name": "Garage", "topic": "zigbee2mqtt/Garage_Lage", "qos": "0", "datatype": "auto-detect", "broker": "c46833d59903b816", "nl": false, "rap": true, "rh": 0, "inputs": 0, "x": 210, "y": 160, "wires": [ [ "7d2608e123cb20e2" ] ] }, { "id": "7d2608e123cb20e2", "type": "change", "z": "0ecc4a0267296324", "name": "", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "payload.contact", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 420, "y": 160, "wires": [ [ "6cdc240600056e05", "1c146292c683907e" ] ] }, { "id": "1c146292c683907e", "type": "switch", "z": "0ecc4a0267296324", "name": "", "property": "payload", "propertyType": "msg", "rules": [ { "t": "true" }, { "t": "false" } ], "checkall": "true", "repair": false, "outputs": 2, "x": 630, "y": 160, "wires": [ [ "5d40fb71b2a7bc31" ], [ "7c3d5e4ef2946916" ] ] }, { "id": "6cdc240600056e05", "type": "debug", "z": "0ecc4a0267296324", "name": "debug 149", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 650, "y": 40, "wires": [] }, { "id": "7c3d5e4ef2946916", "type": "change", "z": "0ecc4a0267296324", "name": "", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": " offen", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 840, "y": 200, "wires": [ [ "e18886d9bed7b820" ] ] }, { "id": "5d40fb71b2a7bc31", "type": "change", "z": "0ecc4a0267296324", "name": "", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": " geschlossen", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 840, "y": 120, "wires": [ [ "e18886d9bed7b820" ] ] }, { "id": "e18886d9bed7b820", "type": "ui-text", "z": "0ecc4a0267296324", "group": "ed415db654fe4777", "order": 1, "width": "3", "height": "1", "name": "", "label": "Garage ist: ", "format": "{{msg.payload}}", "layout": "row-spread", "style": true, "font": "Arial Black,Arial Black,Gadget,sans-serif", "fontSize": "24", "color": "#717171", "wrapText": false, "className": "", "value": "payload", "valueType": "msg", "x": 1130, "y": 160, "wires": [] }, { "id": "5751328b8a4dfe7e", "type": "mqtt in", "z": "5e52b4b48abccb4a", "name": "Licht_EIN", "topic": "hm/status/Licht_CL_Taster:2/PRESS_SHORT", "qos": "0", "datatype": "auto-detect", "broker": "c46833d59903b816", "nl": false, "rap": true, "rh": 0, "inputs": 0, "x": 140, "y": 500, "wires": [ [ "1704dd3490cd04f9", "bb27fa58b206470d" ] ] }, { "id": "3ee09ac2b43e4d6f", "type": "mqtt in", "z": "5e52b4b48abccb4a", "name": "Licht_AUS", "topic": "hm/status/Licht_CL_Taster:1/PRESS_SHORT", "qos": "0", "datatype": "auto-detect", "broker": "c46833d59903b816", "nl": false, "rap": true, "rh": 0, "inputs": 0, "x": 140, "y": 400, "wires": [ [ "1704dd3490cd04f9", "d334cab05c2ac237" ] ] }, { "id": "88d62fd9d77b3a0d", "type": "mqtt in", "z": "5e52b4b48abccb4a", "name": "Praesenz_STATUS", "topic": "hm/status/Praesenz_CL:1/PRESENCE_DETECTION_STATE", "qos": "0", "datatype": "auto-detect", "broker": "c46833d59903b816", "nl": false, "rap": true, "rh": 0, "inputs": 0, "x": 170, "y": 820, "wires": [ [ "23b5777254c385d5", "1957d3d704e555bf" ] ] }, { "id": "7b468773ced37ba4", "type": "mqtt in", "z": "5e52b4b48abccb4a", "name": "Praesenz_HELL", "topic": "hm/status/Praesenz_CL:1/ILLUMINATION", "qos": "0", "datatype": "auto-detect", "broker": "c46833d59903b816", "nl": false, "rap": true, "rh": 0, "inputs": 0, "x": 160, "y": 1000, "wires": [ [ "1f2b0592eaef8062", "cd14e969f1373dc7" ] ] }, { "id": "1704dd3490cd04f9", "type": "debug", "z": "5e52b4b48abccb4a", "name": "debug 151", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 350, "y": 460, "wires": [] }, { "id": "23b5777254c385d5", "type": "debug", "z": "5e52b4b48abccb4a", "name": "debug 152", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 390, "y": 760, "wires": [] }, { "id": "801c09779a45c35c", "type": "comment", "z": "5e52b4b48abccb4a", "name": "Licht im Clo schalten", "info": "", "x": 180, "y": 60, "wires": [] }, { "id": "cd174c96e63b05ca", "type": "config", "z": "5e52b4b48abccb4a", "name": "", "properties": [ { "p": "switchtime", "pt": "flow", "to": "7:00", "tot": "str" }, { "p": "hell", "pt": "flow", "to": "{\"on\":254,\"off\":0,\"dimmed\":5}", "tot": "json" }, { "p": "hellschwelle", "pt": "flow", "to": "200", "tot": "num" }, { "p": "dauer", "pt": "flow", "to": "false", "tot": "bool" }, { "p": "dimmit", "pt": "flow", "to": "false", "tot": "bool" }, { "p": "inRange", "pt": "flow", "to": "false", "tot": "bool" } ], "active": true, "x": 150, "y": 120, "wires": [] }, { "id": "b67fa2b35568dbc8", "type": "mqtt out", "z": "5e52b4b48abccb4a", "name": "Licht_Clo schalten", "topic": "zigbee2mqtt/Licht_Clo/set", "qos": "0", "retain": "", "respTopic": "", "contentType": "", "userProps": "", "correl": "", "expiry": "", "broker": "c46833d59903b816", "x": 1170, "y": 360, "wires": [] }, { "id": "c65bc52df69c10b8", "type": "inject", "z": "5e52b4b48abccb4a", "name": "EIN", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "", "payloadType": "date", "x": 150, "y": 560, "wires": [ [ "bb27fa58b206470d" ] ] }, { "id": "9f8212dc16798c71", "type": "inject", "z": "5e52b4b48abccb4a", "name": "AUS", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "", "payloadType": "date", "x": 150, "y": 340, "wires": [ [ "d334cab05c2ac237" ] ] }, { "id": "d334cab05c2ac237", "type": "function", "z": "5e52b4b48abccb4a", "name": "function 47", "func": "let hell = flow.get('hell')\nmsg.payload = {\"brightness:\": hell.off, \"state\": \"OFF\"}\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 410, "y": 360, "wires": [ [ "f2fdc53a556ca09f" ] ] }, { "id": "aeec1b4c30abf869", "type": "debug", "z": "5e52b4b48abccb4a", "name": "debug 154", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 850, "y": 300, "wires": [] }, { "id": "1f2b0592eaef8062", "type": "change", "z": "5e52b4b48abccb4a", "name": "", "rules": [ { "t": "set", "p": "brightness", "pt": "flow", "to": "payload.val", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 390, "y": 1000, "wires": [ [] ] }, { "id": "e784bc2e16350df6", "type": "function", "z": "5e52b4b48abccb4a", "name": "function 48", "func": "let cmd = {\"brightness\": flow.get(\"hell\").off, \"state\": \"OFF\"}\nmsg.debug = flow.get(\"brightness\")\nif (flow.get(\"brightness\") <= flow.get(\"hellschwelle\")) {\n cmd.state = \"ON\"\n if (flow.get(\"dimmit\")) {\n cmd.brightness = flow.get(\"hell\").dimmed\n } else {\n cmd.brightness = flow.get(\"hell\").on\n }\n} else {\n if (!flow.get(\"dauer\")) {\n cmd.brightness = flow.get(\"hell\").off\n cmd.state = \"OFF\"\n } else {\n return\n }\n}\nmsg.payload = cmd\nmsg.dimmit = flow.get(\"dimmit\")\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 1070, "y": 520, "wires": [ [ "13dd48470c18de01", "b67fa2b35568dbc8" ] ] }, { "id": "13dd48470c18de01", "type": "debug", "z": "5e52b4b48abccb4a", "name": "debug 155", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "true", "targetType": "full", "statusVal": "", "statusType": "auto", "x": 1270, "y": 540, "wires": [] }, { "id": "185a9ec7519dc617", "type": "change", "z": "5e52b4b48abccb4a", "name": "dimmit = true", "rules": [ { "t": "set", "p": "dimmit", "pt": "flow", "to": "true", "tot": "bool" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 870, "y": 500, "wires": [ [ "e784bc2e16350df6" ] ] }, { "id": "243527a4ed9677f2", "type": "change", "z": "5e52b4b48abccb4a", "name": "dimmit = false", "rules": [ { "t": "set", "p": "dimmit", "pt": "flow", "to": "false", "tot": "bool" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 880, "y": 560, "wires": [ [ "e784bc2e16350df6" ] ] }, { "id": "f4179743bfab440b", "type": "debug", "z": "5e52b4b48abccb4a", "name": "debug 156", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "true", "targetType": "full", "statusVal": "", "statusType": "auto", "x": 870, "y": 440, "wires": [] }, { "id": "ca7a99dfeec30d7a", "type": "debug", "z": "5e52b4b48abccb4a", "name": "debug 157", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "true", "targetType": "full", "statusVal": "", "statusType": "auto", "x": 870, "y": 620, "wires": [] }, { "id": "c71ad44ea1919a1f", "type": "comment", "z": "5e52b4b48abccb4a", "name": "Taster", "info": "", "x": 130, "y": 200, "wires": [] }, { "id": "b73e324cb657b77a", "type": "comment", "z": "5e52b4b48abccb4a", "name": "Präsenzmelder", "info": "", "x": 160, "y": 760, "wires": [] }, { "id": "240e77ac37e4ab11", "type": "inject", "z": "5e52b4b48abccb4a", "name": "Präsenz", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "", "payloadType": "date", "x": 150, "y": 880, "wires": [ [ "d7ea1566d262d866" ] ] }, { "id": "59b3ea2f26b6ba6e", "type": "comment", "z": "5e52b4b48abccb4a", "name": "ToDos", "info": " 2025-10-05\n - EIN mit Dppelklick oder lange drücken -> auf jeden Fall VOLL an\n - AUS schalten, wenn Pröäsenzmelder abgelaufen???", "x": 370, "y": 140, "wires": [] }, { "id": "1957d3d704e555bf", "type": "rbe", "z": "5e52b4b48abccb4a", "name": "Änderung", "func": "rbe", "gap": "", "start": "", "inout": "out", "septopics": true, "property": "payload.val", "topi": "topic", "x": 380, "y": 820, "wires": [ [ "477e0b5253814940" ] ] }, { "id": "cd14e969f1373dc7", "type": "debug", "z": "5e52b4b48abccb4a", "name": "debug 158", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 370, "y": 1060, "wires": [] }, { "id": "d7ea1566d262d866", "type": "debug", "z": "5e52b4b48abccb4a", "name": "debug 153", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 350, "y": 940, "wires": [] }, { "id": "477e0b5253814940", "type": "switch", "z": "5e52b4b48abccb4a", "name": "", "property": "payload.val", "propertyType": "msg", "rules": [ { "t": "true" }, { "t": "else" } ], "checkall": "true", "repair": false, "outputs": 2, "x": 590, "y": 820, "wires": [ [ "c524071a9f1dfc46" ], [ "1931573da98cf297" ] ] }, { "id": "59cdada341642ec0", "type": "link in", "z": "5e52b4b48abccb4a", "name": "link in 4", "links": [ "1931573da98cf297" ], "x": 275, "y": 320, "wires": [ [ "d334cab05c2ac237" ] ] }, { "id": "1931573da98cf297", "type": "link out", "z": "5e52b4b48abccb4a", "name": "link out 4", "mode": "link", "links": [ "59cdada341642ec0" ], "x": 805, "y": 820, "wires": [] }, { "id": "3d40074bcd2159fe", "type": "mqtt in", "z": "5e52b4b48abccb4a", "name": "Licht_EIN LANG", "topic": "hm/status/Licht_CL_Taster:2/PRESS_LONG_RELEASE", "qos": "0", "datatype": "auto-detect", "broker": "c46833d59903b816", "nl": false, "rap": true, "rh": 0, "inputs": 0, "x": 160, "y": 260, "wires": [ [ "3e7ad9f7cf672943" ] ] }, { "id": "3e7ad9f7cf672943", "type": "function", "z": "5e52b4b48abccb4a", "name": "function 49", "func": "let hell = flow.get('hell')\nmsg.payload = {\"brightness\": hell.on, \"state\": \"ON\"}\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 370, "y": 260, "wires": [ [ "f2fdc53a556ca09f" ] ] }, { "id": "413ab63614d7e8ae", "type": "function", "z": "5e52b4b48abccb4a", "name": "function 55", "func": "flow.set(\"inRange\", msg.payload)\nmsg.flow = {\"inRange\":flow.get(\"inRange\")}\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 450, "y": 640, "wires": [ [] ] }, { "id": "c524071a9f1dfc46", "type": "switch", "z": "5e52b4b48abccb4a", "name": "", "property": "inRange", "propertyType": "flow", "rules": [ { "t": "true" }, { "t": "else" } ], "checkall": "true", "repair": false, "outputs": 2, "x": 670, "y": 540, "wires": [ [ "f4179743bfab440b", "185a9ec7519dc617" ], [ "243527a4ed9677f2", "ca7a99dfeec30d7a" ] ] }, { "id": "cronplus-example", "type": "cronplus", "z": "5e52b4b48abccb4a", "name": "Tagesbereich 0h00-7h00", "outputField": "payload", "timeZone": "Europe/Berlin", "storeName": "", "commandResponseMsgOutput": "output1", "defaultLocation": "", "defaultLocationType": "default", "outputs": 1, "options": [ { "name": "start_day", "topic": "day_status", "payloadType": "bool", "payload": "true", "expressionType": "cron", "expression": "0 0 * * *", "location": "", "offset": "0", "solarType": "all", "solarEvents": "sunrise" }, { "name": "end_day", "topic": "day_status", "payloadType": "bool", "payload": "false", "expressionType": "cron", "expression": "0 7 * * *", "location": "", "offset": "0", "solarType": "all", "solarEvents": "sunset" } ], "x": 190, "y": 640, "wires": [ [ "debug-cron", "413ab63614d7e8ae" ] ] }, { "id": "debug-cron", "type": "debug", "z": "5e52b4b48abccb4a", "name": "cron-plus out", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "true", "targetType": "full", "x": 460, "y": 680, "wires": [] }, { "id": "2a163678c183f7b7", "type": "mqtt in", "z": "cada61fae691e52f", "name": "Taster EIN", "topic": "hm/status/BW_und_Licht_Computer_EIN:2/PRESS_SHORT", "qos": "2", "datatype": "auto-detect", "broker": "c46833d59903b816", "nl": false, "rap": true, "rh": 0, "inputs": 0, "x": 120, "y": 320, "wires": [ [ "d7f792c42cbfe06d", "b4d5c00e4cd75824" ] ] }, { "id": "22ed5b3f6134906f", "type": "mqtt in", "z": "cada61fae691e52f", "name": "Taster AUS", "topic": "hm/status/BW_und_Licht_Computer_AUS:1/PRESS_SHORT", "qos": "0", "datatype": "auto-detect", "broker": "c46833d59903b816", "nl": false, "rap": true, "rh": 0, "inputs": 0, "x": 120, "y": 440, "wires": [ [ "d7f792c42cbfe06d", "91ac60447c871156" ] ] }, { "id": "70ffcc45ee8d6609", "type": "mqtt in", "z": "cada61fae691e52f", "name": "Bewegung", "topic": "hm/status/BW_und_Licht_Computer_BW:3/MOTION", "qos": "0", "datatype": "auto-detect", "broker": "c46833d59903b816", "nl": false, "rap": true, "rh": 0, "inputs": 0, "x": 120, "y": 580, "wires": [ [ "497f61982cae2820" ] ] }, { "id": "4b9c876d10aa67d9", "type": "mqtt out", "z": "cada61fae691e52f", "name": "Licht schalten", "topic": "hm/set/Licht_FL:1/STATE", "qos": "", "retain": "", "respTopic": "", "contentType": "", "userProps": "", "correl": "", "expiry": "", "broker": "c46833d59903b816", "x": 860, "y": 380, "wires": [] }, { "id": "d7f792c42cbfe06d", "type": "debug", "z": "cada61fae691e52f", "name": "debug 159", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 330, "y": 380, "wires": [] }, { "id": "497f61982cae2820", "type": "rbe", "z": "cada61fae691e52f", "name": "", "func": "rbe", "gap": "", "start": "", "inout": "out", "septopics": true, "property": "payload", "topi": "topic", "x": 270, "y": 580, "wires": [ [ "1eecf88297b623b6", "37de6d27e96a8cc9" ] ] }, { "id": "5e1cb610e0441e30", "type": "mqtt in", "z": "cada61fae691e52f", "name": "Helligkeit", "topic": "hm/status/BW_und_Licht_Computer_BW:3/BRIGHTNESS", "qos": "2", "datatype": "auto-detect", "broker": "c46833d59903b816", "nl": false, "rap": true, "rh": 0, "inputs": 0, "x": 120, "y": 220, "wires": [ [ "ea8cb124d2847297" ] ] }, { "id": "ea8cb124d2847297", "type": "change", "z": "cada61fae691e52f", "name": "", "rules": [ { "t": "set", "p": "brightness", "pt": "flow", "to": "payload.val", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 310, "y": 220, "wires": [ [] ] }, { "id": "ddd3bb585a921f90", "type": "config", "z": "cada61fae691e52f", "name": "", "properties": [ { "p": "brightness", "pt": "flow", "to": "0", "tot": "num" }, { "p": "minhell", "pt": "flow", "to": "500", "tot": "num" }, { "p": "timeout", "pt": "flow", "to": "120000", "tot": "num" }, { "p": "dauer", "pt": "flow", "to": "false", "tot": "bool" } ], "active": true, "x": 110, "y": 160, "wires": [] }, { "id": "1eecf88297b623b6", "type": "function", "z": "cada61fae691e52f", "name": "function 50", "func": "if (msg.payload.val) { // motion erkannt\n if (flow.get(\"brightness\") < flow.get(\"minhell\")) { //dunkel genug?\n msg.payload = true // also LICHT ein\n msg.trigger = \"START\" // und den Timer starten\n return msg\n }\n} // keine Bedingung erfüllt \nreturn null", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 470, "y": 580, "wires": [ [ "f82dcb7922b70666", "1bbeae1601480cbe" ] ] }, { "id": "061c53e4290c9b81", "type": "debug", "z": "cada61fae691e52f", "name": "debug 161", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "true", "targetType": "full", "statusVal": "", "statusType": "auto", "x": 850, "y": 320, "wires": [] }, { "id": "37de6d27e96a8cc9", "type": "debug", "z": "cada61fae691e52f", "name": "debug 162", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 450, "y": 520, "wires": [] }, { "id": "b4d5c00e4cd75824", "type": "function", "z": "cada61fae691e52f", "name": "function 51", "func": "msg.payload = true\nflow.set(\"dauer\", true)\nmsg.debug = {\"dauer\": flow.get(\"dauer\")}\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 330, "y": 320, "wires": [ [ "1bbeae1601480cbe" ] ] }, { "id": "f82dcb7922b70666", "type": "controltimer", "z": "cada61fae691e52f", "name": "", "timerType": "delay", "timerDurationUnit": "minute", "timerDurationType": "num", "timerDuration": 5, "timerLoopTimeoutUnit": "second", "timerLoopTimeoutType": "num", "timerLoopTimeout": 0, "loopTimeoutMessageType": "str", "loopTimeoutMessage": "LOOP_TIMEOUT", "timerMaxLoopIterationsType": "num", "timerMaxLoopIterations": 0, "loopMaxIterationsMessageType": "str", "loopMaxIterationsMessage": "MAX_LOOP_ITERATIONS", "isRunningTimerProgressVisible": true, "outputReceivedMessageOnTimerTrigger": true, "outputReceivedMessageOnTimerHalt": true, "startTimerOnReceivalOfUnknownMessage": false, "resetTimerOnReceivalOfUnknownMessage": false, "resetTimerOnReceivalOfStartAction": true, "continueTimerOnReceivalOfStartAction": false, "isDebugModeEnabled": true, "timerTriggeredMessageType": "str", "timerTriggeredMessage": "TIMER_TRIGGERED", "timerHaltedMessageType": "str", "timerHaltedMessage": "TIMER_HALTED", "isStartActionEnabled": true, "isStopActionEnabled": true, "isResetActionEnabled": true, "isPauseActionEnabled": true, "isContinueActionEnabled": true, "actionPropertyNameType": "str", "actionPropertyName": "trigger", "startActionNameType": "str", "startActionName": "START", "stopActionNameType": "str", "stopActionName": "STOP", "resetActionNameType": "str", "resetActionName": "RESET", "pauseActionNameType": "str", "pauseActionName": "PAUSE", "continueActionNameType": "str", "continueActionName": "CONTINUE", "x": 680, "y": 580, "wires": [ [ "db90be542ef8a846", "6b162a83be4e0357" ], [ "ab112caae7aec05c" ] ] }, { "id": "db90be542ef8a846", "type": "debug", "z": "cada61fae691e52f", "name": "debug 163", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "true", "targetType": "full", "statusVal": "", "statusType": "auto", "x": 910, "y": 560, "wires": [] }, { "id": "ab112caae7aec05c", "type": "debug", "z": "cada61fae691e52f", "name": "debug 164", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "true", "targetType": "full", "statusVal": "", "statusType": "auto", "x": 910, "y": 600, "wires": [] }, { "id": "91ac60447c871156", "type": "function", "z": "cada61fae691e52f", "name": "function 52", "func": "msg.payload = false\nflow.set(\"dauer\", false)\nmsg.debug = { \"dauer\": flow.get(\"dauer\") }\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 330, "y": 440, "wires": [ [ "1bbeae1601480cbe" ] ] }, { "id": "6b162a83be4e0357", "type": "function", "z": "cada61fae691e52f", "name": "function 53", "func": "msg.payload = true\nif (!flow.get(\"dauer\")) {\n msg.payload = false\n}\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 690, "y": 500, "wires": [ [ "1bbeae1601480cbe" ] ] }, { "id": "e4559ddf72d34aab", "type": "comment", "z": "cada61fae691e52f", "name": "Computerlicht schalten", "info": "", "x": 160, "y": 80, "wires": [] }, { "id": "17027ee4b655a094", "type": "mqtt in", "z": "d7346bc232ce6ad2", "name": "", "topic": "hm/status/Fernbedienung_SZ:5/PRESS_SHORT", "qos": "0", "datatype": "auto-detect", "broker": "c46833d59903b816", "nl": false, "rap": true, "rh": 0, "inputs": 0, "x": 360, "y": 260, "wires": [ [ "fded1b1c3c8003b8", "fda9d0eb939d1171" ] ] }, { "id": "b470aa0bfc91f275", "type": "mqtt in", "z": "d7346bc232ce6ad2", "name": "", "topic": "hm/status/Fernbedienung_SZ:6/PRESS_SHORT", "qos": "2", "datatype": "auto-detect", "broker": "c46833d59903b816", "nl": false, "rap": true, "rh": 0, "inputs": 0, "x": 360, "y": 380, "wires": [ [ "e1af73fa8d71f6cf", "3e8ce1e22b848488" ] ] }, { "id": "601e7dacd6fbf0a5", "type": "mqtt out", "z": "d7346bc232ce6ad2", "name": "Schalte Tisch", "topic": "home66/computertisch/tasmota_9906F5/cmnd/POWER", "qos": "0", "retain": "", "respTopic": "", "contentType": "", "userProps": "", "correl": "", "expiry": "", "broker": "c7cf83a81a522047", "x": 1480, "y": 320, "wires": [] }, { "id": "aed9276a361a5532", "type": "change", "z": "d7346bc232ce6ad2", "name": "", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "true", "tot": "bool" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 940, "y": 260, "wires": [ [ "601e7dacd6fbf0a5", "de08f4af3d4b95c3" ] ] }, { "id": "25162170e35487b2", "type": "change", "z": "d7346bc232ce6ad2", "name": "", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "false", "tot": "bool" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 940, "y": 380, "wires": [ [ "601e7dacd6fbf0a5", "76ee810bf1329fcb" ] ] }, { "id": "de08f4af3d4b95c3", "type": "debug", "z": "d7346bc232ce6ad2", "name": "debug 165", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 1370, "y": 160, "wires": [] }, { "id": "76ee810bf1329fcb", "type": "debug", "z": "d7346bc232ce6ad2", "name": "debug 166", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 1350, "y": 440, "wires": [] }, { "id": "fded1b1c3c8003b8", "type": "debug", "z": "d7346bc232ce6ad2", "name": "debug 167", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 630, "y": 140, "wires": [] }, { "id": "e1af73fa8d71f6cf", "type": "debug", "z": "d7346bc232ce6ad2", "name": "debug 168", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 630, "y": 480, "wires": [] }, { "id": "fda9d0eb939d1171", "type": "rbe", "z": "d7346bc232ce6ad2", "name": "", "func": "rbe", "gap": "", "start": "", "inout": "out", "septopics": true, "property": "payload", "topi": "topic", "x": 690, "y": 260, "wires": [ [ "aed9276a361a5532" ] ] }, { "id": "3e8ce1e22b848488", "type": "rbe", "z": "d7346bc232ce6ad2", "name": "", "func": "rbe", "gap": "", "start": "", "inout": "out", "septopics": true, "property": "payload", "topi": "topic", "x": 690, "y": 380, "wires": [ [ "25162170e35487b2" ] ] }, { "id": "82edfa2b4ee8173d", "type": "mqtt in", "z": "24fa477cc8f07351", "name": "Licht_EIN", "topic": "hm/status/Licht_FL_Taster:2/PRESS_SHORT", "qos": "0", "datatype": "auto-detect", "broker": "c46833d59903b816", "nl": false, "rap": true, "rh": 0, "inputs": 0, "x": 120, "y": 540, "wires": [ [ "900fb8cfa81c1c78", "e97a865b25b05125" ] ] }, { "id": "7070ebdad11c28ba", "type": "mqtt in", "z": "24fa477cc8f07351", "name": "Licht_AUS", "topic": "hm/status/Licht_FL_Taster:1/PRESS_SHORT", "qos": "0", "datatype": "auto-detect", "broker": "c46833d59903b816", "nl": false, "rap": true, "rh": 0, "inputs": 0, "x": 120, "y": 440, "wires": [ [ "900fb8cfa81c1c78", "dad88ec88637a80d" ] ] }, { "id": "fc859002d4cea4de", "type": "mqtt in", "z": "24fa477cc8f07351", "name": "BW-Melder - Bewegung", "topic": "zigbee2mqtt/BW_Flur", "qos": "0", "datatype": "auto-detect", "broker": "c46833d59903b816", "nl": false, "rap": true, "rh": 0, "inputs": 0, "x": 170, "y": 760, "wires": [ [ "113d2d1f763c3e51", "ae34425583e89658" ] ] }, { "id": "900fb8cfa81c1c78", "type": "debug", "z": "24fa477cc8f07351", "name": "debug 169", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 430, "y": 500, "wires": [] }, { "id": "113d2d1f763c3e51", "type": "debug", "z": "24fa477cc8f07351", "name": "debug 170", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 370, "y": 700, "wires": [] }, { "id": "c917d83fb018b79a", "type": "comment", "z": "24fa477cc8f07351", "name": "Licht im kleinen Flur schalten", "info": "", "x": 180, "y": 100, "wires": [] }, { "id": "adf7807d515f04de", "type": "config", "z": "24fa477cc8f07351", "name": "", "properties": [ { "p": "switchtime", "pt": "flow", "to": "8:00", "tot": "str" }, { "p": "hell", "pt": "flow", "to": "{\"on\":254,\"off\":0,\"dimmed\":2}", "tot": "json" }, { "p": "hellschwelle", "pt": "flow", "to": "85", "tot": "num" }, { "p": "dauer", "pt": "flow", "to": "false", "tot": "bool" }, { "p": "dimmit", "pt": "flow", "to": "false", "tot": "bool" } ], "active": true, "x": 130, "y": 160, "wires": [] }, { "id": "94cc16fc47e3b577", "type": "mqtt out", "z": "24fa477cc8f07351", "name": "Licht_Flur 2/3 schalten", "topic": "zigbee2mqtt/Licht_Flur/set", "qos": "0", "retain": "", "respTopic": "", "contentType": "", "userProps": "", "correl": "", "expiry": "", "broker": "c46833d59903b816", "x": 1480, "y": 640, "wires": [] }, { "id": "cf21339a19638648", "type": "inject", "z": "24fa477cc8f07351", "name": "EIN", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "", "payloadType": "date", "x": 130, "y": 600, "wires": [ [ "e97a865b25b05125" ] ] }, { "id": "b25b0a585b9c376a", "type": "inject", "z": "24fa477cc8f07351", "name": "AUS", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "", "payloadType": "date", "x": 130, "y": 380, "wires": [ [ "dad88ec88637a80d" ] ] }, { "id": "dad88ec88637a80d", "type": "function", "z": "24fa477cc8f07351", "name": "function 54", "func": "let hell = flow.get('hell')\nmsg.payload = {\"brightness:\": hell.off, \"state\": \"OFF\"}\nflow.set(\"dauer\",false)\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 390, "y": 400, "wires": [ [ "b73499056a181c50" ] ] }, { "id": "5d88b7d9f6abf18f", "type": "function", "z": "24fa477cc8f07351", "name": "Licht_M dimmed", "func": "msg.payload = { \"brightness\": flow.get(\"hell\").dimmed, \"state\": \"ON\" }\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 1090, "y": 580, "wires": [ [ "56f57534bb2da1aa", "64a3b1673c147a50" ] ] }, { "id": "56f57534bb2da1aa", "type": "debug", "z": "24fa477cc8f07351", "name": "debug 172", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "true", "targetType": "full", "statusVal": "", "statusType": "auto", "x": 1450, "y": 480, "wires": [] }, { "id": "c93664edb4f1cbe1", "type": "debug", "z": "24fa477cc8f07351", "name": "debug 173", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 870, "y": 560, "wires": [] }, { "id": "285a95f249c162f8", "type": "debug", "z": "24fa477cc8f07351", "name": "debug 174", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 830, "y": 700, "wires": [] }, { "id": "cd2f58605d7fa622", "type": "comment", "z": "24fa477cc8f07351", "name": "Taster", "info": "", "x": 110, "y": 320, "wires": [] }, { "id": "ff514b3f39c15a2e", "type": "comment", "z": "24fa477cc8f07351", "name": "Bewegungsmelder", "info": "", "x": 150, "y": 700, "wires": [] }, { "id": "715c08af97321fcc", "type": "comment", "z": "24fa477cc8f07351", "name": "ToDos", "info": " 2025-10-05\n - EIN mit Dppelklick oder lange drücken -> auf jeden Fall VOLL an\n - AUS schalten, wenn Pröäsenzmelder abgelaufen???", "x": 350, "y": 180, "wires": [] }, { "id": "ae34425583e89658", "type": "rbe", "z": "24fa477cc8f07351", "name": "Änderung", "func": "rbe", "gap": "", "start": "", "inout": "out", "septopics": true, "property": "payload.occupancy", "topi": "topic", "x": 400, "y": 760, "wires": [ [ "0878fcb497332129" ] ] }, { "id": "0878fcb497332129", "type": "switch", "z": "24fa477cc8f07351", "name": "", "property": "payload.occupancy", "propertyType": "msg", "rules": [ { "t": "true" }, { "t": "else" } ], "checkall": "true", "repair": false, "outputs": 2, "x": 570, "y": 760, "wires": [ [ "1c9a5dd9d9435fbb" ], [ "7b90fe83fb107a42" ] ] }, { "id": "78777c3b9220cbf7", "type": "link in", "z": "24fa477cc8f07351", "name": "link in 5", "links": [ "18b32b07d1da54bb" ], "x": 255, "y": 360, "wires": [ [ "dad88ec88637a80d" ] ] }, { "id": "18b32b07d1da54bb", "type": "link out", "z": "24fa477cc8f07351", "name": "link out 5", "mode": "link", "links": [ "78777c3b9220cbf7" ], "x": 925, "y": 780, "wires": [] }, { "id": "521da502d71794ec", "type": "inject", "z": "24fa477cc8f07351", "name": "", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "{\"brightness\": 200, \"state\": \"ON\"}", "payloadType": "json", "x": 1170, "y": 760, "wires": [ [ "94cc16fc47e3b577" ] ] }, { "id": "64a3b1673c147a50", "type": "mqtt out", "z": "24fa477cc8f07351", "name": "Licht_Flur Mitte schalten", "topic": "zigbee2mqtt/Licht_Flur_M/set", "qos": "0", "retain": "", "respTopic": "", "contentType": "", "userProps": "", "correl": "", "expiry": "", "broker": "c46833d59903b816", "x": 1490, "y": 580, "wires": [] }, { "id": "bfc0a82d33f4b9fc", "type": "function", "z": "24fa477cc8f07351", "name": "Lich 1/M/3 ON", "func": "let cmd = {\"brightness\": flow.get(\"hell\").on, \"state\": \"ON\"}\nmsg.payload = cmd\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 1080, "y": 680, "wires": [ [ "94cc16fc47e3b577", "64a3b1673c147a50" ] ] }, { "id": "6cabe865e5a19791", "type": "function", "z": "24fa477cc8f07351", "name": "Licht 1/3 OFF", "func": "msg.payload = { \"brightness\": flow.get(\"hell\").off, \"state\": \"OFF\" }\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 1080, "y": 620, "wires": [ [ "94cc16fc47e3b577" ] ] }, { "id": "6f152bacfc68d241", "type": "function", "z": "24fa477cc8f07351", "name": "function 56", "func": "flow.set(\"inRange\", msg.payload)\nmsg.flow = {\"inRange\":flow.get(\"inRange\")}\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 430, "y": 240, "wires": [ [] ] }, { "id": "aa96208d86e9ca3b", "type": "cronplus", "z": "24fa477cc8f07351", "name": "Tagesbereich 0h00-7h00", "outputField": "payload", "timeZone": "Europe/Berlin", "storeName": "", "commandResponseMsgOutput": "output1", "defaultLocation": "", "defaultLocationType": "default", "outputs": 1, "options": [ { "name": "start_day", "topic": "day_status", "payloadType": "bool", "payload": "true", "expressionType": "cron", "expression": "0 0 * * *", "location": "", "offset": "0", "solarType": "all", "solarEvents": "sunrise" }, { "name": "end_day", "topic": "day_status", "payloadType": "bool", "payload": "false", "expressionType": "cron", "expression": "00 8 * * *", "location": "", "offset": "0", "solarType": "all", "solarEvents": "sunset" } ], "x": 170, "y": 240, "wires": [ [ "29eb172c3a133df4", "6f152bacfc68d241" ] ] }, { "id": "29eb172c3a133df4", "type": "debug", "z": "24fa477cc8f07351", "name": "cron-plus out", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "true", "targetType": "full", "x": 440, "y": 300, "wires": [] }, { "id": "1c9a5dd9d9435fbb", "type": "switch", "z": "24fa477cc8f07351", "name": "", "property": "inRange", "propertyType": "flow", "rules": [ { "t": "true" }, { "t": "else" } ], "checkall": "true", "repair": false, "outputs": 2, "x": 650, "y": 640, "wires": [ [ "5d88b7d9f6abf18f", "6cabe865e5a19791", "c93664edb4f1cbe1" ], [ "bfc0a82d33f4b9fc", "285a95f249c162f8" ] ] }, { "id": "e97a865b25b05125", "type": "change", "z": "24fa477cc8f07351", "name": "", "rules": [ { "t": "set", "p": "dauer", "pt": "flow", "to": "true", "tot": "bool" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 420, "y": 560, "wires": [ [ "bfc0a82d33f4b9fc" ] ] }, { "id": "7b90fe83fb107a42", "type": "function", "z": "24fa477cc8f07351", "name": "function 57", "func": "if ( flow.get(\"dauer\") ) {\nreturn null;\n}\nreturn msg", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 750, "y": 780, "wires": [ [ "18b32b07d1da54bb", "f6ca8f68169ef489" ] ] }, { "id": "f6ca8f68169ef489", "type": "debug", "z": "24fa477cc8f07351", "name": "debug 175", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 930, "y": 840, "wires": [] }, { "id": "a1b2c3d4.push", "type": "pushover", "z": "958848d44d119e45", "name": "Push aufs iPhone", "device": "iphonerxf", "title": "Briefkasten", "priority": 0, "sound": "pushover", "url": "", "url_title": "", "html": false, "x": 1330, "y": 240, "wires": [] }, { "id": "927a2143c96dc0cc", "type": "mqtt in", "z": "958848d44d119e45", "name": "", "topic": "zigbee2mqtt/Briefkasten_Switch", "qos": "0", "datatype": "auto-detect", "broker": "c46833d59903b816", "nl": false, "rap": true, "rh": 0, "inputs": 0, "x": 270, "y": 240, "wires": [ [ "d72d7548f9c77cf6" ] ] }, { "id": "d72d7548f9c77cf6", "type": "rbe", "z": "958848d44d119e45", "name": "", "func": "rbe", "gap": "", "start": "", "inout": "out", "septopics": false, "property": "payload.contact", "topi": "topic", "x": 530, "y": 240, "wires": [ [ "5fd55a9958176900", "1156238102556e13" ] ] }, { "id": "1156238102556e13", "type": "debug", "z": "958848d44d119e45", "name": "Briefkasten_Switch_gefiltert", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 760, "y": 160, "wires": [] }, { "id": "5fd55a9958176900", "type": "switch", "z": "958848d44d119e45", "name": "isOpen?", "property": "payload.contact", "propertyType": "msg", "rules": [ { "t": "false" }, { "t": "else" } ], "checkall": "true", "repair": false, "outputs": 2, "x": 740, "y": 240, "wires": [ [ "810fc68217dd8490" ], [] ] }, { "id": "810fc68217dd8490", "type": "change", "z": "958848d44d119e45", "name": "Meldungs-Text", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "POST - Klappe betätigt", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1020, "y": 240, "wires": [ [ "a1b2c3d4.push" ] ] }, { "id": "6dd34ba09c7114fa", "type": "inject", "z": "958848d44d119e45", "name": "", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "{\"contact\": false}", "payloadType": "json", "x": 240, "y": 320, "wires": [ [ "d72d7548f9c77cf6" ] ] }, { "id": "debug1", "type": "debug", "z": "9af67c7112bb80c5", "name": "Debug", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 810, "y": 140, "wires": [] }, { "id": "cc9ef585fe86bc66", "type": "mqtt out", "z": "9af67c7112bb80c5", "name": "", "topic": "home66/computertisch_rxf/tasmota_990612/cmnd/POWER", "qos": "0", "retain": "", "respTopic": "", "contentType": "", "userProps": "", "correl": "", "expiry": "", "broker": "c46833d59903b816", "x": 1140, "y": 220, "wires": [] }, { "id": "ba2d91b3b3393fc0", "type": "inject", "z": "9af67c7112bb80c5", "name": "EIN-Schalten", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "true", "payloadType": "bool", "x": 370, "y": 160, "wires": [ [ "3124d27a1df4471e" ] ] }, { "id": "21a0932d03d99deb", "type": "inject", "z": "9af67c7112bb80c5", "name": "AUS-Schalten", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "false", "payloadType": "bool", "x": 370, "y": 260, "wires": [ [ "3124d27a1df4471e" ] ] }, { "id": "3124d27a1df4471e", "type": "ui-switch", "z": "9af67c7112bb80c5", "name": "", "label": "Monitore:", "group": "d4177dcf79a5a58b", "order": 0, "width": 0, "height": 0, "passthru": false, "decouple": false, "topic": "topic", "topicType": "msg", "style": "", "className": "", "layout": "row-left", "clickableArea": "switch", "onvalue": "ON", "onvalueType": "str", "onicon": "", "oncolor": "", "offvalue": "OFF", "offvalueType": "str", "officon": "", "offcolor": "", "x": 620, "y": 220, "wires": [ [ "cc9ef585fe86bc66", "debug1" ] ] }, { "id": "99e967e3c2987ab5", "type": "mqtt out", "z": "29da089dbee16ea0", "name": "Schalte Heizung", "topic": "home66/shellyplus1-CL_Heizung/rpc", "qos": "0", "retain": "false", "respTopic": "", "contentType": "", "userProps": "", "correl": "", "expiry": "", "broker": "c46833d59903b816", "x": 1160, "y": 1160, "wires": [] }, { "id": "5331faac4043a7ab", "type": "debug", "z": "29da089dbee16ea0", "name": "debug 179", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 870, "y": 1080, "wires": [] }, { "id": "f2a8612d3fe812d6", "type": "mqtt out", "z": "29da089dbee16ea0", "name": "CL_Fenster AUF/ZU", "topic": "hm/set/Fenster_CL_Schließer:1/LEVEL", "qos": "0", "retain": "false", "respTopic": "", "contentType": "", "userProps": "", "correl": "", "expiry": "", "broker": "c46833d59903b816", "x": 1160, "y": 420, "wires": [] }, { "id": "3671c5b666861758", "type": "change", "z": "29da089dbee16ea0", "name": "Fenster AUF", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "1", "tot": "num" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 850, "y": 500, "wires": [ [ "8c8ca301f85a731f" ] ] }, { "id": "cd43b0be591a80e9", "type": "change", "z": "29da089dbee16ea0", "name": "Fenster ZU", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "0", "tot": "num" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 850, "y": 340, "wires": [ [ "8c8ca301f85a731f" ] ] }, { "id": "29546d1141a23d2f", "type": "trigger", "z": "29da089dbee16ea0", "name": "", "op1": "", "op2": "0", "op1type": "nul", "op2type": "str", "duration": "15", "extend": false, "overrideDelay": false, "units": "min", "reset": "", "bytopic": "all", "topic": "topic", "outputs": 1, "x": 650, "y": 400, "wires": [ [ "cd43b0be591a80e9" ] ] }, { "id": "6ea9ae4f53bfacdb", "type": "comment", "z": "29da089dbee16ea0", "name": "Einfacher 2-Punkt-Regler", "info": "", "x": 210, "y": 620, "wires": [] }, { "id": "c1f0ec82c2407231", "type": "mqtt in", "z": "29da089dbee16ea0", "name": "Ist-Temp einlesen", "topic": "zigbee2mqtt/TH_3", "qos": "2", "datatype": "auto-detect", "broker": "c46833d59903b816", "nl": false, "rap": true, "rh": 0, "inputs": 0, "x": 180, "y": 900, "wires": [ [ "e69becc6e9333990" ] ] }, { "id": "ec906e9d14fd07f1", "type": "function", "z": "29da089dbee16ea0", "name": "2-Punkt-Regler (Hysteres = +/- °)", "func": "if (flow.get(\"fenster\") == 'AUF') {\n msg.payload = {\"heizung\":false, \"fenster\": flow.get(\"fenster\")}\n return msg\n}\nif (flow.get('aussen') > flow.get(\"atschwelle\")) {\n msg.pyaload = {\"hezung\":false, \"at\": flow.get(\"aussen\")}\n return msg\n}\n\nlet t = flow.get(\"ist\")\nlet hys = flow.get(\"hysterese\")\nlet soll = flow.get(\"soll\")\nif ( t >= (soll + hys)) {\n msg.payload = {\"heizung\": false}\n return msg;\n} else if (t <= (soll - hys)) {\n msg.payload = {\"heizung\": true}\n return msg;\n}\nmsg.payload = {\"wedernoch\": true, \"t\": t, \"hys\": hys, \"soll\": soll}\nreturn msg", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 570, "y": 1160, "wires": [ [ "bb991dfd3b1f2673", "5331faac4043a7ab", "dfd0c6ce3bdada9f" ] ] }, { "id": "f2538d0618fcacc9", "type": "comment", "z": "29da089dbee16ea0", "name": "CL-Fentster/Heizung Steuerung", "info": "## Beschreibung\n* Clo-Fenster per Taste auf/zu \n* Clo-Heizung mit einfachem 2-Punkt-Regler regeln\n* Wenn Fenter offen, den Regler abschalten (und auch die Heizung)\n## Version\nVersion | Datum | Author | Bemerkung\n-------|--------|-------|---\nV 2.0 | 2025-12-30 | rxf | neu aufgesetzut, ohne Reglerperre, alles in der Function node\nV 1.1 | 2024-01-26 | rxf | Reglerperre bei offenem Fenster\nV 1.0 | 2024-01-25 | rxf | erste lauffähige Version\n", "x": 570, "y": 40, "wires": [] }, { "id": "0c95a565db99267a", "type": "config", "z": "29da089dbee16ea0", "name": "Soll = 17 / Hysteres = 0.5", "properties": [ { "p": "soll", "pt": "flow", "to": "17", "tot": "num" }, { "p": "hysterese", "pt": "flow", "to": "0.5", "tot": "num" }, { "p": "aussen", "pt": "flow", "to": "5.0", "tot": "num" }, { "p": "fenster", "pt": "flow", "to": "zu", "tot": "str" }, { "p": "atschwelle", "pt": "flow", "to": "5", "tot": "num" }, { "p": "heizung", "pt": "flow", "to": "AUS", "tot": "str" } ], "active": true, "x": 230, "y": 680, "wires": [] }, { "id": "e69becc6e9333990", "type": "delay", "z": "29da089dbee16ea0", "name": "", "pauseType": "rate", "timeout": "5", "timeoutUnits": "seconds", "rate": "1", "nbRateUnits": "1", "rateUnits": "second", "randomFirst": "1", "randomLast": "5", "randomUnits": "seconds", "drop": true, "allowrate": false, "outputs": 1, "x": 390, "y": 900, "wires": [ [ "838b50cb8a81983f" ] ] }, { "id": "310a18973e2d36f7", "type": "inject", "z": "29da089dbee16ea0", "name": "AUF", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "{\"val\": true}", "payloadType": "json", "x": 170, "y": 500, "wires": [ [ "34cf9bb5b43b18f5" ] ] }, { "id": "5ed855b7d89eea1c", "type": "inject", "z": "29da089dbee16ea0", "name": "ZU", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "{\"val\": false}", "payloadType": "json", "x": 170, "y": 280, "wires": [ [ "cd43b0be591a80e9" ] ] }, { "id": "bb991dfd3b1f2673", "type": "function", "z": "29da089dbee16ea0", "name": "Kommand für Heizung", "func": "if ((msg.payload.heizung == true) || (msg.payload.heizung == false)) {\n let cmnd = { \"id\": 0, \"src\": \"home66/shellyplus1-CL_Heizung/result\", \"method\": \"Switch.Set\", \"params\": { \"id\": 0, \"on\": true } }\n cmnd.params.on = msg.payload.heizung\n msg.payload = cmnd\n return msg;\n}\nreturn", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 900, "y": 1160, "wires": [ [ "a6e00a6ea6047b5a", "99e967e3c2987ab5" ] ] }, { "id": "e8fb696f95a1c7e0", "type": "mqtt in", "z": "29da089dbee16ea0", "name": "Fenster-Taster", "topic": "zigbee2mqtt/Taster_Fenster_Clo", "qos": "0", "datatype": "auto-detect", "broker": "c46833d59903b816", "nl": false, "rap": true, "rh": 0, "inputs": 0, "x": 170, "y": 400, "wires": [ [ "cefb46f165e5288c", "610564d5e21f4ef1" ] ] }, { "id": "cefb46f165e5288c", "type": "debug", "z": "29da089dbee16ea0", "name": "debug 182", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 450, "y": 220, "wires": [] }, { "id": "610564d5e21f4ef1", "type": "switch", "z": "29da089dbee16ea0", "name": "", "property": "payload.action", "propertyType": "msg", "rules": [ { "t": "eq", "v": "double", "vt": "str" }, { "t": "eq", "v": "single", "vt": "str" }, { "t": "eq", "v": "hold", "vt": "str" } ], "checkall": "true", "repair": false, "outputs": 3, "x": 350, "y": 400, "wires": [ [ "cd43b0be591a80e9" ], [ "34cf9bb5b43b18f5" ], [] ] }, { "id": "a93dd06f9ae50d54", "type": "comment", "z": "29da089dbee16ea0", "name": "Fenster AUF mit Taster steuern", "info": "", "x": 150, "y": 220, "wires": [] }, { "id": "ade431b006779696", "type": "mqtt in", "z": "29da089dbee16ea0", "name": "AU-TH_9", "topic": "zigbee2mqtt/TH_9", "qos": "0", "datatype": "auto-detect", "broker": "c46833d59903b816", "nl": false, "rap": true, "rh": 0, "inputs": 0, "x": 160, "y": 820, "wires": [ [ "ee6c44610935c898" ] ] }, { "id": "ff6f72cf502fe2a1", "type": "change", "z": "29da089dbee16ea0", "name": "", "rules": [ { "t": "set", "p": "aussen", "pt": "flow", "to": "payload.temperature", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 540, "y": 820, "wires": [ [ "bc9a3d2f86b1148f", "55b400ce4088a68f" ] ] }, { "id": "bc9a3d2f86b1148f", "type": "debug", "z": "29da089dbee16ea0", "name": "debug 185", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "true", "targetType": "full", "statusVal": "", "statusType": "auto", "x": 770, "y": 760, "wires": [] }, { "id": "838b50cb8a81983f", "type": "change", "z": "29da089dbee16ea0", "name": "", "rules": [ { "t": "set", "p": "ist", "pt": "flow", "to": "payload.temperature", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 570, "y": 900, "wires": [ [ "5a9d44eee4434d19", "55b400ce4088a68f" ] ] }, { "id": "5a9d44eee4434d19", "type": "debug", "z": "29da089dbee16ea0", "name": "debug 186", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 770, "y": 960, "wires": [] }, { "id": "ee6c44610935c898", "type": "delay", "z": "29da089dbee16ea0", "name": "", "pauseType": "rate", "timeout": "5", "timeoutUnits": "seconds", "rate": "1", "nbRateUnits": "1", "rateUnits": "second", "randomFirst": "1", "randomLast": "5", "randomUnits": "seconds", "drop": true, "allowrate": false, "outputs": 1, "x": 350, "y": 820, "wires": [ [ "ff6f72cf502fe2a1" ] ] }, { "id": "ffc7701a22a6dcb3", "type": "function", "z": "29da089dbee16ea0", "name": "function 58", "func": "msg.payload = {\"at\": flow.get(\"aussen\"), \"atschwelle\": flow.get(\"atschwelle\"), \"ist\": flow.get(\"ist\"), \"soll\": flow.get(\"soll\"), \"fenster\": flow.get(\"fenster\")}\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 470, "y": 1240, "wires": [ [ "4a357c9c14ed93fe" ] ] }, { "id": "4a357c9c14ed93fe", "type": "debug", "z": "29da089dbee16ea0", "name": "debug 187", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 670, "y": 1240, "wires": [] }, { "id": "a6e00a6ea6047b5a", "type": "debug", "z": "29da089dbee16ea0", "name": "debug 188", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "statusVal": "", "statusType": "auto", "x": 1150, "y": 1080, "wires": [] }, { "id": "286439aae5fb8e8b", "type": "link out", "z": "29da089dbee16ea0", "name": "link out 6", "mode": "link", "links": [ "b2a0ab967056f2b6", "b294115cf35ee7f4" ], "x": 1185, "y": 860, "wires": [] }, { "id": "b2a0ab967056f2b6", "type": "link in", "z": "29da089dbee16ea0", "name": "link in 6", "links": [ "286439aae5fb8e8b" ], "x": 215, "y": 1160, "wires": [ [ "cc35bf77d41e95d1" ] ] }, { "id": "068fe209e08113f9", "type": "comment", "z": "29da089dbee16ea0", "name": "Dashboard dazu", "info": "", "x": 200, "y": 1380, "wires": [] }, { "id": "dfd79f17c33ad29e", "type": "ui-gauge", "z": "29da089dbee16ea0", "name": "T_Aussen", "group": "176338afeb8a7b58", "order": 2, "width": 3, "height": 3, "gtype": "gauge-half", "gstyle": "needle", "title": "AT", "units": "°C", "icon": "", "prefix": "", "suffix": "", "segments": [ { "from": "-10", "color": "#5cd65c" }, { "from": "5", "color": "#ea5353" } ], "min": "-10", "max": "30", "sizeThickness": 16, "sizeGap": 4, "sizeKeyThickness": 8, "styleRounded": true, "styleGlow": false, "className": "", "x": 920, "y": 1460, "wires": [ [] ] }, { "id": "6c6438585834876a", "type": "ui-gauge", "z": "29da089dbee16ea0", "name": "T-Ist", "group": "176338afeb8a7b58", "order": 1, "width": 3, "height": 3, "gtype": "gauge-half", "gstyle": "needle", "title": "Ist", "units": "°C", "icon": "", "prefix": "", "suffix": "", "segments": [ { "from": "10", "color": "#ff2600" }, { "from": "16.5", "color": "#ffc800" }, { "from": "17.5", "color": "#00f900" } ], "min": "10", "max": "25", "sizeThickness": 16, "sizeGap": 4, "sizeKeyThickness": 8, "styleRounded": true, "styleGlow": false, "className": "", "x": 910, "y": 1540, "wires": [ [] ] }, { "id": "eee4f5e11ec716de", "type": "inject", "z": "29da089dbee16ea0", "name": "1min ticks", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "60", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "", "payloadType": "date", "x": 210, "y": 1500, "wires": [ [ "abaef0d75a14ac36" ] ] }, { "id": "71a9e89509bb1ea5", "type": "function", "z": "29da089dbee16ea0", "name": "function 59", "func": "msg.payload = Math.round(flow.get(\"ist\")*10) / 10\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 690, "y": 1540, "wires": [ [ "6c6438585834876a" ] ] }, { "id": "66c8010dcb0ef319", "type": "ui-text", "z": "29da089dbee16ea0", "group": "176338afeb8a7b58", "order": 4, "width": 0, "height": 0, "name": "Heizung", "label": "Heizung", "format": "{{msg.payload}}", "layout": "col-center", "style": false, "font": "", "fontSize": 16, "color": "#717171", "wrapText": false, "className": "", "x": 920, "y": 1400, "wires": [] }, { "id": "dfd0c6ce3bdada9f", "type": "function", "z": "29da089dbee16ea0", "name": "set flow.heizung", "func": "if (msg.payload.heizung == true) {\n flow.set(\"heizung\", \"EIN\")\n} else if (msg.payload.heizung == false) {\n flow.set(\"heizung\", \"AUS\")\n}\nreturn", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 920, "y": 1240, "wires": [ [] ] }, { "id": "124381b35e1ea6ad", "type": "change", "z": "29da089dbee16ea0", "name": "Set Heizung", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "heizung", "tot": "flow" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 690, "y": 1400, "wires": [ [ "66c8010dcb0ef319" ] ] }, { "id": "14c9a4270298f696", "type": "ui-text", "z": "29da089dbee16ea0", "group": "176338afeb8a7b58", "order": 3, "width": 0, "height": 0, "name": "Fenster", "label": "Fenster", "format": "{{msg.payload}}", "layout": "col-center", "style": false, "font": "", "fontSize": 16, "color": "#717171", "wrapText": false, "className": "", "x": 920, "y": 1600, "wires": [] }, { "id": "d657b2e0d3134f23", "type": "change", "z": "29da089dbee16ea0", "name": "Set Fenster", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "fenster", "tot": "flow" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 690, "y": 1600, "wires": [ [ "14c9a4270298f696" ] ] }, { "id": "2184746d50dadcd4", "type": "ui-switch", "z": "29da089dbee16ea0", "name": "Fenster_AUF/ZU", "label": "Fenster", "group": "176338afeb8a7b58", "order": 5, "width": 0, "height": 0, "passthru": false, "decouple": false, "topic": "topic", "topicType": "msg", "style": "", "className": "", "layout": "row-spread", "clickableArea": "switch", "onvalue": "1", "onvalueType": "num", "onicon": "", "oncolor": "", "offvalue": "0", "offvalueType": "num", "officon": "", "offcolor": "", "x": 790, "y": 220, "wires": [ [ "8c8ca301f85a731f" ] ] }, { "id": "b294115cf35ee7f4", "type": "link in", "z": "29da089dbee16ea0", "name": "link in 7", "links": [ "286439aae5fb8e8b" ], "x": 355, "y": 1440, "wires": [ [ "abaef0d75a14ac36" ] ] }, { "id": "ba76552822052c47", "type": "function", "z": "29da089dbee16ea0", "name": "function 60", "func": "if(msg.payload == 1) {\n flow.set(\"fenster\", \"AUF\")\n} else (flow.set(\"fenster\",\"ZU\"))\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 1090, "y": 560, "wires": [ [ "55b400ce4088a68f" ] ] }, { "id": "9012192d3e8291d8", "type": "function", "z": "29da089dbee16ea0", "name": "function 61", "func": "msg.payload = Math.round(flow.get(\"aussen\")*10) / 10\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 690, "y": 1460, "wires": [ [ "dfd79f17c33ad29e" ] ] }, { "id": "0c5c723c38429eb7", "type": "debug", "z": "e486973a9de7cb5e", "name": "debug 189", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 810, "y": 300, "wires": [] }, { "id": "a85b862dc7aed09a", "type": "inject", "z": "e486973a9de7cb5e", "name": "", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "5", "crontab": "", "once": true, "onceDelay": 0.1, "topic": "", "payload": "", "payloadType": "date", "x": 140, "y": 180, "wires": [ [ "5b675aaa7a49b28d" ] ] }, { "id": "5b675aaa7a49b28d", "type": "moment", "z": "e486973a9de7cb5e", "name": "", "topic": "", "input": "", "inputType": "msg", "inTz": "Europe/Berlin", "adjAmount": 0, "adjType": "days", "adjDir": "add", "format": "HH:mm dddd, DD.MMMM.YYYY", "locale": "de-DE", "output": "", "outputType": "msg", "outTz": "Europe/Berlin", "x": 510, "y": 180, "wires": [ [ "0c5c723c38429eb7", "16ea6de708396284", "6b75fc8de8ec689b" ] ] }, { "id": "16ea6de708396284", "type": "function", "z": "e486973a9de7cb5e", "name": "function 64", "func": "msg.payload = msg.payload.slice(0,5)\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 820, "y": 180, "wires": [ [ "5e6eea029a301d06" ] ] }, { "id": "6b75fc8de8ec689b", "type": "function", "z": "e486973a9de7cb5e", "name": "function 65", "func": "msg.payload = msg.payload.slice(6)\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 820, "y": 240, "wires": [ [ "c64d23015a1f05ca" ] ] }, { "id": "cd137954035babf0", "type": "comment", "z": "e486973a9de7cb5e", "name": "Uhrzeit/Datum anzeigen", "info": "", "x": 160, "y": 120, "wires": [] }, { "id": "5e6eea029a301d06", "type": "ui-text", "z": "e486973a9de7cb5e", "group": "af3e9d46e3375061", "order": 2, "width": "12", "height": "1", "name": "Time", "label": "", "format": "{{msg.payload}}", "layout": "col-center", "style": true, "font": "Arial Black,Arial Black,Gadget,sans-serif", "fontSize": "24", "color": "#717171", "wrapText": false, "className": "", "value": "payload", "valueType": "msg", "x": 1050, "y": 180, "wires": [] }, { "id": "c64d23015a1f05ca", "type": "ui-text", "z": "e486973a9de7cb5e", "group": "af3e9d46e3375061", "order": 1, "width": "12", "height": "1", "name": "Date", "label": "", "format": "{{msg.payload}}", "layout": "col-center", "style": true, "font": "Arial Black,Arial Black,Gadget,sans-serif", "fontSize": "24", "color": "#717171", "wrapText": false, "className": "", "value": "payload", "valueType": "msg", "x": 1050, "y": 240, "wires": [] }, { "id": "6291c06a455f368c", "type": "debug", "z": "568788a0bbe095a3", "name": "debug 190", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 790, "y": 240, "wires": [] }, { "id": "8bad73937f145df3", "type": "inject", "z": "568788a0bbe095a3", "name": "", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "5", "crontab": "", "once": true, "onceDelay": 0.1, "topic": "", "payload": "", "payloadType": "date", "x": 120, "y": 120, "wires": [ [ "4a2092b0faabf0fe" ] ] }, { "id": "4a2092b0faabf0fe", "type": "moment", "z": "568788a0bbe095a3", "name": "", "topic": "", "input": "", "inputType": "msg", "inTz": "Europe/Berlin", "adjAmount": 0, "adjType": "days", "adjDir": "add", "format": "HH:mm dddd, DD.MMMM.YYYY", "locale": "de-DE", "output": "", "outputType": "msg", "outTz": "Europe/Berlin", "x": 490, "y": 120, "wires": [ [ "6291c06a455f368c", "8fcf73fa180de9f1", "13258aa66b20b865" ] ] }, { "id": "8fcf73fa180de9f1", "type": "function", "z": "568788a0bbe095a3", "name": "function 66", "func": "msg.payload = msg.payload.slice(0,5)\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 800, "y": 120, "wires": [ [ "91158573ce100e76" ] ] }, { "id": "13258aa66b20b865", "type": "function", "z": "568788a0bbe095a3", "name": "function 67", "func": "msg.payload = msg.payload.slice(6)\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 800, "y": 180, "wires": [ [ "b19771812dd9111d" ] ] }, { "id": "8d3ed9021dfaf50d", "type": "comment", "z": "568788a0bbe095a3", "name": "Uhrzeit/Datum anzeigen", "info": "", "x": 140, "y": 60, "wires": [] }, { "id": "91158573ce100e76", "type": "ui-text", "z": "568788a0bbe095a3", "group": "3c175ef314bf5b6c", "order": 1, "width": "12", "height": "1", "name": "Time", "label": "", "format": "{{msg.payload}}", "layout": "col-center", "style": true, "font": "Arial Black,Arial Black,Gadget,sans-serif", "fontSize": "24", "color": "#717171", "wrapText": false, "className": "", "value": "payload", "valueType": "msg", "x": 1030, "y": 120, "wires": [] }, { "id": "b19771812dd9111d", "type": "ui-text", "z": "568788a0bbe095a3", "group": "3c175ef314bf5b6c", "order": 2, "width": "12", "height": "1", "name": "Date", "label": "", "format": "{{msg.payload}}", "layout": "col-center", "style": true, "font": "Arial Black,Arial Black,Gadget,sans-serif", "fontSize": "24", "color": "#717171", "wrapText": false, "className": "", "value": "payload", "valueType": "msg", "x": 1030, "y": 180, "wires": [] }, { "id": "97515ad30d24e35f", "type": "mqtt in", "z": "02df653606745379", "name": "Taster_SZ_1", "topic": "zigbee2mqtt/Taster_SZ_1", "qos": "0", "datatype": "auto-detect", "broker": "c46833d59903b816", "nl": false, "rap": true, "rh": 0, "inputs": 0, "x": 210, "y": 180, "wires": [ [ "9de010df5044f2b7" ] ] }, { "id": "0b0f6c1a19006d0c", "type": "mqtt in", "z": "02df653606745379", "name": "Taster_SZ_2", "topic": "zigbee2mqtt/Taster_SZ_2", "qos": "0", "datatype": "auto-detect", "broker": "c46833d59903b816", "nl": false, "rap": true, "rh": 0, "inputs": 0, "x": 210, "y": 260, "wires": [ [ "9de010df5044f2b7" ] ] }, { "id": "a4c35a240b71027e", "type": "debug", "z": "02df653606745379", "name": "debug 191", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 930, "y": 140, "wires": [] }, { "id": "50d6da0abe1f2303", "type": "inject", "z": "02df653606745379", "name": "", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "{\"action\":\"single\"}", "payloadType": "json", "x": 250, "y": 120, "wires": [ [ "3ddff87f704fe75c" ] ] }, { "id": "3ddff87f704fe75c", "type": "toggleUltimate", "z": "02df653606745379", "name": "Toggle", "valueToToggle": "false", "payloadPropName": "payload.action", "x": 690, "y": 220, "wires": [ [ "a4c35a240b71027e", "2a504c7cfa845506" ] ] }, { "id": "c0e0f8cb527568c2", "type": "mqtt out", "z": "02df653606745379", "name": "Unterlicht", "topic": "zigbee2mqtt/Steckdose_z20/set", "qos": "0", "retain": "", "respTopic": "", "contentType": "", "userProps": "", "correl": "", "expiry": "", "broker": "c46833d59903b816", "x": 1200, "y": 220, "wires": [] }, { "id": "2a504c7cfa845506", "type": "function", "z": "02df653606745379", "name": "function 71", "func": "if (msg.payload === true) {\n msg.payload = {\"state\":\"ON\"}\n} else {\n msg.payload = { \"state\": \"OFF\" }\n}\nreturn msg;", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 970, "y": 220, "wires": [ [ "c0e0f8cb527568c2", "7b92da28b5b97d30" ] ] }, { "id": "7b92da28b5b97d30", "type": "debug", "z": "02df653606745379", "name": "debug 192", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 1210, "y": 140, "wires": [] }, { "id": "9de010df5044f2b7", "type": "switch", "z": "02df653606745379", "name": "", "property": "payload.action", "propertyType": "msg", "rules": [ { "t": "eq", "v": "single", "vt": "str" }, { "t": "eq", "v": "double", "vt": "str" } ], "checkall": "true", "repair": false, "outputs": 2, "x": 450, "y": 220, "wires": [ [ "3ddff87f704fe75c", "e183932dbd19bb66" ], [] ] }, { "id": "e183932dbd19bb66", "type": "debug", "z": "02df653606745379", "name": "debug 193", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 690, "y": 100, "wires": [] } ]