Compare commits

..

11 Commits

Author SHA1 Message Date
Housemann
c19759abbd Floor Status Display Wake Up Movement Sensor 2025-07-31 18:58:42 +02:00
Housemann
d3f1da8d14 Script create Floor statusdisplay 2025-07-31 18:31:10 +02:00
Housemann
46f34e18c1 Script Send Chantal to Dining Area 2025-07-31 17:16:08 +02:00
Housemann
de06842daf script angepasst um delay und suche nach _echo_ raus 2025-07-26 10:49:29 +02:00
Housemann
4666a62741 Create script and add alexa and critical notifications 2025-07-25 09:39:56 +02:00
Housemann
68d6fc4cbf Script erstellt für Pause bei Klingel 2025-07-20 19:21:13 +02:00
Housemann
4f4a70a861 Script erstellt 2025-07-20 19:07:32 +02:00
Housemann
ab6877352c Scritp erstellt 2025-07-20 18:42:50 +02:00
Housemann
319f50db76 gitignore 2025-05-16 06:54:37 +02:00
Housemann
2e4aa55cf3 gitignore hinzugefügt 2025-05-16 06:54:09 +02:00
Housemann
6685394869 Küche Arbeitsbeleuchtung eingebaut bei Diele Bewegung 2025-05-16 06:37:38 +02:00
8 changed files with 3252 additions and 9 deletions

37
.gitignore vendored Normal file
View File

@ -0,0 +1,37 @@
# Compiled source #
###################
*.com
*.class
*.dll
*.exe
*.o
*.so
# Packages #
############
# it's better to unpack these files and commit the raw source
# git has its own built in compression methods
*.7z
*.dmg
*.gz
*.iso
*.jar
*.rar
*.tar
*.zip
# Logs and databases #
######################
*.log
*.sql
*.sqlite
# OS generated files #
######################
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db

View File

