This commit is contained in:
Mateusz Gruszczyński
2026-09-02 08:50:51 +02:00
parent a161d8785d
commit 9c6e51fc35
52 changed files with 3763 additions and 285 deletions
+83
View File
@@ -0,0 +1,83 @@
{
"id": "bedroom_window_night",
"category": "night",
"name": {
"pl": "Sypialnia: noc + zamknięte okno",
"en": "Bedroom: night + closed window"
},
"description": {
"pl": "Łączy tryb nocny z NOT otwartego okna, aby profil sleep działał tylko przy zamkniętym oknie.",
"en": "Combines night mode with NOT open-window logic so the sleep profile runs only with a closed window."
},
"flow": {
"nodes": [
{
"id": "node-00000000-0000-4000-8000-000000000148",
"kind": "night_mode",
"x": 35,
"y": 65,
"config": {}
},
{
"id": "node-00000000-0000-4000-8000-000000000149",
"kind": "ha_state",
"x": 35,
"y": 185,
"config": {
"entity_id": "binary_sensor.bedroom_window",
"operator": "eq",
"value": "on"
}
},
{
"id": "node-00000000-0000-4000-8000-000000000150",
"kind": "logic_not",
"x": 275,
"y": 185,
"config": {}
},
{
"id": "node-00000000-0000-4000-8000-000000000151",
"kind": "logic_and",
"x": 500,
"y": 125,
"config": {}
},
{
"id": "node-00000000-0000-4000-8000-000000000152",
"kind": "zone_thermostat",
"x": 745,
"y": 125,
"config": {
"zone_id": "$zone1",
"preset": "sleep",
"setpoint": 20,
"mode": "auto",
"cooldown_seconds": 180
}
}
],
"edges": [
{
"id": "edge-00000000-0000-4000-8000-000000000153",
"from": "node-00000000-0000-4000-8000-000000000149",
"to": "node-00000000-0000-4000-8000-000000000150"
},
{
"id": "edge-00000000-0000-4000-8000-000000000154",
"from": "node-00000000-0000-4000-8000-000000000148",
"to": "node-00000000-0000-4000-8000-000000000151"
},
{
"id": "edge-00000000-0000-4000-8000-000000000155",
"from": "node-00000000-0000-4000-8000-000000000150",
"to": "node-00000000-0000-4000-8000-000000000151"
},
{
"id": "edge-00000000-0000-4000-8000-000000000156",
"from": "node-00000000-0000-4000-8000-000000000151",
"to": "node-00000000-0000-4000-8000-000000000152"
}
]
}
}
+92
View File
@@ -0,0 +1,92 @@
{
"id": "device_resilience",
"category": "reliability",
"name": {
"pl": "Sterowanie tylko przy sprawnym urządzeniu",
"en": "Only when device is healthy"
},
"description": {
"pl": "Uruchamia termostat tylko gdy urządzenie jest włączone, online i tryb domu pozwala na pracę.",
"en": "Runs the thermostat only when the device is enabled, online and house mode allows operation."
},
"flow": {
"nodes": [
{
"id": "node-00000000-0000-4000-8000-000000000157",
"kind": "device_state",
"x": 40,
"y": 55,
"config": {
"device_id": "$device1",
"field": "online",
"operator": "eq",
"value": "true"
}
},
{
"id": "node-00000000-0000-4000-8000-000000000158",
"kind": "device_state",
"x": 40,
"y": 175,
"config": {
"device_id": "$device1",
"field": "enabled",
"operator": "eq",
"value": "true"
}
},
{
"id": "node-00000000-0000-4000-8000-000000000159",
"kind": "house_mode",
"x": 40,
"y": 295,
"config": {
"operator": "neq",
"value": "off"
}
},
{
"id": "node-00000000-0000-4000-8000-000000000160",
"kind": "logic_and",
"x": 315,
"y": 175,
"config": {}
},
{
"id": "node-00000000-0000-4000-8000-000000000161",
"kind": "zone_thermostat",
"x": 570,
"y": 175,
"config": {
"zone_id": "$zone1",
"preset": "auto",
"setpoint": 21,
"mode": "auto",
"cooldown_seconds": 90
}
}
],
"edges": [
{
"id": "edge-00000000-0000-4000-8000-000000000162",
"from": "node-00000000-0000-4000-8000-000000000157",
"to": "node-00000000-0000-4000-8000-000000000160"
},
{
"id": "edge-00000000-0000-4000-8000-000000000163",
"from": "node-00000000-0000-4000-8000-000000000158",
"to": "node-00000000-0000-4000-8000-000000000160"
},
{
"id": "edge-00000000-0000-4000-8000-000000000164",
"from": "node-00000000-0000-4000-8000-000000000159",
"to": "node-00000000-0000-4000-8000-000000000160"
},
{
"id": "edge-00000000-0000-4000-8000-000000000165",
"from": "node-00000000-0000-4000-8000-000000000160",
"to": "node-00000000-0000-4000-8000-000000000161"
}
]
}
}
+130
View File
@@ -0,0 +1,130 @@
{
"id": "dual_threshold_control",
"category": "advanced",
"name": {
"pl": "Dwa progi: grzanie i chłodzenie",
"en": "Dual threshold heating/cooling"
},
"description": {
"pl": "Dwie niezależne gałęzie sterują grzaniem poniżej dolnego progu i chłodzeniem powyżej górnego.",
"en": "Two independent branches heat below the lower threshold and cool above the upper threshold."
},
"flow": {
"nodes": [
{
"id": "node-00000000-0000-4000-8000-000000000312",
"kind": "zone_temperature",
"x": 35,
"y": 70,
"config": {
"zone_id": "$zone1",
"operator": "lt",
"value": 19
}
},
{
"id": "node-00000000-0000-4000-8000-000000000313",
"kind": "zone_temperature",
"x": 35,
"y": 245,
"config": {
"zone_id": "$zone1",
"operator": "gt",
"value": 25
}
},
{
"id": "node-00000000-0000-4000-8000-000000000314",
"kind": "house_mode",
"x": 250,
"y": 70,
"config": {
"operator": "eq",
"value": "heat"
}
},
{
"id": "node-00000000-0000-4000-8000-000000000315",
"kind": "house_mode",
"x": 250,
"y": 245,
"config": {
"operator": "eq",
"value": "cool"
}
},
{
"id": "node-00000000-0000-4000-8000-000000000316",
"kind": "logic_and",
"x": 470,
"y": 70,
"config": {}
},
{
"id": "node-00000000-0000-4000-8000-000000000317",
"kind": "logic_and",
"x": 470,
"y": 245,
"config": {}
},
{
"id": "node-00000000-0000-4000-8000-000000000318",
"kind": "zone_thermostat",
"x": 715,
"y": 70,
"config": {
"zone_id": "$zone1",
"preset": "comfort",
"setpoint": 21,
"mode": "heat",
"cooldown_seconds": 90
}
},
{
"id": "node-00000000-0000-4000-8000-000000000319",
"kind": "zone_thermostat",
"x": 715,
"y": 245,
"config": {
"zone_id": "$zone1",
"preset": "comfort",
"setpoint": 21,
"mode": "cool",
"cooldown_seconds": 90
}
}
],
"edges": [
{
"id": "edge-00000000-0000-4000-8000-000000000320",
"from": "node-00000000-0000-4000-8000-000000000312",
"to": "node-00000000-0000-4000-8000-000000000316"
},
{
"id": "edge-00000000-0000-4000-8000-000000000321",
"from": "node-00000000-0000-4000-8000-000000000314",
"to": "node-00000000-0000-4000-8000-000000000316"
},
{
"id": "edge-00000000-0000-4000-8000-000000000322",
"from": "node-00000000-0000-4000-8000-000000000313",
"to": "node-00000000-0000-4000-8000-000000000317"
},
{
"id": "edge-00000000-0000-4000-8000-000000000323",
"from": "node-00000000-0000-4000-8000-000000000315",
"to": "node-00000000-0000-4000-8000-000000000317"
},
{
"id": "edge-00000000-0000-4000-8000-000000000324",
"from": "node-00000000-0000-4000-8000-000000000316",
"to": "node-00000000-0000-4000-8000-000000000318"
},
{
"id": "edge-00000000-0000-4000-8000-000000000325",
"from": "node-00000000-0000-4000-8000-000000000317",
"to": "node-00000000-0000-4000-8000-000000000319"
}
]
}
}
+75
View File
@@ -0,0 +1,75 @@
{
"id": "energy_price_eco",
"category": "energy",
"name": {
"pl": "Droga energia + brak domowników",
"en": "Expensive energy + nobody home"
},
"description": {
"pl": "Przy wysokiej cenie energii i nieobecności przełącza wybraną strefę w oszczędny profil away.",
"en": "When energy is expensive and nobody is home, switches the selected zone to an economical away profile."
},
"flow": {
"nodes": [
{
"id": "node-00000000-0000-4000-8000-000000000054",
"kind": "ha_numeric",
"x": 40,
"y": 70,
"config": {
"entity_id": "sensor.energy_price",
"operator": "gt",
"value": 0.8
}
},
{
"id": "node-00000000-0000-4000-8000-000000000055",
"kind": "ha_state",
"x": 40,
"y": 190,
"config": {
"entity_id": "person.someone",
"operator": "neq",
"value": "home"
}
},
{
"id": "node-00000000-0000-4000-8000-000000000056",
"kind": "logic_and",
"x": 315,
"y": 130,
"config": {}
},
{
"id": "node-00000000-0000-4000-8000-000000000057",
"kind": "zone_thermostat",
"x": 570,
"y": 130,
"config": {
"zone_id": "$zone1",
"preset": "away",
"setpoint": 18,
"mode": "auto",
"cooldown_seconds": 300
}
}
],
"edges": [
{
"id": "edge-00000000-0000-4000-8000-000000000058",
"from": "node-00000000-0000-4000-8000-000000000054",
"to": "node-00000000-0000-4000-8000-000000000056"
},
{
"id": "edge-00000000-0000-4000-8000-000000000059",
"from": "node-00000000-0000-4000-8000-000000000055",
"to": "node-00000000-0000-4000-8000-000000000056"
},
{
"id": "edge-00000000-0000-4000-8000-000000000060",
"from": "node-00000000-0000-4000-8000-000000000056",
"to": "node-00000000-0000-4000-8000-000000000057"
}
]
}
}
+89
View File
@@ -0,0 +1,89 @@
{
"id": "frost_guard",
"category": "safety",
"name": {
"pl": "Ochrona przeciwzamrożeniowa",
"en": "Frost protection"
},
"description": {
"pl": "W trybie grzania, przy niskiej temperaturze zewnętrznej i pokojowej, ustawia bezpieczny niski cel termostatu.",
"en": "In heating mode, low outdoor and room temperatures select a safe low thermostat target."
},
"flow": {
"nodes": [
{
"id": "node-00000000-0000-4000-8000-000000000084",
"kind": "house_mode",
"x": 35,
"y": 50,
"config": {
"operator": "eq",
"value": "heat"
}
},
{
"id": "node-00000000-0000-4000-8000-000000000085",
"kind": "outdoor_temperature",
"x": 35,
"y": 170,
"config": {
"operator": "lt",
"value": 3
}
},
{
"id": "node-00000000-0000-4000-8000-000000000086",
"kind": "zone_temperature",
"x": 35,
"y": 290,
"config": {
"zone_id": "$zone1",
"operator": "lt",
"value": 9
}
},
{
"id": "node-00000000-0000-4000-8000-000000000087",
"kind": "logic_and",
"x": 315,
"y": 170,
"config": {}
},
{
"id": "node-00000000-0000-4000-8000-000000000088",
"kind": "zone_thermostat",
"x": 575,
"y": 170,
"config": {
"zone_id": "$zone1",
"preset": "custom",
"setpoint": 12,
"mode": "heat",
"cooldown_seconds": 300
}
}
],
"edges": [
{
"id": "edge-00000000-0000-4000-8000-000000000089",
"from": "node-00000000-0000-4000-8000-000000000084",
"to": "node-00000000-0000-4000-8000-000000000087"
},
{
"id": "edge-00000000-0000-4000-8000-000000000090",
"from": "node-00000000-0000-4000-8000-000000000085",
"to": "node-00000000-0000-4000-8000-000000000087"
},
{
"id": "edge-00000000-0000-4000-8000-000000000091",
"from": "node-00000000-0000-4000-8000-000000000086",
"to": "node-00000000-0000-4000-8000-000000000087"
},
{
"id": "edge-00000000-0000-4000-8000-000000000092",
"from": "node-00000000-0000-4000-8000-000000000087",
"to": "node-00000000-0000-4000-8000-000000000088"
}
]
}
}
+91
View File
@@ -0,0 +1,91 @@
{
"id": "ha_attribute_mode_guard",
"category": "advanced",
"name": {
"pl": "Atrybut HA + okno + dostępność",
"en": "HA attribute + window + availability"
},
"description": {
"pl": "Czyta atrybut hvac_action, dostępność encji i stan okna, aby zatrzymać HVAC tylko przy wiarygodnych danych.",
"en": "Reads hvac_action, entity availability and window state to stop HVAC only when the data is trustworthy."
},
"flow": {
"nodes": [
{
"id": "node-00000000-0000-4000-8000-000000000337",
"kind": "ha_attribute",
"x": 35,
"y": 60,
"config": {
"entity_id": "climate.living_room",
"attribute": "hvac_action",
"operator": "neq",
"value": "idle"
}
},
{
"id": "node-00000000-0000-4000-8000-000000000338",
"kind": "ha_state",
"x": 35,
"y": 180,
"config": {
"entity_id": "binary_sensor.window",
"operator": "eq",
"value": "on"
}
},
{
"id": "node-00000000-0000-4000-8000-000000000339",
"kind": "ha_available",
"x": 35,
"y": 300,
"config": {
"entity_id": "climate.living_room"
}
},
{
"id": "node-00000000-0000-4000-8000-000000000340",
"kind": "logic_and",
"x": 315,
"y": 180,
"config": {}
},
{
"id": "node-00000000-0000-4000-8000-000000000341",
"kind": "zone_thermostat",
"x": 575,
"y": 180,
"config": {
"zone_id": "$zone1",
"preset": "auto",
"setpoint": 21,
"mode": "auto",
"cooldown_seconds": 60,
"power": false
}
}
],
"edges": [
{
"id": "edge-00000000-0000-4000-8000-000000000342",
"from": "node-00000000-0000-4000-8000-000000000337",
"to": "node-00000000-0000-4000-8000-000000000340"
},
{
"id": "edge-00000000-0000-4000-8000-000000000343",
"from": "node-00000000-0000-4000-8000-000000000338",
"to": "node-00000000-0000-4000-8000-000000000340"
},
{
"id": "edge-00000000-0000-4000-8000-000000000344",
"from": "node-00000000-0000-4000-8000-000000000339",
"to": "node-00000000-0000-4000-8000-000000000340"
},
{
"id": "edge-00000000-0000-4000-8000-000000000345",
"from": "node-00000000-0000-4000-8000-000000000340",
"to": "node-00000000-0000-4000-8000-000000000341"
}
]
}
}
+105
View File
@@ -0,0 +1,105 @@
{
"id": "ha_boiler_supply_boost",
"category": "home_assistant",
"name": {
"pl": "Gorące zasilanie kotła + zimny pokój → boost",
"en": "Hot boiler supply + cold room → boost"
},
"description": {
"pl": "Czyta sensor.boiler_supply_temperature. Przy temperaturze zasilania powyżej 45°C i zimnym pokoju ustawia GREE na 23,5°C.",
"en": "Reads sensor.boiler_supply_temperature. Above 45°C with a cold room, GREE is set to 23.5°C."
},
"flow": {
"nodes": [
{
"id": "node-00000000-0000-4000-8000-000000000256",
"kind": "ha_available",
"x": 25,
"y": 45,
"config": {
"entity_id": "sensor.boiler_supply_temperature"
}
},
{
"id": "node-00000000-0000-4000-8000-000000000257",
"kind": "ha_numeric",
"x": 25,
"y": 160,
"config": {
"entity_id": "sensor.boiler_supply_temperature",
"operator": "gt",
"value": 45
}
},
{
"id": "node-00000000-0000-4000-8000-000000000258",
"kind": "zone_temperature",
"x": 25,
"y": 275,
"config": {
"zone_id": "$zone1",
"operator": "lt",
"value": 20
}
},
{
"id": "node-00000000-0000-4000-8000-000000000259",
"kind": "house_mode",
"x": 25,
"y": 390,
"config": {
"operator": "eq",
"value": "heat"
}
},
{
"id": "node-00000000-0000-4000-8000-000000000260",
"kind": "logic_and",
"x": 320,
"y": 215,
"config": {}
},
{
"id": "node-00000000-0000-4000-8000-000000000261",
"kind": "zone_thermostat",
"x": 590,
"y": 215,
"config": {
"zone_id": "$zone1",
"preset": "custom",
"setpoint": 23.5,
"mode": "heat",
"cooldown_seconds": 180,
"power": true
}
}
],
"edges": [
{
"id": "edge-00000000-0000-4000-8000-000000000262",
"from": "node-00000000-0000-4000-8000-000000000256",
"to": "node-00000000-0000-4000-8000-000000000260"
},
{
"id": "edge-00000000-0000-4000-8000-000000000263",
"from": "node-00000000-0000-4000-8000-000000000257",
"to": "node-00000000-0000-4000-8000-000000000260"
},
{
"id": "edge-00000000-0000-4000-8000-000000000264",
"from": "node-00000000-0000-4000-8000-000000000258",
"to": "node-00000000-0000-4000-8000-000000000260"
},
{
"id": "edge-00000000-0000-4000-8000-000000000265",
"from": "node-00000000-0000-4000-8000-000000000259",
"to": "node-00000000-0000-4000-8000-000000000260"
},
{
"id": "edge-00000000-0000-4000-8000-000000000266",
"from": "node-00000000-0000-4000-8000-000000000260",
"to": "node-00000000-0000-4000-8000-000000000261"
}
]
}
}
+105
View File
@@ -0,0 +1,105 @@
{
"id": "ha_external_heat_source_assist",
"category": "home_assistant",
"name": {
"pl": "Inne źródło ciepła ON → wspomagaj GREE",
"en": "Other heat source ON → assist with GREE"
},
"description": {
"pl": "Gdy zewnętrzne źródło działa, ale pokój nadal ma mniej niż 20°C, GREE wspomaga je w trybie heat z celem 23°C.",
"en": "When an external heat source is running but the room is still below 20°C, GREE assists in heat mode with a 23°C target."
},
"flow": {
"nodes": [
{
"id": "node-00000000-0000-4000-8000-000000000236",
"kind": "ha_available",
"x": 25,
"y": 40,
"config": {
"entity_id": "binary_sensor.external_heat_source"
}
},
{
"id": "node-00000000-0000-4000-8000-000000000237",
"kind": "ha_state",
"x": 25,
"y": 155,
"config": {
"entity_id": "binary_sensor.external_heat_source",
"operator": "eq",
"value": "on"
}
},
{
"id": "node-00000000-0000-4000-8000-000000000238",
"kind": "zone_temperature",
"x": 25,
"y": 270,
"config": {
"zone_id": "$zone1",
"operator": "lt",
"value": 20
}
},
{
"id": "node-00000000-0000-4000-8000-000000000239",
"kind": "house_mode",
"x": 25,
"y": 385,
"config": {
"operator": "eq",
"value": "heat"
}
},
{
"id": "node-00000000-0000-4000-8000-000000000240",
"kind": "logic_and",
"x": 320,
"y": 210,
"config": {}
},
{
"id": "node-00000000-0000-4000-8000-000000000241",
"kind": "zone_thermostat",
"x": 590,
"y": 210,
"config": {
"zone_id": "$zone1",
"preset": "custom",
"setpoint": 23,
"mode": "heat",
"cooldown_seconds": 180,
"power": true
}
}
],
"edges": [
{
"id": "edge-00000000-0000-4000-8000-000000000242",
"from": "node-00000000-0000-4000-8000-000000000236",
"to": "node-00000000-0000-4000-8000-000000000240"
},
{
"id": "edge-00000000-0000-4000-8000-000000000243",
"from": "node-00000000-0000-4000-8000-000000000237",
"to": "node-00000000-0000-4000-8000-000000000240"
},
{
"id": "edge-00000000-0000-4000-8000-000000000244",
"from": "node-00000000-0000-4000-8000-000000000238",
"to": "node-00000000-0000-4000-8000-000000000240"
},
{
"id": "edge-00000000-0000-4000-8000-000000000245",
"from": "node-00000000-0000-4000-8000-000000000239",
"to": "node-00000000-0000-4000-8000-000000000240"
},
{
"id": "edge-00000000-0000-4000-8000-000000000246",
"from": "node-00000000-0000-4000-8000-000000000240",
"to": "node-00000000-0000-4000-8000-000000000241"
}
]
}
}
+74
View File
@@ -0,0 +1,74 @@
{
"id": "ha_external_heat_source_off",
"category": "home_assistant",
"name": {
"pl": "Inne źródło ciepła ON → wyłącz GREE",
"en": "Other heat source ON → turn GREE off"
},
"description": {
"pl": "Ogólny preset dla kominka, pieca lub innego źródła. Stan binary_sensor.external_heat_source = on wyłącza grupę albo strefę GREE.",
"en": "Generic fireplace, furnace or other source preset. binary_sensor.external_heat_source = on turns the GREE group or zone off."
},
"flow": {
"nodes": [
{
"id": "node-00000000-0000-4000-8000-000000000229",
"kind": "ha_available",
"x": 35,
"y": 70,
"config": {
"entity_id": "binary_sensor.external_heat_source"
}
},
{
"id": "node-00000000-0000-4000-8000-000000000230",
"kind": "ha_state",
"x": 35,
"y": 200,
"config": {
"entity_id": "binary_sensor.external_heat_source",
"operator": "eq",
"value": "on"
}
},
{
"id": "node-00000000-0000-4000-8000-000000000231",
"kind": "logic_and",
"x": 315,
"y": 135,
"config": {}
},
{
"id": "node-00000000-0000-4000-8000-000000000232",
"kind": "group_action",
"x": 575,
"y": 135,
"config": {
"group_id": "$group1",
"power": false,
"mode": "auto",
"preset": "auto",
"setpoint": 21,
"cooldown_seconds": 120
}
}
],
"edges": [
{
"id": "edge-00000000-0000-4000-8000-000000000233",
"from": "node-00000000-0000-4000-8000-000000000229",
"to": "node-00000000-0000-4000-8000-000000000231"
},
{
"id": "edge-00000000-0000-4000-8000-000000000234",
"from": "node-00000000-0000-4000-8000-000000000230",
"to": "node-00000000-0000-4000-8000-000000000231"
},
{
"id": "edge-00000000-0000-4000-8000-000000000235",
"from": "node-00000000-0000-4000-8000-000000000231",
"to": "node-00000000-0000-4000-8000-000000000232"
}
]
}
}
+106
View File
@@ -0,0 +1,106 @@
{
"id": "ha_gas_backup_heat",
"category": "home_assistant",
"name": {
"pl": "Gaz nie grzeje + zimno → GREE jako backup",
"en": "Gas not heating + room cold → GREE backup"
},
"description": {
"pl": "Gdy encja kotła jest dostępna, ale nie zgłasza heating, a w pokoju jest poniżej 19°C, GREE przejmuje awaryjne grzanie do 22°C.",
"en": "When the boiler entity is available but does not report heating and the room drops below 19°C, GREE provides backup heat to 22°C."
},
"flow": {
"nodes": [
{
"id": "node-00000000-0000-4000-8000-000000000218",
"kind": "ha_available",
"x": 25,
"y": 40,
"config": {
"entity_id": "climate.gas_boiler"
}
},
{
"id": "node-00000000-0000-4000-8000-000000000219",
"kind": "ha_attribute",
"x": 25,
"y": 155,
"config": {
"entity_id": "climate.gas_boiler",
"attribute": "hvac_action",
"operator": "neq",
"value": "heating"
}
},
{
"id": "node-00000000-0000-4000-8000-000000000220",
"kind": "zone_temperature",
"x": 25,
"y": 270,
"config": {
"zone_id": "$zone1",
"operator": "lt",
"value": 19
}
},
{
"id": "node-00000000-0000-4000-8000-000000000221",
"kind": "house_mode",
"x": 25,
"y": 385,
"config": {
"operator": "eq",
"value": "heat"
}
},
{
"id": "node-00000000-0000-4000-8000-000000000222",
"kind": "logic_and",
"x": 320,
"y": 210,
"config": {}
},
{
"id": "node-00000000-0000-4000-8000-000000000223",
"kind": "zone_thermostat",
"x": 590,
"y": 210,
"config": {
"zone_id": "$zone1",
"preset": "custom",
"setpoint": 22,
"mode": "heat",
"cooldown_seconds": 180,
"power": true
}
}
],
"edges": [
{
"id": "edge-00000000-0000-4000-8000-000000000224",
"from": "node-00000000-0000-4000-8000-000000000218",
"to": "node-00000000-0000-4000-8000-000000000222"
},
{
"id": "edge-00000000-0000-4000-8000-000000000225",
"from": "node-00000000-0000-4000-8000-000000000219",
"to": "node-00000000-0000-4000-8000-000000000222"
},
{
"id": "edge-00000000-0000-4000-8000-000000000226",
"from": "node-00000000-0000-4000-8000-000000000220",
"to": "node-00000000-0000-4000-8000-000000000222"
},
{
"id": "edge-00000000-0000-4000-8000-000000000227",
"from": "node-00000000-0000-4000-8000-000000000221",
"to": "node-00000000-0000-4000-8000-000000000222"
},
{
"id": "edge-00000000-0000-4000-8000-000000000228",
"from": "node-00000000-0000-4000-8000-000000000222",
"to": "node-00000000-0000-4000-8000-000000000223"
}
]
}
}
+106
View File
@@ -0,0 +1,106 @@
{
"id": "ha_gas_heating_boost",
"category": "home_assistant",
"name": {
"pl": "Kocioł gazowy grzeje → dogrzewanie GREE",
"en": "Gas boiler heating → GREE heat boost"
},
"description": {
"pl": "Gdy kocioł gazowy aktywnie grzeje, pokój ma mniej niż 20°C i dom jest w trybie heat, GREE wspomaga ogrzewanie celem 23,5°C.",
"en": "When the gas boiler is actively heating, the room is below 20°C and house mode is heat, GREE assists with a 23.5°C target."
},
"flow": {
"nodes": [
{
"id": "node-00000000-0000-4000-8000-000000000198",
"kind": "ha_available",
"x": 25,
"y": 35,
"config": {
"entity_id": "climate.gas_boiler"
}
},
{
"id": "node-00000000-0000-4000-8000-000000000199",
"kind": "ha_attribute",
"x": 25,
"y": 145,
"config": {
"entity_id": "climate.gas_boiler",
"attribute": "hvac_action",
"operator": "eq",
"value": "heating"
}
},
{
"id": "node-00000000-0000-4000-8000-000000000200",
"kind": "zone_temperature",
"x": 25,
"y": 255,
"config": {
"zone_id": "$zone1",
"operator": "lt",
"value": 20
}
},
{
"id": "node-00000000-0000-4000-8000-000000000201",
"kind": "house_mode",
"x": 25,
"y": 365,
"config": {
"operator": "eq",
"value": "heat"
}
},
{
"id": "node-00000000-0000-4000-8000-000000000202",
"kind": "logic_and",
"x": 320,
"y": 200,
"config": {}
},
{
"id": "node-00000000-0000-4000-8000-000000000203",
"kind": "zone_thermostat",
"x": 590,
"y": 200,
"config": {
"zone_id": "$zone1",
"preset": "custom",
"setpoint": 23.5,
"mode": "heat",
"cooldown_seconds": 180,
"power": true
}
}
],
"edges": [
{
"id": "edge-00000000-0000-4000-8000-000000000204",
"from": "node-00000000-0000-4000-8000-000000000198",
"to": "node-00000000-0000-4000-8000-000000000202"
},
{
"id": "edge-00000000-0000-4000-8000-000000000205",
"from": "node-00000000-0000-4000-8000-000000000199",
"to": "node-00000000-0000-4000-8000-000000000202"
},
{
"id": "edge-00000000-0000-4000-8000-000000000206",
"from": "node-00000000-0000-4000-8000-000000000200",
"to": "node-00000000-0000-4000-8000-000000000202"
},
{
"id": "edge-00000000-0000-4000-8000-000000000207",
"from": "node-00000000-0000-4000-8000-000000000201",
"to": "node-00000000-0000-4000-8000-000000000202"
},
{
"id": "edge-00000000-0000-4000-8000-000000000208",
"from": "node-00000000-0000-4000-8000-000000000202",
"to": "node-00000000-0000-4000-8000-000000000203"
}
]
}
}
+75
View File
@@ -0,0 +1,75 @@
{
"id": "ha_gas_heating_off",
"category": "home_assistant",
"name": {
"pl": "Kocioł gazowy grzeje → wyłącz GREE",
"en": "Gas boiler heating → turn GREE off"
},
"description": {
"pl": "Czyta hvac_action z climate.gas_boiler. Gdy HA zgłasza heating i encja jest dostępna, wyłącza wybraną strefę GREE.",
"en": "Reads hvac_action from climate.gas_boiler. When HA reports heating and the entity is available, the selected GREE zone is turned off."
},
"flow": {
"nodes": [
{
"id": "node-00000000-0000-4000-8000-000000000191",
"kind": "ha_available",
"x": 35,
"y": 70,
"config": {
"entity_id": "climate.gas_boiler"
}
},
{
"id": "node-00000000-0000-4000-8000-000000000192",
"kind": "ha_attribute",
"x": 35,
"y": 200,
"config": {
"entity_id": "climate.gas_boiler",
"attribute": "hvac_action",
"operator": "eq",
"value": "heating"
}
},
{
"id": "node-00000000-0000-4000-8000-000000000193",
"kind": "logic_and",
"x": 315,
"y": 135,
"config": {}
},
{
"id": "node-00000000-0000-4000-8000-000000000194",
"kind": "zone_thermostat",
"x": 575,
"y": 135,
"config": {
"zone_id": "$zone1",
"preset": "auto",
"setpoint": 21,
"mode": "auto",
"cooldown_seconds": 120,
"power": false
}
}
],
"edges": [
{
"id": "edge-00000000-0000-4000-8000-000000000195",
"from": "node-00000000-0000-4000-8000-000000000191",
"to": "node-00000000-0000-4000-8000-000000000193"
},
{
"id": "edge-00000000-0000-4000-8000-000000000196",
"from": "node-00000000-0000-4000-8000-000000000192",
"to": "node-00000000-0000-4000-8000-000000000193"
},
{
"id": "edge-00000000-0000-4000-8000-000000000197",
"from": "node-00000000-0000-4000-8000-000000000193",
"to": "node-00000000-0000-4000-8000-000000000194"
}
]
}
}
+91
View File
@@ -0,0 +1,91 @@
{
"id": "ha_gas_heating_reduce",
"category": "home_assistant",
"name": {
"pl": "Kocioł grzeje + pokój ciepły → obniż GREE",
"en": "Boiler heating + room warm → reduce GREE"
},
"description": {
"pl": "Jeśli gaz już grzeje, a strefa osiągnęła co najmniej 21°C, obniża cel GREE do 18°C, aby źródła ciepła nie walczyły ze sobą.",
"en": "When gas heat is already active and the zone reaches at least 21°C, lowers the GREE target to 18°C so the heat sources do not fight each other."
},
"flow": {
"nodes": [
{
"id": "node-00000000-0000-4000-8000-000000000209",
"kind": "ha_available",
"x": 35,
"y": 50,
"config": {
"entity_id": "climate.gas_boiler"
}
},
{
"id": "node-00000000-0000-4000-8000-000000000210",
"kind": "ha_attribute",
"x": 35,
"y": 165,
"config": {
"entity_id": "climate.gas_boiler",
"attribute": "hvac_action",
"operator": "eq",
"value": "heating"
}
},
{
"id": "node-00000000-0000-4000-8000-000000000211",
"kind": "zone_temperature",
"x": 35,
"y": 280,
"config": {
"zone_id": "$zone1",
"operator": "gte",
"value": 21
}
},
{
"id": "node-00000000-0000-4000-8000-000000000212",
"kind": "logic_and",
"x": 315,
"y": 165,
"config": {}
},
{
"id": "node-00000000-0000-4000-8000-000000000213",
"kind": "zone_thermostat",
"x": 575,
"y": 165,
"config": {
"zone_id": "$zone1",
"preset": "custom",
"setpoint": 18,
"mode": "heat",
"cooldown_seconds": 180,
"power": true
}
}
],
"edges": [
{
"id": "edge-00000000-0000-4000-8000-000000000214",
"from": "node-00000000-0000-4000-8000-000000000209",
"to": "node-00000000-0000-4000-8000-000000000212"
},
{
"id": "edge-00000000-0000-4000-8000-000000000215",
"from": "node-00000000-0000-4000-8000-000000000210",
"to": "node-00000000-0000-4000-8000-000000000212"
},
{
"id": "edge-00000000-0000-4000-8000-000000000216",
"from": "node-00000000-0000-4000-8000-000000000211",
"to": "node-00000000-0000-4000-8000-000000000212"
},
{
"id": "edge-00000000-0000-4000-8000-000000000217",
"from": "node-00000000-0000-4000-8000-000000000212",
"to": "node-00000000-0000-4000-8000-000000000213"
}
]
}
}
+89
View File
@@ -0,0 +1,89 @@
{
"id": "ha_heating_demand_follow",
"category": "home_assistant",
"name": {
"pl": "Podążaj za żądaniem grzania z HA",
"en": "Follow Home Assistant heating demand"
},
"description": {
"pl": "Stan binary_sensor.heating_demand = on uruchamia ogrzewanie GREE do 22,5°C, jeśli dom jest w trybie heat.",
"en": "binary_sensor.heating_demand = on starts GREE heating to 22.5°C while the house is in heat mode."
},
"flow": {
"nodes": [
{
"id": "node-00000000-0000-4000-8000-000000000247",
"kind": "ha_available",
"x": 35,
"y": 60,
"config": {
"entity_id": "binary_sensor.heating_demand"
}
},
{
"id": "node-00000000-0000-4000-8000-000000000248",
"kind": "ha_state",
"x": 35,
"y": 180,
"config": {
"entity_id": "binary_sensor.heating_demand",
"operator": "eq",
"value": "on"
}
},
{
"id": "node-00000000-0000-4000-8000-000000000249",
"kind": "house_mode",
"x": 35,
"y": 300,
"config": {
"operator": "eq",
"value": "heat"
}
},
{
"id": "node-00000000-0000-4000-8000-000000000250",
"kind": "logic_and",
"x": 315,
"y": 180,
"config": {}
},
{
"id": "node-00000000-0000-4000-8000-000000000251",
"kind": "zone_thermostat",
"x": 575,
"y": 180,
"config": {
"zone_id": "$zone1",
"preset": "custom",
"setpoint": 22.5,
"mode": "heat",
"cooldown_seconds": 120,
"power": true
}
}
],
"edges": [
{
"id": "edge-00000000-0000-4000-8000-000000000252",
"from": "node-00000000-0000-4000-8000-000000000247",
"to": "node-00000000-0000-4000-8000-000000000250"
},
{
"id": "edge-00000000-0000-4000-8000-000000000253",
"from": "node-00000000-0000-4000-8000-000000000248",
"to": "node-00000000-0000-4000-8000-000000000250"
},
{
"id": "edge-00000000-0000-4000-8000-000000000254",
"from": "node-00000000-0000-4000-8000-000000000249",
"to": "node-00000000-0000-4000-8000-000000000250"
},
{
"id": "edge-00000000-0000-4000-8000-000000000255",
"from": "node-00000000-0000-4000-8000-000000000250",
"to": "node-00000000-0000-4000-8000-000000000251"
}
]
}
}
+106
View File
@@ -0,0 +1,106 @@
{
"id": "ha_thermostat_idle_fallback",
"category": "home_assistant",
"name": {
"pl": "Termostat gazowy idle → awaryjne grzanie GREE",
"en": "Gas thermostat idle → GREE fallback heat"
},
"description": {
"pl": "Jeśli climate.gas_boiler jest dostępny, ma hvac_action=idle i pokój spadnie poniżej 19°C, GREE uruchamia grzanie do 21,5°C.",
"en": "If climate.gas_boiler is available, reports hvac_action=idle and the room falls below 19°C, GREE heats to 21.5°C."
},
"flow": {
"nodes": [
{
"id": "node-00000000-0000-4000-8000-000000000267",
"kind": "ha_available",
"x": 25,
"y": 40,
"config": {
"entity_id": "climate.gas_boiler"
}
},
{
"id": "node-00000000-0000-4000-8000-000000000268",
"kind": "ha_attribute",
"x": 25,
"y": 155,
"config": {
"entity_id": "climate.gas_boiler",
"attribute": "hvac_action",
"operator": "eq",
"value": "idle"
}
},
{
"id": "node-00000000-0000-4000-8000-000000000269",
"kind": "zone_temperature",
"x": 25,
"y": 270,
"config": {
"zone_id": "$zone1",
"operator": "lt",
"value": 19
}
},
{
"id": "node-00000000-0000-4000-8000-000000000270",
"kind": "house_mode",
"x": 25,
"y": 385,
"config": {
"operator": "eq",
"value": "heat"
}
},
{
"id": "node-00000000-0000-4000-8000-000000000271",
"kind": "logic_and",
"x": 320,
"y": 210,
"config": {}
},
{
"id": "node-00000000-0000-4000-8000-000000000272",
"kind": "zone_thermostat",
"x": 590,
"y": 210,
"config": {
"zone_id": "$zone1",
"preset": "custom",
"setpoint": 21.5,
"mode": "heat",
"cooldown_seconds": 240,
"power": true
}
}
],
"edges": [
{
"id": "edge-00000000-0000-4000-8000-000000000273",
"from": "node-00000000-0000-4000-8000-000000000267",
"to": "node-00000000-0000-4000-8000-000000000271"
},
{
"id": "edge-00000000-0000-4000-8000-000000000274",
"from": "node-00000000-0000-4000-8000-000000000268",
"to": "node-00000000-0000-4000-8000-000000000271"
},
{
"id": "edge-00000000-0000-4000-8000-000000000275",
"from": "node-00000000-0000-4000-8000-000000000269",
"to": "node-00000000-0000-4000-8000-000000000271"
},
{
"id": "edge-00000000-0000-4000-8000-000000000276",
"from": "node-00000000-0000-4000-8000-000000000270",
"to": "node-00000000-0000-4000-8000-000000000271"
},
{
"id": "edge-00000000-0000-4000-8000-000000000277",
"from": "node-00000000-0000-4000-8000-000000000271",
"to": "node-00000000-0000-4000-8000-000000000272"
}
]
}
}
+75
View File
@@ -0,0 +1,75 @@
{
"id": "ha_window_guard",
"category": "safety",
"name": {
"pl": "Otwarte okno — wyłącz HVAC",
"en": "Open window — stop HVAC"
},
"description": {
"pl": "Przykład integracji z binary_sensor Home Assistant: otwarte okno wyłącza termostat. Ustaw właściwy entity_id.",
"en": "Home Assistant binary_sensor example: an open window turns the thermostat off. Set the correct entity_id."
},
"flow": {
"nodes": [
{
"id": "node-00000000-0000-4000-8000-000000000093",
"kind": "ha_state",
"x": 45,
"y": 90,
"config": {
"entity_id": "binary_sensor.window",
"operator": "eq",
"value": "on"
}
},
{
"id": "node-00000000-0000-4000-8000-000000000094",
"kind": "house_mode",
"x": 45,
"y": 220,
"config": {
"operator": "neq",
"value": "off"
}
},
{
"id": "node-00000000-0000-4000-8000-000000000095",
"kind": "logic_and",
"x": 305,
"y": 155,
"config": {}
},
{
"id": "node-00000000-0000-4000-8000-000000000096",
"kind": "zone_thermostat",
"x": 560,
"y": 155,
"config": {
"zone_id": "$zone1",
"preset": "auto",
"setpoint": 21,
"mode": "auto",
"cooldown_seconds": 60,
"power": false
}
}
],
"edges": [
{
"id": "edge-00000000-0000-4000-8000-000000000097",
"from": "node-00000000-0000-4000-8000-000000000093",
"to": "node-00000000-0000-4000-8000-000000000095"
},
{
"id": "edge-00000000-0000-4000-8000-000000000098",
"from": "node-00000000-0000-4000-8000-000000000094",
"to": "node-00000000-0000-4000-8000-000000000095"
},
{
"id": "edge-00000000-0000-4000-8000-000000000099",
"from": "node-00000000-0000-4000-8000-000000000095",
"to": "node-00000000-0000-4000-8000-000000000096"
}
]
}
}
+90
View File
@@ -0,0 +1,90 @@
{
"id": "humidity_guard",
"category": "safety",
"name": {
"pl": "Wysoka wilgotność — chłodzenie",
"en": "High humidity cooling"
},
"description": {
"pl": "Przy wysokiej wilgotności, obecności domowników i trybie chłodzenia wymusza umiarkowane chłodzenie.",
"en": "With high humidity, occupancy and cooling house mode, applies moderate cooling."
},
"flow": {
"nodes": [
{
"id": "node-00000000-0000-4000-8000-000000000100",
"kind": "ha_numeric",
"x": 40,
"y": 60,
"config": {
"entity_id": "sensor.living_room_humidity",
"operator": "gt",
"value": 70
}
},
{
"id": "node-00000000-0000-4000-8000-000000000101",
"kind": "house_mode",
"x": 40,
"y": 180,
"config": {
"operator": "eq",
"value": "cool"
}
},
{
"id": "node-00000000-0000-4000-8000-000000000102",
"kind": "ha_state",
"x": 40,
"y": 300,
"config": {
"entity_id": "person.someone",
"operator": "eq",
"value": "home"
}
},
{
"id": "node-00000000-0000-4000-8000-000000000103",
"kind": "logic_and",
"x": 315,
"y": 180,
"config": {}
},
{
"id": "node-00000000-0000-4000-8000-000000000104",
"kind": "zone_thermostat",
"x": 575,
"y": 180,
"config": {
"zone_id": "$zone1",
"preset": "custom",
"setpoint": 22,
"mode": "cool",
"cooldown_seconds": 180
}
}
],
"edges": [
{
"id": "edge-00000000-0000-4000-8000-000000000105",
"from": "node-00000000-0000-4000-8000-000000000100",
"to": "node-00000000-0000-4000-8000-000000000103"
},
{
"id": "edge-00000000-0000-4000-8000-000000000106",
"from": "node-00000000-0000-4000-8000-000000000101",
"to": "node-00000000-0000-4000-8000-000000000103"
},
{
"id": "edge-00000000-0000-4000-8000-000000000107",
"from": "node-00000000-0000-4000-8000-000000000102",
"to": "node-00000000-0000-4000-8000-000000000103"
},
{
"id": "edge-00000000-0000-4000-8000-000000000108",
"from": "node-00000000-0000-4000-8000-000000000103",
"to": "node-00000000-0000-4000-8000-000000000104"
}
]
}
}
+90
View File
@@ -0,0 +1,90 @@
{
"id": "mild_weather_eco",
"category": "energy",
"name": {
"pl": "Łagodna pogoda — HVAC off",
"en": "Mild weather — HVAC off"
},
"description": {
"pl": "Gdy temperatura zewnętrzna mieści się w komfortowym zakresie i okno jest zamknięte, wyłącza HVAC.",
"en": "When outdoor temperature is within a comfortable band and the window is closed, turns HVAC off."
},
"flow": {
"nodes": [
{
"id": "node-00000000-0000-4000-8000-000000000068",
"kind": "outdoor_temperature",
"x": 35,
"y": 55,
"config": {
"operator": "gte",
"value": 17
}
},
{
"id": "node-00000000-0000-4000-8000-000000000069",
"kind": "outdoor_temperature",
"x": 35,
"y": 175,
"config": {
"operator": "lte",
"value": 24
}
},
{
"id": "node-00000000-0000-4000-8000-000000000070",
"kind": "ha_state",
"x": 35,
"y": 295,
"config": {
"entity_id": "binary_sensor.window",
"operator": "eq",
"value": "off"
}
},
{
"id": "node-00000000-0000-4000-8000-000000000071",
"kind": "logic_and",
"x": 310,
"y": 175,
"config": {}
},
{
"id": "node-00000000-0000-4000-8000-000000000072",
"kind": "zone_thermostat",
"x": 565,
"y": 175,
"config": {
"zone_id": "$zone1",
"preset": "auto",
"setpoint": 21,
"mode": "auto",
"cooldown_seconds": 300,
"power": false
}
}
],
"edges": [
{
"id": "edge-00000000-0000-4000-8000-000000000073",
"from": "node-00000000-0000-4000-8000-000000000068",
"to": "node-00000000-0000-4000-8000-000000000071"
},
{
"id": "edge-00000000-0000-4000-8000-000000000074",
"from": "node-00000000-0000-4000-8000-000000000069",
"to": "node-00000000-0000-4000-8000-000000000071"
},
{
"id": "edge-00000000-0000-4000-8000-000000000075",
"from": "node-00000000-0000-4000-8000-000000000070",
"to": "node-00000000-0000-4000-8000-000000000071"
},
{
"id": "edge-00000000-0000-4000-8000-000000000076",
"from": "node-00000000-0000-4000-8000-000000000071",
"to": "node-00000000-0000-4000-8000-000000000072"
}
]
}
}
+108
View File
@@ -0,0 +1,108 @@
{
"id": "morning_boost",
"category": "comfort",
"name": {
"pl": "Poranne dogrzanie przy mrozie",
"en": "Cold-weather morning boost"
},
"description": {
"pl": "W dni robocze rano, tylko w trybie grzania i przy mrozie na zewnątrz, podnosi cel do 22,5°C.",
"en": "On workday mornings, only in heating mode and during cold weather, raises the target to 22.5°C."
},
"flow": {
"nodes": [
{
"id": "node-00000000-0000-4000-8000-000000000028",
"kind": "weekday",
"x": 35,
"y": 50,
"config": {
"days": [
1,
2,
3,
4,
5
]
}
},
{
"id": "node-00000000-0000-4000-8000-000000000029",
"kind": "time_range",
"x": 35,
"y": 170,
"config": {
"start": "05:30",
"end": "07:30"
}
},
{
"id": "node-00000000-0000-4000-8000-000000000030",
"kind": "outdoor_temperature",
"x": 35,
"y": 290,
"config": {
"operator": "lt",
"value": 5
}
},
{
"id": "node-00000000-0000-4000-8000-000000000031",
"kind": "house_mode",
"x": 35,
"y": 410,
"config": {
"operator": "eq",
"value": "heat"
}
},
{
"id": "node-00000000-0000-4000-8000-000000000032",
"kind": "logic_and",
"x": 320,
"y": 220,
"config": {}
},
{
"id": "node-00000000-0000-4000-8000-000000000033",
"kind": "zone_thermostat",
"x": 585,
"y": 220,
"config": {
"zone_id": "$zone1",
"preset": "custom",
"setpoint": 22.5,
"mode": "heat",
"cooldown_seconds": 180
}
}
],
"edges": [
{
"id": "edge-00000000-0000-4000-8000-000000000034",
"from": "node-00000000-0000-4000-8000-000000000028",
"to": "node-00000000-0000-4000-8000-000000000032"
},
{
"id": "edge-00000000-0000-4000-8000-000000000035",
"from": "node-00000000-0000-4000-8000-000000000029",
"to": "node-00000000-0000-4000-8000-000000000032"
},
{
"id": "edge-00000000-0000-4000-8000-000000000036",
"from": "node-00000000-0000-4000-8000-000000000030",
"to": "node-00000000-0000-4000-8000-000000000032"
},
{
"id": "edge-00000000-0000-4000-8000-000000000037",
"from": "node-00000000-0000-4000-8000-000000000031",
"to": "node-00000000-0000-4000-8000-000000000032"
},
{
"id": "edge-00000000-0000-4000-8000-000000000038",
"from": "node-00000000-0000-4000-8000-000000000032",
"to": "node-00000000-0000-4000-8000-000000000033"
}
]
}
}
+103
View File
@@ -0,0 +1,103 @@
{
"id": "multi_room_group_guard",
"category": "advanced",
"name": {
"pl": "Wiele pokoi → jedna grupa",
"en": "Multiple rooms → one group"
},
"description": {
"pl": "Jeśli dowolna z dwóch stref jest za ciepła i dom jest w trybie cool, uruchamia wspólną grupę lub strefę.",
"en": "If either of two zones is too warm and house mode is cooling, starts a shared group or zone."
},
"flow": {
"nodes": [
{
"id": "node-00000000-0000-4000-8000-000000000326",
"kind": "zone_temperature",
"x": 30,
"y": 55,
"config": {
"zone_id": "$zone1",
"operator": "gt",
"value": 25
}
},
{
"id": "node-00000000-0000-4000-8000-000000000327",
"kind": "zone_temperature",
"x": 30,
"y": 175,
"config": {
"zone_id": "$zone2",
"operator": "gt",
"value": 25
}
},
{
"id": "node-00000000-0000-4000-8000-000000000328",
"kind": "logic_or",
"x": 280,
"y": 115,
"config": {}
},
{
"id": "node-00000000-0000-4000-8000-000000000329",
"kind": "house_mode",
"x": 280,
"y": 245,
"config": {
"operator": "eq",
"value": "cool"
}
},
{
"id": "node-00000000-0000-4000-8000-000000000330",
"kind": "logic_and",
"x": 505,
"y": 175,
"config": {}
},
{
"id": "node-00000000-0000-4000-8000-000000000331",
"kind": "group_action",
"x": 760,
"y": 175,
"config": {
"group_id": "$group1",
"power": true,
"mode": "auto",
"preset": "comfort",
"setpoint": 22,
"cooldown_seconds": 120
}
}
],
"edges": [
{
"id": "edge-00000000-0000-4000-8000-000000000332",
"from": "node-00000000-0000-4000-8000-000000000326",
"to": "node-00000000-0000-4000-8000-000000000328"
},
{
"id": "edge-00000000-0000-4000-8000-000000000333",
"from": "node-00000000-0000-4000-8000-000000000327",
"to": "node-00000000-0000-4000-8000-000000000328"
},
{
"id": "edge-00000000-0000-4000-8000-000000000334",
"from": "node-00000000-0000-4000-8000-000000000328",
"to": "node-00000000-0000-4000-8000-000000000330"
},
{
"id": "edge-00000000-0000-4000-8000-000000000335",
"from": "node-00000000-0000-4000-8000-000000000329",
"to": "node-00000000-0000-4000-8000-000000000330"
},
{
"id": "edge-00000000-0000-4000-8000-000000000336",
"from": "node-00000000-0000-4000-8000-000000000330",
"to": "node-00000000-0000-4000-8000-000000000331"
}
]
}
}
+163
View File
@@ -0,0 +1,163 @@
{
"id": "nested_guard",
"category": "advanced",
"name": {
"pl": "Złożony warunek z OR i NOT",
"en": "Nested OR and NOT guard"
},
"description": {
"pl": "Dni i godziny + temperatura zewnętrzna LUB pokojowa + NOT dla otwartego okna. Przykład wielopoziomowego grafu.",
"en": "Weekdays and time + outdoor OR room temperature + NOT open window. An example of a multi-level graph."
},
"flow": {
"nodes": [
{
"id": "node-00000000-0000-4000-8000-000000000278",
"kind": "weekday",
"x": 25,
"y": 35,
"config": {
"days": [
1,
2,
3,
4,
5
]
}
},
{
"id": "node-00000000-0000-4000-8000-000000000279",
"kind": "time_range",
"x": 25,
"y": 145,
"config": {
"start": "06:00",
"end": "22:30"
}
},
{
"id": "node-00000000-0000-4000-8000-000000000280",
"kind": "outdoor_temperature",
"x": 25,
"y": 255,
"config": {
"operator": "lt",
"value": 8
}
},
{
"id": "node-00000000-0000-4000-8000-000000000281",
"kind": "zone_temperature",
"x": 25,
"y": 365,
"config": {
"zone_id": "$zone1",
"operator": "lt",
"value": 20
}
},
{
"id": "node-00000000-0000-4000-8000-000000000282",
"kind": "logic_or",
"x": 275,
"y": 310,
"config": {}
},
{
"id": "node-00000000-0000-4000-8000-000000000283",
"kind": "ha_available",
"x": 275,
"y": 430,
"config": {
"entity_id": "binary_sensor.window"
}
},
{
"id": "node-00000000-0000-4000-8000-000000000284",
"kind": "ha_state",
"x": 275,
"y": 540,
"config": {
"entity_id": "binary_sensor.window",
"operator": "eq",
"value": "on"
}
},
{
"id": "node-00000000-0000-4000-8000-000000000285",
"kind": "logic_not",
"x": 495,
"y": 540,
"config": {}
},
{
"id": "node-00000000-0000-4000-8000-000000000286",
"kind": "logic_and",
"x": 510,
"y": 235,
"config": {}
},
{
"id": "node-00000000-0000-4000-8000-000000000287",
"kind": "zone_thermostat",
"x": 770,
"y": 235,
"config": {
"zone_id": "$zone1",
"preset": "comfort",
"setpoint": 21,
"mode": "auto",
"cooldown_seconds": 90
}
}
],
"edges": [
{
"id": "edge-00000000-0000-4000-8000-000000000288",
"from": "node-00000000-0000-4000-8000-000000000280",
"to": "node-00000000-0000-4000-8000-000000000282"
},
{
"id": "edge-00000000-0000-4000-8000-000000000289",
"from": "node-00000000-0000-4000-8000-000000000281",
"to": "node-00000000-0000-4000-8000-000000000282"
},
{
"id": "edge-00000000-0000-4000-8000-000000000290",
"from": "node-00000000-0000-4000-8000-000000000284",
"to": "node-00000000-0000-4000-8000-000000000285"
},
{
"id": "edge-00000000-0000-4000-8000-000000000291",
"from": "node-00000000-0000-4000-8000-000000000278",
"to": "node-00000000-0000-4000-8000-000000000286"
},
{
"id": "edge-00000000-0000-4000-8000-000000000292",
"from": "node-00000000-0000-4000-8000-000000000279",
"to": "node-00000000-0000-4000-8000-000000000286"
},
{
"id": "edge-00000000-0000-4000-8000-000000000293",
"from": "node-00000000-0000-4000-8000-000000000282",
"to": "node-00000000-0000-4000-8000-000000000286"
},
{
"id": "edge-00000000-0000-4000-8000-000000000294",
"from": "node-00000000-0000-4000-8000-000000000283",
"to": "node-00000000-0000-4000-8000-000000000286"
},
{
"id": "edge-00000000-0000-4000-8000-000000000295",
"from": "node-00000000-0000-4000-8000-000000000285",
"to": "node-00000000-0000-4000-8000-000000000286"
},
{
"id": "edge-00000000-0000-4000-8000-000000000296",
"from": "node-00000000-0000-4000-8000-000000000286",
"to": "node-00000000-0000-4000-8000-000000000287"
}
]
}
}
+74
View File
@@ -0,0 +1,74 @@
{
"id": "night_group",
"category": "night",
"name": {
"pl": "Noc dla grupy",
"en": "Night group"
},
"description": {
"pl": "Nocny przedział czasu + tryb domu sterują presetem sleep dla grupy lub strefy.",
"en": "Night time + house mode applies sleep preset to a group or zone."
},
"flow": {
"nodes": [
{
"id": "node-00000000-0000-4000-8000-000000000125",
"kind": "time_range",
"x": 50,
"y": 100,
"config": {
"start": "22:30",
"end": "06:00"
}
},
{
"id": "node-00000000-0000-4000-8000-000000000126",
"kind": "house_mode",
"x": 50,
"y": 230,
"config": {
"operator": "neq",
"value": "off"
}
},
{
"id": "node-00000000-0000-4000-8000-000000000127",
"kind": "logic_and",
"x": 315,
"y": 165,
"config": {}
},
{
"id": "node-00000000-0000-4000-8000-000000000128",
"kind": "group_action",
"x": 570,
"y": 165,
"config": {
"group_id": "$group1",
"power": true,
"mode": "auto",
"preset": "sleep",
"setpoint": 20,
"cooldown_seconds": 120
}
}
],
"edges": [
{
"id": "edge-00000000-0000-4000-8000-000000000129",
"from": "node-00000000-0000-4000-8000-000000000125",
"to": "node-00000000-0000-4000-8000-000000000127"
},
{
"id": "edge-00000000-0000-4000-8000-000000000130",
"from": "node-00000000-0000-4000-8000-000000000126",
"to": "node-00000000-0000-4000-8000-000000000127"
},
{
"id": "edge-00000000-0000-4000-8000-000000000131",
"from": "node-00000000-0000-4000-8000-000000000127",
"to": "node-00000000-0000-4000-8000-000000000128"
}
]
}
}
+73
View File
@@ -0,0 +1,73 @@
{
"id": "night_quiet",
"category": "night",
"name": {
"pl": "Nocny profil grupy",
"en": "Night group profile"
},
"description": {
"pl": "Korzysta bezpośrednio z istniejącego Trybu nocnego aplikacji i stanu grupy, aby zastosować preset sleep.",
"en": "Uses the app Night mode and group state directly to apply the sleep preset."
},
"flow": {
"nodes": [
{
"id": "node-00000000-0000-4000-8000-000000000132",
"kind": "night_mode",
"x": 45,
"y": 90,
"config": {}
},
{
"id": "node-00000000-0000-4000-8000-000000000133",
"kind": "logic_and",
"x": 310,
"y": 155,
"config": {}
},
{
"id": "node-00000000-0000-4000-8000-000000000134",
"kind": "group_action",
"x": 565,
"y": 155,
"config": {
"group_id": "$group1",
"power": null,
"mode": "auto",
"preset": "sleep",
"setpoint": 20,
"cooldown_seconds": 180
}
},
{
"id": "node-00000000-0000-4000-8000-000000000136",
"kind": "group_state",
"x": 45,
"y": 225,
"config": {
"group_id": "$group1",
"field": "power_enabled",
"operator": "eq",
"value": "true"
}
}
],
"edges": [
{
"id": "edge-00000000-0000-4000-8000-000000000135",
"from": "node-00000000-0000-4000-8000-000000000132",
"to": "node-00000000-0000-4000-8000-000000000133"
},
{
"id": "edge-00000000-0000-4000-8000-000000000137",
"from": "node-00000000-0000-4000-8000-000000000136",
"to": "node-00000000-0000-4000-8000-000000000133"
},
{
"id": "edge-00000000-0000-4000-8000-000000000138",
"from": "node-00000000-0000-4000-8000-000000000133",
"to": "node-00000000-0000-4000-8000-000000000134"
}
]
}
}
+130
View File
@@ -0,0 +1,130 @@
{
"id": "occupancy_weather_matrix",
"category": "advanced",
"name": {
"pl": "Obecność + pogoda + okno",
"en": "Occupancy + weather + window"
},
"description": {
"pl": "Komfort działa tylko gdy ktoś jest w domu, występuje zapotrzebowanie pogodowe lub pokojowe i okno nie jest otwarte.",
"en": "Comfort runs only when someone is home, outdoor or room demand exists, and the window is not open."
},
"flow": {
"nodes": [
{
"id": "node-00000000-0000-4000-8000-000000000297",
"kind": "ha_state",
"x": 25,
"y": 40,
"config": {
"entity_id": "person.someone",
"operator": "eq",
"value": "home"
}
},
{
"id": "node-00000000-0000-4000-8000-000000000298",
"kind": "outdoor_temperature",
"x": 25,
"y": 155,
"config": {
"operator": "lt",
"value": 9
}
},
{
"id": "node-00000000-0000-4000-8000-000000000299",
"kind": "zone_temperature",
"x": 25,
"y": 270,
"config": {
"zone_id": "$zone1",
"operator": "lt",
"value": 20
}
},
{
"id": "node-00000000-0000-4000-8000-000000000300",
"kind": "logic_or",
"x": 275,
"y": 215,
"config": {}
},
{
"id": "node-00000000-0000-4000-8000-000000000301",
"kind": "ha_state",
"x": 275,
"y": 345,
"config": {
"entity_id": "binary_sensor.window",
"operator": "eq",
"value": "on"
}
},
{
"id": "node-00000000-0000-4000-8000-000000000302",
"kind": "logic_not",
"x": 495,
"y": 345,
"config": {}
},
{
"id": "node-00000000-0000-4000-8000-000000000303",
"kind": "logic_and",
"x": 505,
"y": 150,
"config": {}
},
{
"id": "node-00000000-0000-4000-8000-000000000304",
"kind": "zone_thermostat",
"x": 765,
"y": 150,
"config": {
"zone_id": "$zone1",
"preset": "comfort",
"setpoint": 21,
"mode": "auto",
"cooldown_seconds": 90
}
}
],
"edges": [
{
"id": "edge-00000000-0000-4000-8000-000000000305",
"from": "node-00000000-0000-4000-8000-000000000298",
"to": "node-00000000-0000-4000-8000-000000000300"
},
{
"id": "edge-00000000-0000-4000-8000-000000000306",
"from": "node-00000000-0000-4000-8000-000000000299",
"to": "node-00000000-0000-4000-8000-000000000300"
},
{
"id": "edge-00000000-0000-4000-8000-000000000307",
"from": "node-00000000-0000-4000-8000-000000000301",
"to": "node-00000000-0000-4000-8000-000000000302"
},
{
"id": "edge-00000000-0000-4000-8000-000000000308",
"from": "node-00000000-0000-4000-8000-000000000297",
"to": "node-00000000-0000-4000-8000-000000000303"
},
{
"id": "edge-00000000-0000-4000-8000-000000000309",
"from": "node-00000000-0000-4000-8000-000000000300",
"to": "node-00000000-0000-4000-8000-000000000303"
},
{
"id": "edge-00000000-0000-4000-8000-000000000310",
"from": "node-00000000-0000-4000-8000-000000000302",
"to": "node-00000000-0000-4000-8000-000000000303"
},
{
"id": "edge-00000000-0000-4000-8000-000000000311",
"from": "node-00000000-0000-4000-8000-000000000303",
"to": "node-00000000-0000-4000-8000-000000000304"
}
]
}
}
+78
View File
@@ -0,0 +1,78 @@
{
"id": "offline_safe_off",
"category": "reliability",
"name": {
"pl": "Urządzenie offline — bezpieczne wyłączenie",
"en": "Offline device safe-off"
},
"description": {
"pl": "Gdy urządzenie jest offline, a termostat nadal aktywny, wydaje bezpieczne polecenie wyłączenia z długim cooldownem.",
"en": "When a device is offline while its thermostat remains active, issues a conservative off command with a long cooldown."
},
"flow": {
"nodes": [
{
"id": "node-00000000-0000-4000-8000-000000000175",
"kind": "device_state",
"x": 35,
"y": 85,
"config": {
"device_id": "$device1",
"field": "online",
"operator": "eq",
"value": "false"
}
},
{
"id": "node-00000000-0000-4000-8000-000000000176",
"kind": "zone_state",
"x": 35,
"y": 215,
"config": {
"zone_id": "$zone1",
"field": "enabled",
"operator": "eq",
"value": "true"
}
},
{
"id": "node-00000000-0000-4000-8000-000000000177",
"kind": "logic_and",
"x": 310,
"y": 150,
"config": {}
},
{
"id": "node-00000000-0000-4000-8000-000000000178",
"kind": "zone_thermostat",
"x": 565,
"y": 150,
"config": {
"zone_id": "$zone1",
"preset": "auto",
"setpoint": 21,
"mode": "auto",
"cooldown_seconds": 300,
"power": false
}
}
],
"edges": [
{
"id": "edge-00000000-0000-4000-8000-000000000179",
"from": "node-00000000-0000-4000-8000-000000000175",
"to": "node-00000000-0000-4000-8000-000000000177"
},
{
"id": "edge-00000000-0000-4000-8000-000000000180",
"from": "node-00000000-0000-4000-8000-000000000176",
"to": "node-00000000-0000-4000-8000-000000000177"
},
{
"id": "edge-00000000-0000-4000-8000-000000000181",
"from": "node-00000000-0000-4000-8000-000000000177",
"to": "node-00000000-0000-4000-8000-000000000178"
}
]
}
}
+90
View File
@@ -0,0 +1,90 @@
{
"id": "overheat_guard",
"category": "safety",
"name": {
"pl": "Ochrona przed przegrzaniem",
"en": "Overheat guard"
},
"description": {
"pl": "Jeśli strefa jest bardzo ciepła, tryb domu to chłodzenie i okno jest zamknięte, uruchamia chłodzenie ochronne.",
"en": "If a zone is very warm, house mode is cooling and the window is closed, starts protective cooling."
},
"flow": {
"nodes": [
{
"id": "node-00000000-0000-4000-8000-000000000109",
"kind": "zone_temperature",
"x": 35,
"y": 65,
"config": {
"zone_id": "$zone1",
"operator": "gt",
"value": 28
}
},
{
"id": "node-00000000-0000-4000-8000-000000000110",
"kind": "house_mode",
"x": 35,
"y": 185,
"config": {
"operator": "eq",
"value": "cool"
}
},
{
"id": "node-00000000-0000-4000-8000-000000000111",
"kind": "ha_state",
"x": 35,
"y": 305,
"config": {
"entity_id": "binary_sensor.window",
"operator": "eq",
"value": "off"
}
},
{
"id": "node-00000000-0000-4000-8000-000000000112",
"kind": "logic_and",
"x": 310,
"y": 185,
"config": {}
},
{
"id": "node-00000000-0000-4000-8000-000000000113",
"kind": "zone_thermostat",
"x": 570,
"y": 185,
"config": {
"zone_id": "$zone1",
"preset": "custom",
"setpoint": 22,
"mode": "cool",
"cooldown_seconds": 120
}
}
],
"edges": [
{
"id": "edge-00000000-0000-4000-8000-000000000114",
"from": "node-00000000-0000-4000-8000-000000000109",
"to": "node-00000000-0000-4000-8000-000000000112"
},
{
"id": "edge-00000000-0000-4000-8000-000000000115",
"from": "node-00000000-0000-4000-8000-000000000110",
"to": "node-00000000-0000-4000-8000-000000000112"
},
{
"id": "edge-00000000-0000-4000-8000-000000000116",
"from": "node-00000000-0000-4000-8000-000000000111",
"to": "node-00000000-0000-4000-8000-000000000112"
},
{
"id": "edge-00000000-0000-4000-8000-000000000117",
"from": "node-00000000-0000-4000-8000-000000000112",
"to": "node-00000000-0000-4000-8000-000000000113"
}
]
}
}
+75
View File
@@ -0,0 +1,75 @@
{
"id": "peak_power_guard",
"category": "energy",
"name": {
"pl": "Ochrona przed szczytem mocy",
"en": "Peak power guard"
},
"description": {
"pl": "Wyłącza HVAC, gdy pobór mocy domu przekroczy ustawiony próg i system klimatu jest aktywny.",
"en": "Turns HVAC off when household power draw exceeds the configured threshold while climate control is active."
},
"flow": {
"nodes": [
{
"id": "node-00000000-0000-4000-8000-000000000061",
"kind": "ha_numeric",
"x": 40,
"y": 75,
"config": {
"entity_id": "sensor.house_power",
"operator": "gt",
"value": 5000
}
},
{
"id": "node-00000000-0000-4000-8000-000000000062",
"kind": "house_mode",
"x": 40,
"y": 200,
"config": {
"operator": "neq",
"value": "off"
}
},
{
"id": "node-00000000-0000-4000-8000-000000000063",
"kind": "logic_and",
"x": 315,
"y": 140,
"config": {}
},
{
"id": "node-00000000-0000-4000-8000-000000000064",
"kind": "zone_thermostat",
"x": 570,
"y": 140,
"config": {
"zone_id": "$zone1",
"preset": "auto",
"setpoint": 21,
"mode": "auto",
"cooldown_seconds": 180,
"power": false
}
}
],
"edges": [
{
"id": "edge-00000000-0000-4000-8000-000000000065",
"from": "node-00000000-0000-4000-8000-000000000061",
"to": "node-00000000-0000-4000-8000-000000000063"
},
{
"id": "edge-00000000-0000-4000-8000-000000000066",
"from": "node-00000000-0000-4000-8000-000000000062",
"to": "node-00000000-0000-4000-8000-000000000063"
},
{
"id": "edge-00000000-0000-4000-8000-000000000067",
"from": "node-00000000-0000-4000-8000-000000000063",
"to": "node-00000000-0000-4000-8000-000000000064"
}
]
}
}
+76
View File
@@ -0,0 +1,76 @@
{
"id": "presence_eco",
"category": "energy",
"name": {
"pl": "Obecność: komfort / eco",
"en": "Presence: comfort / eco"
},
"description": {
"pl": "Dwie jawne gałęzie Home Assistant: stan home włącza komfort, a not_home ustawia preset away. Ustaw właściwy entity_id osoby lub czujnika obecności.",
"en": "Two explicit Home Assistant branches: home enables comfort while not_home selects the away preset. Set the correct person or presence entity_id."
},
"flow": {
"nodes": [
{
"id": "node-00000000-0000-4000-8000-000000000048",
"kind": "ha_state",
"x": 45,
"y": 75,
"config": {
"entity_id": "person.someone",
"operator": "eq",
"value": "home"
}
},
{
"id": "node-00000000-0000-4000-8000-000000000049",
"kind": "ha_state",
"x": 45,
"y": 245,
"config": {
"entity_id": "person.someone",
"operator": "eq",
"value": "not_home"
}
},
{
"id": "node-00000000-0000-4000-8000-000000000050",
"kind": "zone_thermostat",
"x": 360,
"y": 65,
"config": {
"zone_id": "$zone1",
"preset": "comfort",
"setpoint": 21,
"mode": "auto",
"cooldown_seconds": 90
}
},
{
"id": "node-00000000-0000-4000-8000-000000000051",
"kind": "zone_thermostat",
"x": 360,
"y": 245,
"config": {
"zone_id": "$zone1",
"preset": "away",
"setpoint": 18,
"mode": "auto",
"cooldown_seconds": 180
}
}
],
"edges": [
{
"id": "edge-00000000-0000-4000-8000-000000000052",
"from": "node-00000000-0000-4000-8000-000000000048",
"to": "node-00000000-0000-4000-8000-000000000050"
},
{
"id": "edge-00000000-0000-4000-8000-000000000053",
"from": "node-00000000-0000-4000-8000-000000000049",
"to": "node-00000000-0000-4000-8000-000000000051"
}
]
}
}
+88
View File
@@ -0,0 +1,88 @@
{
"id": "sensor_availability_guard",
"category": "reliability",
"name": {
"pl": "Chłodzenie z kontrolą sensora",
"en": "Cooling with sensor validation"
},
"description": {
"pl": "Najpierw sprawdza dostępność sensora HA, potem temperaturę i tryb domu; dopiero wtedy uruchamia chłodzenie.",
"en": "Checks HA sensor availability first, then temperature and house mode before starting cooling."
},
"flow": {
"nodes": [
{
"id": "node-00000000-0000-4000-8000-000000000166",
"kind": "ha_available",
"x": 35,
"y": 55,
"config": {
"entity_id": "sensor.room_temperature"
}
},
{
"id": "node-00000000-0000-4000-8000-000000000167",
"kind": "ha_numeric",
"x": 35,
"y": 175,
"config": {
"entity_id": "sensor.room_temperature",
"operator": "gt",
"value": 26
}
},
{
"id": "node-00000000-0000-4000-8000-000000000168",
"kind": "house_mode",
"x": 35,
"y": 295,
"config": {
"operator": "eq",
"value": "cool"
}
},
{
"id": "node-00000000-0000-4000-8000-000000000169",
"kind": "logic_and",
"x": 310,
"y": 175,
"config": {}
},
{
"id": "node-00000000-0000-4000-8000-000000000170",
"kind": "zone_thermostat",
"x": 570,
"y": 175,
"config": {
"zone_id": "$zone1",
"preset": "comfort",
"setpoint": 21,
"mode": "cool",
"cooldown_seconds": 120
}
}
],
"edges": [
{
"id": "edge-00000000-0000-4000-8000-000000000171",
"from": "node-00000000-0000-4000-8000-000000000166",
"to": "node-00000000-0000-4000-8000-000000000169"
},
{
"id": "edge-00000000-0000-4000-8000-000000000172",
"from": "node-00000000-0000-4000-8000-000000000167",
"to": "node-00000000-0000-4000-8000-000000000169"
},
{
"id": "edge-00000000-0000-4000-8000-000000000173",
"from": "node-00000000-0000-4000-8000-000000000168",
"to": "node-00000000-0000-4000-8000-000000000169"
},
{
"id": "edge-00000000-0000-4000-8000-000000000174",
"from": "node-00000000-0000-4000-8000-000000000169",
"to": "node-00000000-0000-4000-8000-000000000170"
}
]
}
}
+86
View File
@@ -0,0 +1,86 @@
{
"id": "sleep_temperature_guard",
"category": "night",
"name": {
"pl": "Nocne chłodzenie tylko gdy trzeba",
"en": "Night cooling only when needed"
},
"description": {
"pl": "W trybie nocnym chłodzi tylko wtedy, gdy temperatura pokoju przekracza próg i dom jest w trybie cool.",
"en": "In night mode, cools only when room temperature is above the threshold and the house is in cooling mode."
},
"flow": {
"nodes": [
{
"id": "node-00000000-0000-4000-8000-000000000139",
"kind": "night_mode",
"x": 35,
"y": 55,
"config": {}
},
{
"id": "node-00000000-0000-4000-8000-000000000140",
"kind": "zone_temperature",
"x": 35,
"y": 175,
"config": {
"zone_id": "$zone1",
"operator": "gt",
"value": 23.5
}
},
{
"id": "node-00000000-0000-4000-8000-000000000141",
"kind": "house_mode",
"x": 35,
"y": 295,
"config": {
"operator": "eq",
"value": "cool"
}
},
{
"id": "node-00000000-0000-4000-8000-000000000142",
"kind": "logic_and",
"x": 310,
"y": 175,
"config": {}
},
{
"id": "node-00000000-0000-4000-8000-000000000143",
"kind": "zone_thermostat",
"x": 570,
"y": 175,
"config": {
"zone_id": "$zone1",
"preset": "sleep",
"setpoint": 20,
"mode": "cool",
"cooldown_seconds": 180
}
}
],
"edges": [
{
"id": "edge-00000000-0000-4000-8000-000000000144",
"from": "node-00000000-0000-4000-8000-000000000139",
"to": "node-00000000-0000-4000-8000-000000000142"
},
{
"id": "edge-00000000-0000-4000-8000-000000000145",
"from": "node-00000000-0000-4000-8000-000000000140",
"to": "node-00000000-0000-4000-8000-000000000142"
},
{
"id": "edge-00000000-0000-4000-8000-000000000146",
"from": "node-00000000-0000-4000-8000-000000000141",
"to": "node-00000000-0000-4000-8000-000000000142"
},
{
"id": "edge-00000000-0000-4000-8000-000000000147",
"from": "node-00000000-0000-4000-8000-000000000142",
"to": "node-00000000-0000-4000-8000-000000000143"
}
]
}
}
+116
View File
@@ -0,0 +1,116 @@
{
"id": "smart_demand",
"category": "comfort",
"name": {
"pl": "Inteligentne zapotrzebowanie",
"en": "Smart demand"
},
"description": {
"pl": "Złożona logika czasu, trybu domu i alternatywy temperatury zewnętrznej lub pokojowej.",
"en": "Complex time, house-mode and outdoor-or-room temperature logic."
},
"flow": {
"nodes": [
{
"id": "node-00000000-0000-4000-8000-000000000015",
"kind": "time_range",
"x": 30,
"y": 40,
"config": {
"start": "05:30",
"end": "23:00"
}
},
{
"id": "node-00000000-0000-4000-8000-000000000016",
"kind": "outdoor_temperature",
"x": 30,
"y": 160,
"config": {
"operator": "lt",
"value": 10
}
},
{
"id": "node-00000000-0000-4000-8000-000000000017",
"kind": "zone_temperature",
"x": 30,
"y": 280,
"config": {
"zone_id": "$zone1",
"operator": "lt",
"value": 20
}
},
{
"id": "node-00000000-0000-4000-8000-000000000018",
"kind": "logic_or",
"x": 280,
"y": 220,
"config": {}
},
{
"id": "node-00000000-0000-4000-8000-000000000019",
"kind": "house_mode",
"x": 280,
"y": 70,
"config": {
"operator": "neq",
"value": "off"
}
},
{
"id": "node-00000000-0000-4000-8000-000000000020",
"kind": "logic_and",
"x": 510,
"y": 155,
"config": {}
},
{
"id": "node-00000000-0000-4000-8000-000000000021",
"kind": "zone_thermostat",
"x": 760,
"y": 155,
"config": {
"zone_id": "$zone1",
"preset": "comfort",
"setpoint": 21,
"mode": "auto",
"cooldown_seconds": 90
}
}
],
"edges": [
{
"id": "edge-00000000-0000-4000-8000-000000000022",
"from": "node-00000000-0000-4000-8000-000000000016",
"to": "node-00000000-0000-4000-8000-000000000018"
},
{
"id": "edge-00000000-0000-4000-8000-000000000023",
"from": "node-00000000-0000-4000-8000-000000000017",
"to": "node-00000000-0000-4000-8000-000000000018"
},
{
"id": "edge-00000000-0000-4000-8000-000000000024",
"from": "node-00000000-0000-4000-8000-000000000015",
"to": "node-00000000-0000-4000-8000-000000000020"
},
{
"id": "edge-00000000-0000-4000-8000-000000000025",
"from": "node-00000000-0000-4000-8000-000000000019",
"to": "node-00000000-0000-4000-8000-000000000020"
},
{
"id": "edge-00000000-0000-4000-8000-000000000026",
"from": "node-00000000-0000-4000-8000-000000000018",
"to": "node-00000000-0000-4000-8000-000000000020"
},
{
"id": "edge-00000000-0000-4000-8000-000000000027",
"from": "node-00000000-0000-4000-8000-000000000020",
"to": "node-00000000-0000-4000-8000-000000000021"
}
]
}
}
+92
View File
@@ -0,0 +1,92 @@
{
"id": "thermostat_enabled_guard",
"category": "reliability",
"name": {
"pl": "Steruj tylko aktywnym termostatem",
"en": "Control only an active thermostat"
},
"description": {
"pl": "Wymaga włączonej strefy, aktywnego zapotrzebowania i niezerowego trybu domu przed akcją.",
"en": "Requires an enabled zone, active demand and a non-off house mode before the action executes."
},
"flow": {
"nodes": [
{
"id": "node-00000000-0000-4000-8000-000000000182",
"kind": "zone_state",
"x": 35,
"y": 55,
"config": {
"zone_id": "$zone1",
"field": "enabled",
"operator": "eq",
"value": "true"
}
},
{
"id": "node-00000000-0000-4000-8000-000000000183",
"kind": "zone_state",
"x": 35,
"y": 175,
"config": {
"zone_id": "$zone1",
"field": "demand",
"operator": "eq",
"value": "true"
}
},
{
"id": "node-00000000-0000-4000-8000-000000000184",
"kind": "house_mode",
"x": 35,
"y": 295,
"config": {
"operator": "neq",
"value": "off"
}
},
{
"id": "node-00000000-0000-4000-8000-000000000185",
"kind": "logic_and",
"x": 310,
"y": 175,
"config": {}
},
{
"id": "node-00000000-0000-4000-8000-000000000186",
"kind": "zone_thermostat",
"x": 570,
"y": 175,
"config": {
"zone_id": "$zone1",
"preset": "auto",
"setpoint": 21,
"mode": "auto",
"cooldown_seconds": 120
}
}
],
"edges": [
{
"id": "edge-00000000-0000-4000-8000-000000000187",
"from": "node-00000000-0000-4000-8000-000000000182",
"to": "node-00000000-0000-4000-8000-000000000185"
},
{
"id": "edge-00000000-0000-4000-8000-000000000188",
"from": "node-00000000-0000-4000-8000-000000000183",
"to": "node-00000000-0000-4000-8000-000000000185"
},
{
"id": "edge-00000000-0000-4000-8000-000000000189",
"from": "node-00000000-0000-4000-8000-000000000184",
"to": "node-00000000-0000-4000-8000-000000000185"
},
{
"id": "edge-00000000-0000-4000-8000-000000000190",
"from": "node-00000000-0000-4000-8000-000000000185",
"to": "node-00000000-0000-4000-8000-000000000186"
}
]
}
}
+75
View File
@@ -0,0 +1,75 @@
{
"id": "unoccupied_shutdown",
"category": "energy",
"name": {
"pl": "Wyłącz podczas nieobecności",
"en": "Shut down while away"
},
"description": {
"pl": "W godzinach dziennych wyłącza grupę lub strefę, gdy wskazana osoba jest poza domem.",
"en": "During daytime hours, turns off a group or zone when the selected person is away."
},
"flow": {
"nodes": [
{
"id": "node-00000000-0000-4000-8000-000000000077",
"kind": "ha_state",
"x": 35,
"y": 70,
"config": {
"entity_id": "person.someone",
"operator": "eq",
"value": "not_home"
}
},
{
"id": "node-00000000-0000-4000-8000-000000000078",
"kind": "time_range",
"x": 35,
"y": 190,
"config": {
"start": "09:00",
"end": "16:00"
}
},
{
"id": "node-00000000-0000-4000-8000-000000000079",
"kind": "logic_and",
"x": 310,
"y": 130,
"config": {}
},
{
"id": "node-00000000-0000-4000-8000-000000000080",
"kind": "group_action",
"x": 565,
"y": 130,
"config": {
"group_id": "$group1",
"power": false,
"mode": "",
"preset": "",
"setpoint": 21,
"cooldown_seconds": 300
}
}
],
"edges": [
{
"id": "edge-00000000-0000-4000-8000-000000000081",
"from": "node-00000000-0000-4000-8000-000000000077",
"to": "node-00000000-0000-4000-8000-000000000079"
},
{
"id": "edge-00000000-0000-4000-8000-000000000082",
"from": "node-00000000-0000-4000-8000-000000000078",
"to": "node-00000000-0000-4000-8000-000000000079"
},
{
"id": "edge-00000000-0000-4000-8000-000000000083",
"from": "node-00000000-0000-4000-8000-000000000079",
"to": "node-00000000-0000-4000-8000-000000000080"
}
]
}
}
+93
View File
@@ -0,0 +1,93 @@
{
"id": "weather_comfort",
"category": "comfort",
"name": {
"pl": "Komfort zależny od pogody",
"en": "Weather-aware comfort"
},
"description": {
"pl": "Łączy dzień, godzinę i temperaturę zewnętrzną przez AND przed sterowaniem termostatem.",
"en": "Combines weekday, time and outdoor temperature with AND before thermostat control."
},
"flow": {
"nodes": [
{
"id": "node-00000000-0000-4000-8000-000000000006",
"kind": "weekday",
"x": 35,
"y": 40,
"config": {
"days": [
1,
2,
3,
4,
5
]
}
},
{
"id": "node-00000000-0000-4000-8000-000000000007",
"kind": "time_range",
"x": 35,
"y": 155,
"config": {
"start": "06:00",
"end": "22:30"
}
},
{
"id": "node-00000000-0000-4000-8000-000000000008",
"kind": "outdoor_temperature",
"x": 35,
"y": 270,
"config": {
"operator": "lt",
"value": 12
}
},
{
"id": "node-00000000-0000-4000-8000-000000000009",
"kind": "logic_and",
"x": 300,
"y": 155,
"config": {}
},
{
"id": "node-00000000-0000-4000-8000-000000000010",
"kind": "zone_thermostat",
"x": 555,
"y": 155,
"config": {
"zone_id": "$zone1",
"preset": "comfort",
"setpoint": 21,
"mode": "auto",
"cooldown_seconds": 90
}
}
],
"edges": [
{
"id": "edge-00000000-0000-4000-8000-000000000011",
"from": "node-00000000-0000-4000-8000-000000000006",
"to": "node-00000000-0000-4000-8000-000000000009"
},
{
"id": "edge-00000000-0000-4000-8000-000000000012",
"from": "node-00000000-0000-4000-8000-000000000007",
"to": "node-00000000-0000-4000-8000-000000000009"
},
{
"id": "edge-00000000-0000-4000-8000-000000000013",
"from": "node-00000000-0000-4000-8000-000000000008",
"to": "node-00000000-0000-4000-8000-000000000009"
},
{
"id": "edge-00000000-0000-4000-8000-000000000014",
"from": "node-00000000-0000-4000-8000-000000000009",
"to": "node-00000000-0000-4000-8000-000000000010"
}
]
}
}
+90
View File
@@ -0,0 +1,90 @@
{
"id": "weekend_comfort",
"category": "comfort",
"name": {
"pl": "Weekendowy komfort",
"en": "Weekend comfort"
},
"description": {
"pl": "W sobotę i niedzielę utrzymuje komfort w ciągu dnia, jeśli tryb domu nie jest wyłączony.",
"en": "Keeps daytime comfort on Saturday and Sunday while the house climate mode is not off."
},
"flow": {
"nodes": [
{
"id": "node-00000000-0000-4000-8000-000000000039",
"kind": "weekday",
"x": 40,
"y": 90,
"config": {
"days": [
6,
7
]
}
},
{
"id": "node-00000000-0000-4000-8000-000000000040",
"kind": "time_range",
"x": 250,
"y": 90,
"config": {
"start": "08:00",
"end": "23:00"
}
},
{
"id": "node-00000000-0000-4000-8000-000000000041",
"kind": "house_mode",
"x": 40,
"y": 220,
"config": {
"operator": "neq",
"value": "off"
}
},
{
"id": "node-00000000-0000-4000-8000-000000000042",
"kind": "logic_and",
"x": 465,
"y": 145,
"config": {}
},
{
"id": "node-00000000-0000-4000-8000-000000000043",
"kind": "zone_thermostat",
"x": 710,
"y": 145,
"config": {
"zone_id": "$zone1",
"preset": "comfort",
"setpoint": 21,
"mode": "auto",
"cooldown_seconds": 90
}
}
],
"edges": [
{
"id": "edge-00000000-0000-4000-8000-000000000044",
"from": "node-00000000-0000-4000-8000-000000000039",
"to": "node-00000000-0000-4000-8000-000000000042"
},
{
"id": "edge-00000000-0000-4000-8000-000000000045",
"from": "node-00000000-0000-4000-8000-000000000040",
"to": "node-00000000-0000-4000-8000-000000000042"
},
{
"id": "edge-00000000-0000-4000-8000-000000000046",
"from": "node-00000000-0000-4000-8000-000000000041",
"to": "node-00000000-0000-4000-8000-000000000042"
},
{
"id": "edge-00000000-0000-4000-8000-000000000047",
"from": "node-00000000-0000-4000-8000-000000000042",
"to": "node-00000000-0000-4000-8000-000000000043"
}
]
}
}
+74
View File
@@ -0,0 +1,74 @@
{
"id": "window_available_guard",
"category": "safety",
"name": {
"pl": "Okno: dostępność + otwarcie",
"en": "Window availability + open state"
},
"description": {
"pl": "Wyłącza HVAC dopiero gdy czujnik okna jest dostępny i zgłasza otwarcie — bez fałszywej reakcji na unavailable.",
"en": "Turns HVAC off only when the window sensor is available and reports open, avoiding false reactions to unavailable."
},
"flow": {
"nodes": [
{
"id": "node-00000000-0000-4000-8000-000000000118",
"kind": "ha_available",
"x": 35,
"y": 80,
"config": {
"entity_id": "binary_sensor.window"
}
},
{
"id": "node-00000000-0000-4000-8000-000000000119",
"kind": "ha_state",
"x": 35,
"y": 210,
"config": {
"entity_id": "binary_sensor.window",
"operator": "eq",
"value": "on"
}
},
{
"id": "node-00000000-0000-4000-8000-000000000120",
"kind": "logic_and",
"x": 310,
"y": 145,
"config": {}
},
{
"id": "node-00000000-0000-4000-8000-000000000121",
"kind": "zone_thermostat",
"x": 565,
"y": 145,
"config": {
"zone_id": "$zone1",
"preset": "auto",
"setpoint": 21,
"mode": "auto",
"cooldown_seconds": 60,
"power": false
}
}
],
"edges": [
{
"id": "edge-00000000-0000-4000-8000-000000000122",
"from": "node-00000000-0000-4000-8000-000000000118",
"to": "node-00000000-0000-4000-8000-000000000120"
},
{
"id": "edge-00000000-0000-4000-8000-000000000123",
"from": "node-00000000-0000-4000-8000-000000000119",
"to": "node-00000000-0000-4000-8000-000000000120"
},
{
"id": "edge-00000000-0000-4000-8000-000000000124",
"from": "node-00000000-0000-4000-8000-000000000120",
"to": "node-00000000-0000-4000-8000-000000000121"
}
]
}
}
+66
View File
@@ -0,0 +1,66 @@
{
"id": "workday_comfort",
"category": "comfort",
"name": {
"pl": "Komfort w dni robocze",
"en": "Workday comfort"
},
"description": {
"pl": "Pon.pt. rano uruchamia preset komfortu w wybranej strefie.",
"en": "Weekday morning comfort preset for the selected thermostat zone."
},
"flow": {
"nodes": [
{
"id": "node-00000000-0000-4000-8000-000000000001",
"kind": "weekday",
"x": 40,
"y": 70,
"config": {
"days": [
1,
2,
3,
4,
5
]
}
},
{
"id": "node-00000000-0000-4000-8000-000000000002",
"kind": "time_range",
"x": 250,
"y": 70,
"config": {
"start": "06:00",
"end": "08:30"
}
},
{
"id": "node-00000000-0000-4000-8000-000000000003",
"kind": "zone_thermostat",
"x": 500,
"y": 70,
"config": {
"zone_id": "$zone1",
"preset": "comfort",
"setpoint": 21,
"mode": "auto",
"cooldown_seconds": 90
}
}
],
"edges": [
{
"id": "edge-00000000-0000-4000-8000-000000000004",
"from": "node-00000000-0000-4000-8000-000000000001",
"to": "node-00000000-0000-4000-8000-000000000002"
},
{
"id": "edge-00000000-0000-4000-8000-000000000005",
"from": "node-00000000-0000-4000-8000-000000000002",
"to": "node-00000000-0000-4000-8000-000000000003"
}
]
}
}