Files
smarthome/flows.json

12841 lines
319 KiB
JSON

[
{
"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": "9f826196c06ea578",
"type": "tab",
"label": "CL_Fenster_Heizung",
"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": "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": "90ce85278d757821",
"type": "junction",
"z": "9f826196c06ea578",
"x": 1120,
"y": 480,
"wires": [
[
"cb958466b4f4951d",
"5a999538205738cd",
"0d09956c322460bc"
]
]
},
{
"id": "3d0189e0d1661e53",
"type": "junction",
"z": "9f826196c06ea578",
"x": 580,
"y": 520,
"wires": [
[
"60c4434b2d846c46",
"8877d804c0a2c596",
"dec850c65b5c8c5a"
]
]
},
{
"id": "2583cb353da1a31e",
"type": "junction",
"z": "9f826196c06ea578",
"x": 880,
"y": 380,
"wires": [
[]
]
},
{
"id": "0c0faa8d4cd3b990",
"type": "junction",
"z": "9f826196c06ea578",
"x": 1160,
"y": 780,
"wires": [
[
"dbb38ac3029b3aac"
]
]
},
{
"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": "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": "37bd8485e5bff627",
"type": "mongodb4-client",
"name": "",
"protocol": "mongodb",
"hostname": "",
"port": "",
"dbName": "smarthome",
"appName": "",
"authSource": "",
"authMechanism": "DEFAULT",
"tls": false,
"tlsCAFile": "",
"tlsCertificateKeyFile": "",
"tlsInsecure": false,
"connectTimeoutMS": "30000",
"socketTimeoutMS": "0",
"minPoolSize": "0",
"maxPoolSize": "100",
"maxIdleTimeMS": "0",
"uri": "mongodb+srv://rexfue:9JzUXgrZgy1BUqwU@cluster0.2bjs2fc.mongodb.net/?retryWrites=true&w=majority",
"advanced": "{}",
"uriTabActive": "tab-uri-advanced"
},
{
"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": "f6d4eacee867782a",
"type": "ui-page",
"name": "Page 1",
"ui": "a8dc70a6237173a2",
"path": "/page1",
"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": "fc870cba84c7ab0b",
"type": "ui-group",
"name": "Tor",
"page": "f6d4eacee867782a",
"width": "6",
"height": "1",
"order": 2,
"showTitle": true,
"className": "",
"visible": "true",
"disabled": "false",
"groupType": "default"
},
{
"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": "18fed68ccdfeed7d",
"type": "ui_tab",
"name": "Garage",
"icon": "dashboard",
"order": 4,
"disabled": false,
"hidden": false
},
{
"id": "f46af736de5b6e66",
"type": "ui_group",
"name": "Tor",
"tab": "18fed68ccdfeed7d",
"order": 1,
"disp": true,
"width": "6",
"collapse": false,
"className": ""
},
{
"id": "e33c07a1b417c92b",
"type": "ui-group",
"name": "Garage",
"page": "",
"width": "6",
"height": "1",
"order": -1,
"showTitle": true,
"className": "",
"visible": "true",
"disabled": "false",
"groupType": "default"
},
{
"id": "acf7e619a617fc9a",
"type": "ui-group",
"name": "Computer-Tisch",
"page": "f6d4eacee867782a",
"width": "6",
"height": "1",
"order": 1,
"showTitle": true,
"className": "",
"visible": "true",
"disabled": "false",
"groupType": "default"
},
{
"id": "bc1acb6b016af1c1",
"type": "ui_group",
"name": "Switch",
"tab": "",
"order": 1,
"disp": true,
"width": "6",
"collapse": false,
"className": ""
},
{
"id": "8e9c5cd2ce20e067",
"type": "ui-group",
"name": "Computer_Tisch",
"page": "d5934943e3944009",
"width": "6",
"height": "1",
"order": 1,
"showTitle": true,
"className": "",
"visible": "true",
"disabled": "false",
"groupType": "default"
},
{
"id": "2a373aa10f8ffea7",
"type": "ui-page",
"name": "Computertisch",
"ui": "a8dc70a6237173a2",
"path": "/page1",
"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": 4,
"className": "",
"visible": "true",
"disabled": "false"
},
{
"id": "d5934943e3944009",
"type": "ui-page",
"name": "Page Name",
"ui": "a8dc70a6237173a2",
"path": "Switch",
"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": 3,
"className": "",
"visible": "true",
"disabled": "false"
},
{
"id": "9a5095b780d6917f",
"type": "ui-page",
"name": "CT",
"ui": "a8dc70a6237173a2",
"path": "ct",
"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": "2dd3b81710d6bd0a",
"type": "ui-group",
"name": "Group Name",
"page": "9a5095b780d6917f",
"width": "6",
"height": "1",
"order": 1,
"showTitle": true,
"className": "",
"visible": "true",
"disabled": "false",
"groupType": "default"
},
{
"id": "group1",
"type": "ui_group",
"name": "Computer_Tisch",
"tab": "tab1",
"order": 1,
"disp": true,
"width": "6",
"collapse": false,
"className": ""
},
{
"id": "tab1",
"type": "ui_tab",
"name": "Haussteuerung",
"icon": "dashboard",
"order": 1
},
{
"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": [
[
"44743756141dc419"
]
]
},
{
"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": [
[
"44743756141dc419"
]
]
},
{
"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": true,
"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": "1d61c975bc3d2f90",
"type": "ui_chart",
"z": "5bea18a0180b611e",
"name": "",
"group": "51bf0475.ddfd2c",
"order": 9,
"width": 0,
"height": 0,
"label": "Feuchte (6h) [%]",
"chartType": "line",
"legend": "false",
"xformat": "HH:mm",
"interpolate": "bezier",
"nodata": "",
"dot": false,
"ymin": "40",
"ymax": "100",
"removeOlder": "6",
"removeOlderPoints": "",
"removeOlderUnit": "3600",
"cutout": 0,
"useOneColor": false,
"useUTC": false,
"colors": [
"#ff2600",
"#aec7e8",
"#ff7f0e",
"#2ca02c",
"#98df8a",
"#d62728",
"#ff9896",
"#9467bd",
"#c5b0d5"
],
"outputs": 1,
"useDifferentColor": false,
"className": "",
"x": 760,
"y": 1400,
"wires": [
[]
]
},
{
"id": "8f20d4e5e473a9fb",
"type": "change",
"z": "5bea18a0180b611e",
"name": "extract Feuchte",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "payload.humidity",
"tot": "msg"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 440,
"y": 1400,
"wires": [
[
"1d61c975bc3d2f90",
"233c12b67382d05f"
]
]
},
{
"id": "233c12b67382d05f",
"type": "ui_gauge",
"z": "5bea18a0180b611e",
"name": "Feuchte [%]",
"group": "51bf0475.ddfd2c",
"order": 8,
"width": 4,
"height": 3,
"gtype": "gage",
"title": "Feuchte",
"label": "%",
"format": "{{value | number:0}}",
"min": 0,
"max": "100",
"colors": [
"#00f900",
"#fefb00",
"#ca3838"
],
"seg1": "65",
"seg2": "70",
"diff": false,
"className": "",
"x": 750,
"y": 1440,
"wires": []
},
{
"id": "96934666499d9111",
"type": "change",
"z": "5bea18a0180b611e",
"name": "extract Temperatur",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "payload.temperature",
"tot": "msg"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 450,
"y": 1480,
"wires": [
[
"53175fefcf646de7"
]
]
},
{
"id": "53175fefcf646de7",
"type": "ui_gauge",
"z": "5bea18a0180b611e",
"name": "Temp [°C]",
"group": "51bf0475.ddfd2c",
"order": 7,
"width": 4,
"height": 3,
"gtype": "gage",
"title": "Temperatur",
"label": "°C",
"format": "{{value | number:1}}",
"min": "10",
"max": "30",
"colors": [
"#fefb00",
"#00f900",
"#ca3838"
],
"seg1": "20",
"seg2": "25",
"diff": false,
"className": "",
"x": 740,
"y": 1480,
"wires": []
},
{
"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": 1380,
"y": 1240,
"wires": [
[
"44743756141dc419"
]
]
},
{
"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": 1380,
"y": 1000,
"wires": [
[
"44743756141dc419"
]
]
},
{
"id": "b66905309b53413c",
"type": "ui_text",
"z": "5bea18a0180b611e",
"group": "51bf0475.ddfd2c",
"order": 5,
"width": 6,
"height": 1,
"name": "",
"label": "",
"format": "<font size=20px>{{msg.payload}}</font>",
"layout": "row-center",
"className": "",
"style": false,
"font": "",
"fontSize": 16,
"color": "#000000",
"x": 1090,
"y": 1600,
"wires": []
},
{
"id": "c97f3aa37eefed90",
"type": "ui_button",
"z": "5bea18a0180b611e",
"name": "Lüfter AUS",
"group": "51bf0475.ddfd2c",
"order": 11,
"width": 0,
"height": 0,
"passthru": false,
"label": "Lüfter AUS",
"tooltip": "",
"color": "",
"bgcolor": "",
"className": "",
"icon": "",
"payload": "0",
"payloadType": "num",
"topic": "topic",
"topicType": "msg",
"x": 850,
"y": 1340,
"wires": [
[
"7fc8a93be966e775"
]
]
},
{
"id": "4b8932afb8a042fe",
"type": "ui_button",
"z": "5bea18a0180b611e",
"name": "Lüfter EIN",
"group": "51bf0475.ddfd2c",
"order": 10,
"width": 0,
"height": 0,
"passthru": false,
"label": "Lüfter EIN",
"tooltip": "",
"color": "",
"bgcolor": "",
"className": "",
"icon": "",
"payload": "1",
"payloadType": "num",
"topic": "topic",
"topicType": "msg",
"x": 980,
"y": 1060,
"wires": [
[
"ad7ee5e4e67ea173"
]
]
},
{
"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": [
[
"1d61c975bc3d2f90"
]
]
},
{
"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": true,
"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": "194c0a7b693f1b35",
"type": "ui_button",
"z": "5bea18a0180b611e",
"name": "Licht_EIN",
"group": "51bf0475.ddfd2c",
"order": 12,
"width": 0,
"height": 0,
"passthru": false,
"label": "Licht EIN",
"tooltip": "",
"color": "",
"bgcolor": "",
"className": "",
"icon": "",
"payload": "{\"state\":\"on\"}",
"payloadType": "json",
"topic": "topic",
"topicType": "msg",
"x": 1060,
"y": 100,
"wires": [
[
"3e15eb6386d83e69"
]
]
},
{
"id": "361c18ca3e0631c7",
"type": "ui_button",
"z": "5bea18a0180b611e",
"name": "Licht_AUS",
"group": "51bf0475.ddfd2c",
"order": 13,
"width": 0,
"height": 0,
"passthru": false,
"label": "Licht AUS",
"tooltip": "",
"color": "",
"bgcolor": "",
"className": "",
"icon": "",
"payload": "{\"state\":\"off\"}",
"payloadType": "json",
"topic": "topic",
"topicType": "msg",
"x": 1050,
"y": 160,
"wires": [
[
"3e15eb6386d83e69"
]
]
},
{
"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": "c7cf83a81a522047",
"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 08 * * * *",
"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": "dec850c65b5c8c5a",
"type": "change",
"z": "9f826196c06ea578",
"name": "Heizung AUS",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "{\"heizung\": false}",
"tot": "json"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 870,
"y": 700,
"wires": [
[
"0c0faa8d4cd3b990"
]
]
},
{
"id": "c6630df47928ad37",
"type": "mqtt out",
"z": "9f826196c06ea578",
"name": "Schalte Heizung",
"topic": "home66/shellyplus1-CL_Heizung/rpc",
"qos": "0",
"retain": "false",
"respTopic": "",
"contentType": "",
"userProps": "",
"correl": "",
"expiry": "",
"broker": "c46833d59903b816",
"x": 1600,
"y": 740,
"wires": []
},
{
"id": "0f53a1d42ad808ad",
"type": "debug",
"z": "9f826196c06ea578",
"name": "debug 60",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "false",
"statusVal": "",
"statusType": "auto",
"x": 1580,
"y": 680,
"wires": []
},
{
"id": "0d09956c322460bc",
"type": "mqtt out",
"z": "9f826196c06ea578",
"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": 1440,
"y": 480,
"wires": []
},
{
"id": "8877d804c0a2c596",
"type": "change",
"z": "9f826196c06ea578",
"name": "Fenster AUF",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "1",
"tot": "num"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 950,
"y": 520,
"wires": [
[
"90ce85278d757821"
]
]
},
{
"id": "5bb5a5648ca0b59b",
"type": "change",
"z": "9f826196c06ea578",
"name": "Fenster ZU",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "0",
"tot": "num"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 950,
"y": 380,
"wires": [
[
"90ce85278d757821"
]
]
},
{
"id": "60c4434b2d846c46",
"type": "trigger",
"z": "9f826196c06ea578",
"name": "",
"op1": "",
"op2": "0",
"op1type": "nul",
"op2type": "str",
"duration": "15",
"extend": false,
"overrideDelay": false,
"units": "min",
"reset": "",
"bytopic": "all",
"topic": "topic",
"outputs": 1,
"x": 730,
"y": 460,
"wires": [
[
"5bb5a5648ca0b59b"
]
]
},
{
"id": "c78ffd7fe4b7c449",
"type": "comment",
"z": "9f826196c06ea578",
"name": "Einfacher 2-Punkt-Regler",
"info": "",
"x": 330,
"y": 840,
"wires": []
},
{
"id": "e8cae05d1778740f",
"type": "mqtt in",
"z": "9f826196c06ea578",
"name": "Ist-Temp einlesen",
"topic": "zigbee2mqtt/TH_3",
"qos": "2",
"datatype": "auto-detect",
"broker": "c46833d59903b816",
"nl": false,
"rap": true,
"rh": 0,
"inputs": 0,
"x": 300,
"y": 960,
"wires": [
[
"09f36287e0cd1806",
"bbea70ddefbcae21"
]
]
},
{
"id": "ee53aeaca9b44ccc",
"type": "function",
"z": "9f826196c06ea578",
"name": "2-Punkt-Regler (Hysteres = +/- <hysterese>°)",
"func": "let t = msg.payload.temperature\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}\nreturn",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 990,
"y": 880,
"wires": [
[
"0c0faa8d4cd3b990"
]
]
},
{
"id": "09f36287e0cd1806",
"type": "debug",
"z": "9f826196c06ea578",
"name": "debug 71",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "false",
"statusVal": "",
"statusType": "auto",
"x": 500,
"y": 1060,
"wires": []
},
{
"id": "9afb590d1584942d",
"type": "comment",
"z": "9f826196c06ea578",
"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* Zustand der heizung nach Influx speichern\n## Version\nVersion | Datum | Author | Bemerkung\n-------|--------|-------|---\nV 1.1 | 2024-01-26 | rfxf | Reglerperre bei offenem Fenster\nV 1.0 | 2024-01-25 | rxf | erste lauffähige Version\n",
"x": 630,
"y": 80,
"wires": []
},
{
"id": "72d923fab4928420",
"type": "config",
"z": "9f826196c06ea578",
"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": "1",
"tot": "num"
}
],
"active": true,
"x": 350,
"y": 900,
"wires": []
},
{
"id": "b6dd8b419d5a5f4b",
"type": "delay",
"z": "9f826196c06ea578",
"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": 710,
"y": 960,
"wires": [
[
"ee53aeaca9b44ccc",
"339ebd7135c745e3"
]
]
},
{
"id": "d9c24a6b480f3977",
"type": "inject",
"z": "9f826196c06ea578",
"name": "AUF",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "{\"val\": true}",
"payloadType": "json",
"x": 230,
"y": 540,
"wires": [
[
"3d0189e0d1661e53"
]
]
},
{
"id": "b7692a5803fcffd6",
"type": "inject",
"z": "9f826196c06ea578",
"name": "ZU",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "{\"val\": false}",
"payloadType": "json",
"x": 230,
"y": 320,
"wires": [
[
"5bb5a5648ca0b59b"
]
]
},
{
"id": "dbb38ac3029b3aac",
"type": "function",
"z": "9f826196c06ea578",
"name": "Kommand für Heizung",
"func": "let cmnd = { \"id\": 0, \"src\": \"home66/shellyplus1-CL_Heizung/result\", \"method\": \"Switch.Set\", \"params\": { \"id\": 0, \"on\": true } }\ncmnd.params.on = msg.payload.heizung\nmsg.payload = cmnd\nreturn msg;",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 1320,
"y": 740,
"wires": [
[
"0f53a1d42ad808ad"
]
]
},
{
"id": "bbea70ddefbcae21",
"type": "gate",
"z": "9f826196c06ea578",
"name": "Reglersperre",
"controlTopic": "control",
"defaultState": "open",
"openCmd": "open",
"closeCmd": "close",
"toggleCmd": "toggle",
"defaultCmd": "default",
"statusCmd": "status",
"persist": false,
"storeName": "memory",
"x": 510,
"y": 960,
"wires": [
[
"b6dd8b419d5a5f4b"
]
]
},
{
"id": "cb958466b4f4951d",
"type": "function",
"z": "9f826196c06ea578",
"name": "Abh. vom Fenster und Aussentemp die Sperre aktivieren",
"func": "msg.topic = 'control'\nif ((flow.get('aussen') < 5.0) && (flow.get('fenster') == 1)) {\n msg.payload = 'close'\n} else {\n msg.payload = 'open'\n}\nreturn msg;",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 730,
"y": 780,
"wires": [
[
"bbea70ddefbcae21",
"5945403023bb86b1"
]
]
},
{
"id": "339ebd7135c745e3",
"type": "debug",
"z": "9f826196c06ea578",
"name": "debug 72",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "false",
"statusVal": "",
"statusType": "auto",
"x": 980,
"y": 1020,
"wires": []
},
{
"id": "1afc34ece687e69a",
"type": "mqtt in",
"z": "9f826196c06ea578",
"name": "Fenster-Taster",
"topic": "zigbee2mqtt/Taster_Fenster_Clo",
"qos": "0",
"datatype": "auto-detect",
"broker": "c46833d59903b816",
"nl": false,
"rap": true,
"rh": 0,
"inputs": 0,
"x": 230,
"y": 460,
"wires": [
[
"ed6781a1e76023ec",
"add4ce358561c508"
]
]
},
{
"id": "ed6781a1e76023ec",
"type": "debug",
"z": "9f826196c06ea578",
"name": "debug 95",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "false",
"statusVal": "",
"statusType": "auto",
"x": 400,
"y": 380,
"wires": []
},
{
"id": "add4ce358561c508",
"type": "switch",
"z": "9f826196c06ea578",
"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": 410,
"y": 460,
"wires": [
[
"5bb5a5648ca0b59b"
],
[
"3d0189e0d1661e53"
],
[]
]
},
{
"id": "d808e1fc5b17d4ee",
"type": "comment",
"z": "9f826196c06ea578",
"name": "Fenster AUF mit Taster steuern",
"info": "",
"x": 210,
"y": 260,
"wires": []
},
{
"id": "a982aaaf74cc2374",
"type": "mqtt in",
"z": "9f826196c06ea578",
"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": 640,
"wires": [
[
"8b12280fb9b51f3b"
]
]
},
{
"id": "8b12280fb9b51f3b",
"type": "change",
"z": "9f826196c06ea578",
"name": "",
"rules": [
{
"t": "set",
"p": "aussen",
"pt": "flow",
"to": "payload.temperature",
"tot": "msg"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 400,
"y": 640,
"wires": [
[
"cb958466b4f4951d",
"348387098c4753ab"
]
]
},
{
"id": "5a999538205738cd",
"type": "change",
"z": "9f826196c06ea578",
"name": "",
"rules": [
{
"t": "set",
"p": "fenster",
"pt": "flow",
"to": "payload",
"tot": "msg"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 1200,
"y": 300,
"wires": [
[
"a88111ca76d9ca90"
]
]
},
{
"id": "5945403023bb86b1",
"type": "debug",
"z": "9f826196c06ea578",
"name": "debug 176",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "false",
"statusVal": "",
"statusType": "auto",
"x": 1130,
"y": 620,
"wires": []
},
{
"id": "56e1ca51ff084b29",
"type": "debug",
"z": "9f826196c06ea578",
"name": "debug 177",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "true",
"targetType": "full",
"statusVal": "",
"statusType": "auto",
"x": 1630,
"y": 300,
"wires": []
},
{
"id": "a88111ca76d9ca90",
"type": "change",
"z": "9f826196c06ea578",
"name": "",
"rules": [
{
"t": "set",
"p": "debug",
"pt": "msg",
"to": "fenster",
"tot": "flow"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 1420,
"y": 300,
"wires": [
[
"56e1ca51ff084b29"
]
]
},
{
"id": "348387098c4753ab",
"type": "debug",
"z": "9f826196c06ea578",
"name": "debug 178",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "true",
"targetType": "full",
"statusVal": "",
"statusType": "auto",
"x": 590,
"y": 640,
"wires": []
},
{
"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": "<font size=20px>{{msg.payload}}</font>",
"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 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": 620,
"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": [
[
"6694c350a7e2a73d",
"537d68c0ccdf391c"
]
]
},
{
"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": [
[
"4ed54768bc70c1a4",
"c89ac3b91ed84fad"
]
]
},
{
"id": "6694c350a7e2a73d",
"type": "ui_gauge",
"z": "0f906ba2e4239518",
"name": "Feuchte [%]",
"group": "650272fe9af6cd24",
"order": 8,
"width": 4,
"height": 3,
"gtype": "gage",
"title": "Feuchte",
"label": "%",
"format": "{{value | number:0}}",
"min": 0,
"max": "100",
"colors": [
"#00f900",
"#fefb00",
"#ca3838"
],
"seg1": "65",
"seg2": "70",
"diff": false,
"className": "",
"x": 790,
"y": 240,
"wires": []
},
{
"id": "4ed54768bc70c1a4",
"type": "ui_gauge",
"z": "0f906ba2e4239518",
"name": "Temp [°C]",
"group": "650272fe9af6cd24",
"order": 7,
"width": 4,
"height": 3,
"gtype": "gage",
"title": "Temperatur",
"label": "°C",
"format": "{{value | number:1}}",
"min": "-5",
"max": "40",
"colors": [
"#fefb00",
"#00f900",
"#ca3838"
],
"seg1": "20",
"seg2": "25",
"diff": false,
"className": "",
"x": 780,
"y": 320,
"wires": []
},
{
"id": "537d68c0ccdf391c",
"type": "ui_chart",
"z": "0f906ba2e4239518",
"name": "",
"group": "650272fe9af6cd24",
"order": 10,
"width": 0,
"height": 0,
"label": "Feuchte (12h)",
"chartType": "line",
"legend": "false",
"xformat": "HH:mm",
"interpolate": "bezier",
"nodata": "",
"dot": false,
"ymin": "20",
"ymax": "100",
"removeOlder": "12",
"removeOlderPoints": "",
"removeOlderUnit": "3600",
"cutout": 0,
"useOneColor": false,
"useUTC": false,
"colors": [
"#ff2600",
"#aec7e8",
"#ff7f0e",
"#2ca02c",
"#98df8a",
"#d62728",
"#ff9896",
"#9467bd",
"#c5b0d5"
],
"outputs": 1,
"useDifferentColor": false,
"className": "",
"x": 800,
"y": 180,
"wires": [
[]
]
},
{
"id": "c89ac3b91ed84fad",
"type": "ui_chart",
"z": "0f906ba2e4239518",
"name": "",
"group": "650272fe9af6cd24",
"order": 9,
"width": 0,
"height": 0,
"label": "Temperatur (12h)",
"chartType": "line",
"legend": "false",
"xformat": "HH:mm",
"interpolate": "bezier",
"nodata": "",
"dot": false,
"ymin": "",
"ymax": "",
"removeOlder": "12",
"removeOlderPoints": "",
"removeOlderUnit": "3600",
"cutout": 0,
"useOneColor": false,
"useUTC": false,
"colors": [
"#ff2600",
"#aec7e8",
"#ff7f0e",
"#2ca02c",
"#98df8a",
"#d62728",
"#ff9896",
"#9467bd",
"#c5b0d5"
],
"outputs": 1,
"useDifferentColor": false,
"className": "",
"x": 810,
"y": 380,
"wires": [
[]
]
},
{
"id": "677353f9f99004f4",
"type": "debug",
"z": "0f906ba2e4239518",
"name": "debug 125",
"active": false,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"statusVal": "",
"statusType": "auto",
"x": 810,
"y": 600,
"wires": []
},
{
"id": "45a2c2f5f2299b5a",
"type": "inject",
"z": "0f906ba2e4239518",
"name": "",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "5",
"crontab": "",
"once": true,
"onceDelay": 0.1,
"topic": "",
"payload": "",
"payloadType": "date",
"x": 140,
"y": 480,
"wires": [
[
"bdb81a85a63f4c01"
]
]
},
{
"id": "bdb81a85a63f4c01",
"type": "moment",
"z": "0f906ba2e4239518",
"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": 480,
"wires": [
[
"677353f9f99004f4",
"b967ef1739fb527e",
"b4280379538b0983"
]
]
},
{
"id": "346535a9b36c16fb",
"type": "ui_text",
"z": "0f906ba2e4239518",
"group": "650272fe9af6cd24",
"order": 2,
"width": 6,
"height": 1,
"name": "",
"label": "",
"format": "<font size=20px>{{msg.payload}}</font>",
"layout": "row-center",
"className": "",
"style": false,
"font": "",
"fontSize": 16,
"color": "#000000",
"x": 1060,
"y": 480,
"wires": []
},
{
"id": "b967ef1739fb527e",
"type": "function",
"z": "0f906ba2e4239518",
"name": "function 39",
"func": "msg.payload = msg.payload.slice(0,5)\nreturn msg;",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 820,
"y": 480,
"wires": [
[
"346535a9b36c16fb"
]
]
},
{
"id": "38d631e6e368ec0f",
"type": "ui_text",
"z": "0f906ba2e4239518",
"group": "650272fe9af6cd24",
"order": 5,
"width": 6,
"height": 1,
"name": "",
"label": "",
"format": "{{msg.payload}}",
"layout": "row-center",
"className": "",
"style": false,
"font": "",
"fontSize": 16,
"color": "#000000",
"x": 1060,
"y": 540,
"wires": []
},
{
"id": "b4280379538b0983",
"type": "function",
"z": "0f906ba2e4239518",
"name": "function 40",
"func": "msg.payload = msg.payload.slice(6)\nreturn msg;",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 820,
"y": 540,
"wires": [
[
"38d631e6e368ec0f"
]
]
},
{
"id": "18e62028647f6375",
"type": "comment",
"z": "0f906ba2e4239518",
"name": "Uhrzeit/Datum anzeigen",
"info": "",
"x": 160,
"y": 420,
"wires": []
},
{
"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": 380,
"wires": []
},
{
"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": [
[
"0e7b4c897c2f06fb"
]
]
},
{
"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": [
[
"0e7b4c897c2f06fb"
]
]
},
{
"id": "0e7b4c897c2f06fb",
"type": "ui_text",
"z": "0ecc4a0267296324",
"group": "f46af736de5b6e66",
"order": 2,
"width": 6,
"height": 1,
"name": "",
"label": "Garagen-Tor ist ",
"format": "<font size=20px>{{msg.payload}}</font>",
"layout": "col-center",
"className": "",
"style": false,
"font": "",
"fontSize": 16,
"color": "#000000",
"x": 1160,
"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": true,
"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": "switch1",
"type": "ui_switch",
"z": "9af67c7112bb80c5",
"name": "Lampe",
"label": "Monitore",
"tooltip": "",
"group": "group1",
"order": 1,
"width": 0,
"height": 0,
"passthru": true,
"decouple": "false",
"topic": "licht/wohnzimmer",
"topicType": "str",
"style": "",
"onvalue": "true",
"onvalueType": "bool",
"onicon": "",
"oncolor": "",
"offvalue": "false",
"offvalueType": "bool",
"officon": "",
"offcolor": "",
"animate": true,
"className": "",
"x": 610,
"y": 200,
"wires": [
[
"debug1",
"cc9ef585fe86bc66"
]
]
},
{
"id": "debug1",
"type": "debug",
"z": "9af67c7112bb80c5",
"name": "Debug",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"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": 200,
"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": [
[
"switch1"
]
]
},
{
"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": [
[
"switch1"
]
]
}
]