@ -19,12 +19,16 @@
"87806c641c86c3d9", "87806c641c86c3d9",
"14c3a212afc4cd78", "14c3a212afc4cd78",
"7e7074a18d177e16", "7e7074a18d177e16",
"38767c1f739f3c8d" "38767c1f739f3c8d",
"4f22d1a57648e607",
"2b525828bc96835e",
"c730df6b04bdaf41",
"fa8d1668235782d3"
], ],
"x": 14, "x": 14,
"y": 399, "y": 399,
"w": 1412, "w": 1412,
"h": 222 "h": 282
}, },
{ {
"id": "ec44baea08cc2923", "id": "ec44baea08cc2923",
@ -185,7 +189,7 @@
"domain": "light", "domain": "light",
"service": "turn_on", "service": "turn_on",
"x": 1270, "x": 1270,
"y": 480, "y": 440,
"wires": [ "wires": [
[] []
] ]
@ -218,7 +222,7 @@
"domain": "light", "domain": "light",
"service": "turn_off", "service": "turn_off",
"x": 1270, "x": 1270,
"y": 540, "y": 580,
"wires": [ "wires": [
[] []
] ]
@ -242,10 +246,10 @@
"allowrate": false, "allowrate": false,
"outputs": 1, "outputs": 1,
"x": 1020, "x": 1020,
"y": 540, "y": 580,
"wires": [ "wires": [
[ [
"f0c5e4339b494c3a" "fa8d1668235782d3"
] ]
] ]
}, },
@ -309,7 +313,7 @@
"entity_location": "data", "entity_location": "data",
"override_data": "msg", "override_data": "msg",
"x": 600, "x": 600,
"y": 540, "y": 580,
"wires": [ "wires": [
[ [
"14c3a212afc4cd78" "14c3a212afc4cd78"
@ -331,7 +335,7 @@
"finalize": "", "finalize": "",
"libs": [], "libs": [],
"x": 810, "x": 810,
"y": 540, "y": 580,
"wires": [ "wires": [
[ [
"43d024d394d94663" "43d024d394d94663"
@ -379,7 +383,7 @@
"y": 440, "y": 440,
"wires": [ "wires": [
[ [
"5b5ec57984037a5c" "2b525828bc96835e"
], ],
[] []
] ]
@ -430,6 +434,98 @@
[] []
] ]
}, },
{
"id": "4f22d1a57648e607",
"type": "api-call-service",
"z": "a1055886e0cbd337",
"g": "23b8f90b282ac8a2",
"name": "Küche LED Streifen AN",
"server": "387b3091.65c5",
"version": 7,
"debugenabled": false,
"action": "light.turn_on",
"floorId": [],
"areaId": [],
"deviceId": [],
"entityId": [
"light.arbeitsplatte"
],
"labelId": [],
"data": "{\"brightness\":\"40\"\t,\"profile\":\"relax\"}",
"dataType": "jsonata",
"mergeContext": "",
"mustacheAltTags": false,
"outputProperties": [],
"queue": "none",
"blockInputOverrides": false,
"domain": "light",
"service": "turn_on",
"x": 1250,
"y": 500,
"wires": [
[]
]
},
{
"id": "2b525828bc96835e",
"type": "junction",
"z": "a1055886e0cbd337",
"g": "23b8f90b282ac8a2",
"x": 1080,
"y": 440,
"wires": [
[
"5b5ec57984037a5c",
"4f22d1a57648e607"
]
]
},
{
"id": "c730df6b04bdaf41",
"type": "api-call-service",
"z": "a1055886e0cbd337",
"g": "23b8f90b282ac8a2",
"name": "Küche LED Streifen AUS",
"server": "387b3091.65c5",
"version": 7,
"debugenabled": false,
"action": "light.turn_off",
"floorId": [],
"areaId": [],
"deviceId": [],
"entityId": [
"light.arbeitsplatte"
],
"labelId": [],
"data": "",
"dataType": "jsonata",
"mergeContext": "",
"mustacheAltTags": false,
"outputProperties": [],
"queue": "none",
"blockInputOverrides": false,
"domain": "light",
"service": "turn_off",
"x": 1250,
"y": 640,
"wires": [
[]
]
},
{
"id": "fa8d1668235782d3",
"type": "junction",
"z": "a1055886e0cbd337",
"g": "23b8f90b282ac8a2",
"x": 1100,
"y": 580,
"wires": [
[
"f0c5e4339b494c3a",
"c730df6b04bdaf41"
]
]
},
{ {
"id": "387b3091.65c5", "id": "387b3091.65c5",
"type": "server", "type": "server",

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,182 @@
[
{
"id": "ec8c530269d9809c",
"type": "group",
"z": "74eab2802feb3cf4",
"name": "Heimkino Pause bei Klingel",
"style": {
"fill": "#dbcbe7",
"label": true
},
"nodes": [
"bbe2bd314f9ccfdd",
"a53fb4f4f48cc404",
"3bdb09facf75d941"
],
"x": 14,
"y": 319,
"w": 1172,
"h": 82
},
{
"id": "bbe2bd314f9ccfdd",
"type": "server-state-changed",
"z": "74eab2802feb3cf4",
"g": "ec8c530269d9809c",
"name": "Klingel",
"server": "162e4f7136cd343a",
"version": 6,
"outputs": 2,
"exposeAsEntityConfig": "",
"entities": {
"entity": [
"binary_sensor.diele_klingelsensor"
],
"substring": [],
"regex": []
},
"outputInitially": false,
"stateType": "str",
"ifState": "on",
"ifStateType": "str",
"ifStateOperator": "is",
"outputOnlyOnStateChange": true,
"for": "0",
"forType": "num",
"forUnits": "minutes",
"ignorePrevStateNull": false,
"ignorePrevStateUnknown": false,
"ignorePrevStateUnavailable": false,
"ignoreCurrentStateUnknown": false,
"ignoreCurrentStateUnavailable": false,
"outputProperties": [
{
"property": "payload",
"propertyType": "msg",
"value": "Jemand hat an der Haustüre geschellt",
"valueType": "str"
},
{
"property": "topic",
"propertyType": "msg",
"value": "Klingel",
"valueType": "str"
},
{
"property": "sound",
"propertyType": "msg",
"value": "bike",
"valueType": "str"
}
],
"x": 90,
"y": 360,
"wires": [
[
"a53fb4f4f48cc404"
],
[]
]
},
{
"id": "a53fb4f4f48cc404",
"type": "api-current-state",
"z": "74eab2802feb3cf4",
"g": "ec8c530269d9809c",
"name": "State Apple TV",
"server": "162e4f7136cd343a",
"version": 3,
"outputs": 2,
"halt_if": "playing",
"halt_if_type": "str",
"halt_if_compare": "is",
"entity_id": "media_player.multimedia",
"state_type": "str",
"blockInputOverrides": true,
"outputProperties": [
{
"property": "payload",
"propertyType": "msg",
"value": "",
"valueType": "entityState"
},
{
"property": "data",
"propertyType": "msg",
"value": "",
"valueType": "entity"
}
],
"for": "0",
"forType": "num",
"forUnits": "minutes",
"override_topic": false,
"state_location": "payload",
"override_payload": "msg",
"entity_location": "data",
"override_data": "msg",
"x": 420,
"y": 360,
"wires": [
[
"3bdb09facf75d941"
],
[]
]
},
{
"id": "3bdb09facf75d941",
"type": "api-call-service",
"z": "74eab2802feb3cf4",
"g": "ec8c530269d9809c",
"name": "Apple TV Pause",
"server": "162e4f7136cd343a",
"version": 7,
"debugenabled": false,
"action": "media_player.media_pause",
"floorId": [],
"areaId": [],
"deviceId": [],
"entityId": [
"media_player.multimedia"
],
"labelId": [],
"data": "",
"dataType": "jsonata",
"mergeContext": "",
"mustacheAltTags": false,
"outputProperties": [],
"queue": "none",
"blockInputOverrides": true,
"domain": "media_player",
"service": "media_pause",
"x": 1080,
"y": 360,
"wires": [
[]
]
},
{
"id": "162e4f7136cd343a",
"type": "server",
"name": "Home Assistant",
"version": 5,
"addon": false,
"rejectUnauthorizedCerts": true,
"ha_boolean": "y|yes|true|on|home|open",
"connectionDelay": true,
"cacheJson": true,
"heartbeat": true,
"heartbeatInterval": "10",
"areaSelector": "friendlyName",
"deviceSelector": "friendlyName",
"entitySelector": "friendlyName",
"statusSeparator": ": ",
"statusYear": "hidden",
"statusMonth": "short",
"statusDay": "numeric",
"statusHourCycle": "default",
"statusTimeFormat": "h:m",
"enableGlobalContextStore": false
}
]

View File

@ -0,0 +1,162 @@
[
{
"id": "a0b2588596805a6b",
"type": "group",
"z": "97ac338125ef7574",
"name": "Küche Milch Auto Aus",
"style": {
"fill": "#e3f3d3",
"label": true
},
"nodes": [
"9098a3b94fafb8d1",
"b1fad812fd4fcba0",
"581fb8dd7042b734"
],
"x": 34,
"y": 359,
"w": 1132,
"h": 82
},
{
"id": "9098a3b94fafb8d1",
"type": "server-state-changed",
"z": "97ac338125ef7574",
"g": "a0b2588596805a6b",
"name": "Küche Milch",
"server": "162e4f7136cd343a",
"version": 6,
"outputs": 2,
"exposeAsEntityConfig": "",
"entities": {
"entity": [
"switch.kuche_baby_breezer"
],
"substring": [],
"regex": []
},
"outputInitially": false,
"stateType": "str",
"ifState": "on",
"ifStateType": "str",
"ifStateOperator": "is",
"outputOnlyOnStateChange": true,
"for": "",
"forType": "num",
"forUnits": "minutes",
"ignorePrevStateNull": false,
"ignorePrevStateUnknown": false,
"ignorePrevStateUnavailable": false,
"ignoreCurrentStateUnknown": false,
"ignoreCurrentStateUnavailable": false,
"outputProperties": [
{
"property": "payload",
"propertyType": "msg",
"value": "",
"valueType": "entityState"
},
{
"property": "data",
"propertyType": "msg",
"value": "",
"valueType": "eventData"
},
{
"property": "topic",
"propertyType": "msg",
"value": "",
"valueType": "triggerId"
}
],
"x": 130,
"y": 400,
"wires": [
[
"581fb8dd7042b734"
],
[]
]
},
{
"id": "b1fad812fd4fcba0",
"type": "api-call-service",
"z": "97ac338125ef7574",
"g": "a0b2588596805a6b",
"name": "Küche Milch Aus",
"server": "162e4f7136cd343a",
"version": 7,
"debugenabled": false,
"action": "switch.turn_off",
"floorId": [],
"areaId": [],
"deviceId": [],
"entityId": [
"switch.kuche_baby_breezer"
],
"labelId": [],
"data": "",
"dataType": "jsonata",
"mergeContext": "",
"mustacheAltTags": false,
"outputProperties": [],
"queue": "none",
"blockInputOverrides": true,
"domain": "switch",
"service": "turn_off",
"x": 1050,
"y": 400,
"wires": [
[]
]
},
{
"id": "581fb8dd7042b734",
"type": "delay",
"z": "97ac338125ef7574",
"g": "a0b2588596805a6b",
"name": "",
"pauseType": "delay",
"timeout": "5",
"timeoutUnits": "minutes",
"rate": "1",
"nbRateUnits": "1",
"rateUnits": "second",
"randomFirst": "1",
"randomLast": "5",
"randomUnits": "seconds",
"drop": false,
"allowrate": false,
"outputs": 1,
"x": 480,
"y": 400,
"wires": [
[
"b1fad812fd4fcba0"
]
]
},
{
"id": "162e4f7136cd343a",
"type": "server",
"name": "Home Assistant",
"version": 5,
"addon": false,
"rejectUnauthorizedCerts": true,
"ha_boolean": "y|yes|true|on|home|open",
"connectionDelay": true,
"cacheJson": true,
"heartbeat": true,
"heartbeatInterval": "10",
"areaSelector": "friendlyName",
"deviceSelector": "friendlyName",
"entitySelector": "friendlyName",
"statusSeparator": ": ",
"statusYear": "hidden",
"statusMonth": "short",
"statusDay": "numeric",
"statusHourCycle": "default",
"statusTimeFormat": "h:m",
"enableGlobalContextStore": false
}
]

View File

@ -0,0 +1,162 @@
[
{
"id": "70de134cfdc04e0d",
"type": "group",
"z": "97ac338125ef7574",
"name": "Küche Wasserkocher Auto Aus",
"style": {
"fill": "#e3f3d3",
"label": true
},
"nodes": [
"83515f35bc98956a",
"0c50f796b7692d83",
"6b1696f0efaa58a4"
],
"x": 34,
"y": 459,
"w": 1132,
"h": 82
},
{
"id": "83515f35bc98956a",
"type": "server-state-changed",
"z": "97ac338125ef7574",
"g": "70de134cfdc04e0d",
"name": "Küche Wasserkocher",
"server": "162e4f7136cd343a",
"version": 6,
"outputs": 2,
"exposeAsEntityConfig": "",
"entities": {
"entity": [
"switch.kuche_wasserkocher"
],
"substring": [],
"regex": []
},
"outputInitially": false,
"stateType": "str",
"ifState": "on",
"ifStateType": "str",
"ifStateOperator": "is",
"outputOnlyOnStateChange": true,
"for": "",
"forType": "num",
"forUnits": "minutes",
"ignorePrevStateNull": false,
"ignorePrevStateUnknown": false,
"ignorePrevStateUnavailable": false,
"ignoreCurrentStateUnknown": false,
"ignoreCurrentStateUnavailable": false,
"outputProperties": [
{
"property": "payload",
"propertyType": "msg",
"value": "",
"valueType": "entityState"
},
{
"property": "data",
"propertyType": "msg",
"value": "",
"valueType": "eventData"
},
{
"property": "topic",
"propertyType": "msg",
"value": "",
"valueType": "triggerId"
}
],
"x": 160,
"y": 500,
"wires": [
[
"6b1696f0efaa58a4"
],
[]
]
},
{
"id": "0c50f796b7692d83",
"type": "api-call-service",
"z": "97ac338125ef7574",
"g": "70de134cfdc04e0d",
"name": "Küche Wasserkocher Aus",
"server": "162e4f7136cd343a",
"version": 7,
"debugenabled": false,
"action": "switch.turn_off",
"floorId": [],
"areaId": [],
"deviceId": [],
"entityId": [
"switch.kuche_wasserkocher"
],
"labelId": [],
"data": "",
"dataType": "jsonata",
"mergeContext": "",
"mustacheAltTags": false,
"outputProperties": [],
"queue": "none",
"blockInputOverrides": true,
"domain": "switch",
"service": "turn_off",
"x": 1030,
"y": 500,
"wires": [
[]
]
},
{
"id": "6b1696f0efaa58a4",
"type": "delay",
"z": "97ac338125ef7574",
"g": "70de134cfdc04e0d",
"name": "",
"pauseType": "delay",
"timeout": "7",
"timeoutUnits": "minutes",
"rate": "1",
"nbRateUnits": "1",
"rateUnits": "second",
"randomFirst": "1",
"randomLast": "5",
"randomUnits": "seconds",
"drop": false,
"allowrate": false,
"outputs": 1,
"x": 480,
"y": 500,
"wires": [
[
"0c50f796b7692d83"
]
]
},
{
"id": "162e4f7136cd343a",
"type": "server",
"name": "Home Assistant",
"version": 5,
"addon": false,
"rejectUnauthorizedCerts": true,
"ha_boolean": "y|yes|true|on|home|open",
"connectionDelay": true,
"cacheJson": true,
"heartbeat": true,
"heartbeatInterval": "10",
"areaSelector": "friendlyName",
"deviceSelector": "friendlyName",
"entitySelector": "friendlyName",
"statusSeparator": ": ",
"statusYear": "hidden",
"statusMonth": "short",
"statusDay": "numeric",
"statusHourCycle": "default",
"statusTimeFormat": "h:m",
"enableGlobalContextStore": false
}
]

File diff suppressed because it is too large Load Diff

223
notification_board.yaml Normal file
View File

@ -0,0 +1,223 @@
alias: Notification Board
mode: queued
max: 10
description: ""
fields:
message:
name: Message
description: Nachricht
selector:
text:
multiline: true
title:
name: Title
description: Titel
selector:
text: null
critical:
name: Critical
description: iPhone Kritische Hinweise
selector:
boolean: {}
required: true
notify_alexa_durchsagen:
name: Notify Alexa (Durchsagen)
description: Sprachausgabe über Amazon-Geräte mit "_durchsagen"
selector:
boolean: {}
required: true
notify_alexa_sprechen:
name: Notify Alexa (Sprechen)
description: Sprachausgabe über Amazon-Geräte mit "_sprechen"
selector:
boolean: {}
required: true
notify_tv:
name: Notify TV
description: Benachrichtigung auf TV Geräten
selector:
boolean: {}
required: true
pushover_oliver:
name: Pushover Oliver
description: Benachrichtigung über Pushover (Oliver)
selector:
boolean: {}
required: true
pushover_lisa:
name: Pushover Lisa
description: Benachrichtigung über Pushover (Lisa)
selector:
boolean: {}
required: true
notify_persistent:
name: Notify Persistent (Nur App)
description: Dauerhafte Benachrichtigung in Home Assistant
selector:
boolean: {}
required: true
notify_oliver:
name: Notify Oliver
description: Benachrichtigung über Mobile App (Oliver)
selector:
boolean: {}
required: true
notify_lisa:
name: Notify Lisa
description: Benachrichtigung über Mobile App (Lisa)
selector:
boolean: {}
required: true
notify_familie:
name: Notify Familie
description: Benachrichtigung über beide Mobile Apps
selector:
boolean: {}
required: true
sequence:
- variables:
persistent_data: >-
{% if notify_persistent %}
{"notification_id": "{{ title | default("benachrichtigung") | lower | replace(" ", "_") }}"}
{% else %} {} {% endif %}
- variables:
tv_on: "{{ is_state('media_player.lg_webos_tv_nano769qa', 'on') }}"
- variables:
notify_targets: >-
{% set t = [] %}
{% if notify_persistent %}
{% set t = t + ['notify.persistent_notification'] %}
{% endif %}
{% if notify_alexa_durchsagen %}
{% set alexas_durchsagen = states.notify
| selectattr('entity_id', 'match', 'notify\\..*_durchsagen')
| rejectattr('entity_id', 'search', 'multiroom_durchsagen')
| rejectattr('entity_id', 'search', 'uberall_durchsagen')
| map(attribute='entity_id')
| list %}
{% set t = t + alexas_durchsagen %}
{% endif %}
{% if notify_alexa_sprechen %}
{% set alexas_sprechen = states.notify
| selectattr('entity_id', 'match', 'notify\\..*_sprechen')
| map(attribute='entity_id')
| list %}
{% set t = t + alexas_sprechen %}
{% endif %}
{% if notify_tv and tv_on %}
{% set t = t + ['notify.lg_webos_tv_nano769qa'] %}
{% endif %}
{% if pushover_oliver %}
{% set t = t + ['notify.pushover_oliver'] %}
{% endif %}
{% if pushover_lisa %}
{% set t = t + ['notify.pushover_lisa'] %}
{% endif %}
{% if notify_oliver %}
{% set t = t + ['notify.mobile_app_finger_weg_du_spasst'] %}
{% endif %}
{% if notify_lisa %}
{% set t = t + ['notify.mobile_app_meins'] %}
{% endif %}
{% if notify_familie %}
{% set t = t + ['notify.mobile_app_finger_weg_du_spasst', 'notify.mobile_app_meins'] %}
{% endif %}
{{ t | map('lower') | map('trim') | unique | list }}
- repeat:
for_each: "{{ notify_targets }}"
sequence:
- choose:
# PERSISTENT NOTIFICATION
- conditions:
- condition: template
value_template: "{{ repeat.item == 'notify.persistent_notification' }}"
sequence:
- data:
message: "{{ message }}"
title: "{{ title | default('Benachrichtigung') }}"
data: "{{ persistent_data | from_json(default={}) }}"
action: notify.persistent_notification
# PUSHOVER
- conditions:
- condition: template
value_template: "{{ repeat.item.startswith('notify.pushover') }}"
sequence:
- choose:
- conditions:
- condition: template
value_template: "{{ critical }}"
sequence:
- data:
message: "{{ message }}"
title: "{{ title | default('Benachrichtigung') }}"
data:
priority: 2
sound: siren
retry: 30
expire: 300
action: "{{ repeat.item }}"
- conditions:
- condition: template
value_template: "{{ not critical }}"
sequence:
- data:
message: "{{ message }}"
title: "{{ title | default('Benachrichtigung') }}"
action: "{{ repeat.item }}"
# ALEXA / SONOS (mit Verzögerung)
- conditions:
- condition: template
value_template: >
{{ repeat.item.endswith('_durchsagen') or repeat.item.endswith('_sprechen') }}
sequence:
- data:
message: "{{ message }}"
title: "{{ title | default('Benachrichtigung') }}"
target:
entity_id: "{{ repeat.item }}"
action: notify.send_message
- delay: "00:00:02"
# MOBILE APP (iOS/Android)
- conditions:
- condition: template
value_template: "{{ repeat.item.startswith('notify.mobile_app') }}"
sequence:
- choose:
- conditions:
- condition: template
value_template: "{{ critical }}"
sequence:
- data:
message: "{{ message }}"
title: "{{ title | default('Benachrichtigung') }}"
data:
push:
sound:
name: default
critical: 1
volume: 1.0
action: "{{ repeat.item }}"
- conditions:
- condition: template
value_template: "{{ not critical }}"
sequence:
- data:
message: "{{ message }}"
title: "{{ title | default('Benachrichtigung') }}"
action: "{{ repeat.item }}"
# FALLBACK (TV, andere)
- conditions:
- condition: template
value_template: "{{ True }}"
sequence:
- data:
message: "{{ message }}"
title: "{{ title | default('Benachrichtigung') }}"
action: "{{ repeat.item }}"