Abfrage der Taster eines BROLL

Hallo Community,
ich bin neu hier und fange auch gerade an mit HomeAssistant und Automationen mit Node Red.
Ich habe hier im Haus einige Rolloaktoren BROLL. diese werden nun nach Sonnenstand und Zeitplänen munter rauf und runter gefahren.
Auch per Tastendruck an den Geräten werden und sollen die Rollos weiterhin bedient werden können.
Jedoch wenn ich z.B. den Rollo der Küche manuell zum Teil runterfahre damit die Sonne mich nicht blendet wenn ich am Küchentisch sitze, dann fährt er nach einer kurzen Zeit wieder hoch. Das ist auch grundsätzlich nachvollziehbar.

Jetzt möchte ich gerne die Tastendrücke der BROLL in NR abfragen.
Damit möchte ich erkennen wenn der Rollo manuell hoch oder runtergefahren wurde. Diese Behanghöhe möchte ich für eine bestimmte Zeit (1h) erhalten. Dann darf der Rollo wieder je nach Flow hoch oder runter fahren.

Habt ihr eine Idee?

Moin,
willkommen in der Community.

Ein Helfer/Schalter der beim Betätigen einer Taste aktiviert wird und wenn eine Stunde kein Schalter betätigt wurde wird der Schalter deaktiviert.
Den Schalter musst du denn in deiner Automation abfragen.

LG

Danke für’s Willkommen heißen und für die Rückmeldung.

Ich stehe hier immer noch auf dem Schlauch.

Der Schalterhelfer hilft nicht wirklich.
Ich möchte ja die Tasterbedienungen “rauf/runter” vom Rolloaktor erfassen und in Node Red verarbeiten.

Wie frage ich die beiden Kanäle ab?

Man müsste erstmal wissen was du “HomeMatic seitig” nutzt.
Also AccessPoint / HCU oder CCU.

Wenn CCU dann wäre noch gut zu wissen welche Integration genutzt wird.

Hallo Baxxy,

ach so ja, natürlich.

HomeMatig seitig gibt es:
CCU3
mehrere BROLL für Rollos im Haus, z. Zt. nur Erdgeschoss
ein paar FROLL für Rollos und Markise auf der Terrasse,
ein BS2 für das Licht auf der Terrasse,
Türgriffsensor für die Terassentür, damit der Rollo nicht runterfährt wenn Türe geöffnet

Es läuft ein Home Assistant auf einem Raspberry Pi.
Hier ist die Homematic(IP) Local integriert und auch NODE RED, da ich die Automation damit als “einfacher” betrachte.

Es sollen noch ein paar Shellys folgen.

Ich hoffe das beantwortet deine Fragen.

LG

Jawoll.
Falls du es noch nicht getan hast musst du die Tasterevents erstmal auf der CCU3 “aktivieren”.

Die Events kannst du dann innerhalb HA direkt verarbeiten. Ob die auch so direkt an NR weitergegeben werden weiß ich aber nicht.

Du könntest auch NodeRED driekt die Daten aus der CCU holen lassen.

In der NodeRED Addon Konfiguration bei den npm Paketen einfach node-red-contrib-ccu hinzufügen

Vielleicht findest du da die Datenpunkte um dein Projekt umzusetzen.

Ich habe NodeRED nur noch für die Sachen die ich am Anfang Automatisiert habe, inzwischen finde ich die Automation besser. Habe auch keine FROLL BROLL zum gucken.

LG

In NodeRed sollte das mit der ‘value’ Node gehen. Habe es grad mit einem Froll probiert. Voraussetzung RaspberryMatic ist mit NodeRed verbunden. Wie du dann die Infos weiter verarbeitest kann ich spontan auch nicht sagen.

Erst einmal vielen Dank an alle die hier Ideen geschrieben haben.

@Baxxy
Dein Tip mit dem “aktivieren” der Tasterevents in der CCU hat zumindest soweit geholfen, dass in Node Red die CH1 und CH2 ausgelesen werden können.
In einem DEBUG habe ich nun das Protokoll, aber jetzt muss ich herausfinden wie man mit den Informationen weiter umgehen kann.

Ich habe leider keine Ahnung wie man den Text vernünftig oder so wie in Node Red gezeigt hier posten kann

event.gwc_rollo_ch1 : msg : Object
object
payload: "2025-07-23T20:23:41.448+00:00"
data: object
entity_id: "event.gwc_rollo_ch1"
old_state: object
entity_id: "event.gwc_rollo_ch1"
state: "2025-07-23T19:23:42.140+00:00"
attributes: object
event_types: array[4]
0: "press_long_release"
1: "press_short"
2: "press_long_start"
3: "press_long"
event_type: "press_short"
interface_id: "CCU3-HmIP-RF"
address: "00369F29B505DB:1"
model: "HmIP-BROLL-2"
device_class: "button"
friendly_name: "GWC Rollo ch1"
last_changed: "2025-07-23T19:23:42.140256+00:00"
last_reported: "2025-07-23T19:23:42.140256+00:00"
last_updated: "2025-07-23T19:23:42.140256+00:00"
context: object
id: "01K0WBVNNWRP2XPCEESJNVF0MQ"
parent_id: null
user_id: null
new_state: object
entity_id: "event.gwc_rollo_ch1"
state: "2025-07-23T20:23:41.448+00:00"
attributes: object
event_types: array[4]
event_type: "press_short"
interface_id: "CCU3-HmIP-RF"
address: "00369F29B505DB:1"
model: "HmIP-BROLL-2"
device_class: "button"
friendly_name: "GWC Rollo ch1"
last_changed: "2025-07-23T20:23:41.448714+00:00"
last_reported: "2025-07-23T20:23:41.448714+00:00"
last_updated: "2025-07-23T20:23:41.448714+00:00"
context: object
id: "01K0WF9GM8WDQEZ8BCEKN0SAS0"
parent_id: null
user_id: null
timeSinceChangedMs: 3
topic: "event.gwc_rollo_ch1"
_msgid: "30f0286cd37627f3"

Irgendwo hier drinnen steht der passende Teil.
Ich vermute mal es sind die beiden Zeilen "event_type: “press_short”.

Nun ist die Frage, mit welchem Knoten kann dies Info ausgewertet und verarbeitet werden?

Eventuell kann man in HA diese Info besser in einen Helfer oder so bringen.
Nur wie?

Ich könnte mir einen Helfer vorstellen, aber ich weiß nicht welche Art.
Vielleicht ein Template Helfer, aber was schreibt man da rein?

Fragen über Fragen.
Ich habe mir das einfacher vorgestellt.

Jetzt geht’s erst einmal ins Bettchen.

Gute :sleeping:

So, ich habe ein wenig herumprobiert und tatsächlich etwas gefunden.

In der CCU ein Programm mit allen BROLL und beiden Tastern erstellen.
Nur diese Bedingungen eingeben sonst nicht weiter .
Danach einmal alle Tasten an den Geräten drücken.
Schwups,… die Daten landen in HA und können ausgelesen werden.

In NR sieht das dann so aus:


Mit dem state_changed:event.kueche_rollo_ch1 wird immer auf Änderungen geschaut. Wenn Änderungen anstehen werden die im switch-node gefilter und weitergeleitet.
Oben kurzer Tastendruck, unten langer Tastendruck.

Jetzt kommt mein Problem.

Ich möchte diese Änderung in einen flow der Sonnensteuerung des Rollos bringen, so dass das automatische Hoch- oder Runterfahren für eine Zeit unterbrochen wird.

Wie kann das in Node red gemacht werden?

Hallo Zusammen,

ich habe es wohl geschafft, mit Hilfe von Recherche und ChatGPT :astonished_face:

image

[{"id":"d4d6abbea21e2168","type":"server-state-changed","z":"a3de9a504f70d2db","name":"Rollo Küche manuell runter","server":"361d1dc1.d29082","version":6,"outputs":1,"exposeAsEntityConfig":"","entities":{"entity":["event.kueche_rollo_ch1"],"substring":[],"regex":[]},"outputInitially":false,"stateType":"str","ifState":"","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":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":170,"y":2220,"wires":[["87a339cf54bfa5db"]]},{"id":"87a339cf54bfa5db","type":"switch","z":"a3de9a504f70d2db","name":"Taster kurz/lang","property":"payload","propertyType":"msg","rules":[{"t":"jsonata_exp","v":"data.new_state.attributes.event_type = \"press_short\"","vt":"jsonata"},{"t":"jsonata_exp","v":"data.new_state.attributes.event_type = \"press_long_release\"","vt":"jsonata"}],"checkall":"true","repair":false,"outputs":2,"x":380,"y":2220,"wires":[["60a36ae1ce122a35","ac2335e588df7dd1"],["60a36ae1ce122a35","ac2335e588df7dd1"]]},{"id":"60a36ae1ce122a35","type":"function","z":"a3de9a504f70d2db","name":"BlockRollo Küche hoch = setzen","func":"global.set(\"BlockRolloKuechehoch\", true);\nreturn msg;","outputs":1,"timeout":"","noerr":0,"initialize":"","finalize":"","libs":[],"x":730,"y":2220,"wires":[[]]},{"id":"ac2335e588df7dd1","type":"trigger","z":"a3de9a504f70d2db","name":"Blockzeit 30 Minuten","op1":"","op2":"false","op1type":"nul","op2type":"bool","duration":"30","extend":false,"overrideDelay":false,"units":"min","reset":"","bytopic":"all","topic":"topic","outputs":1,"x":700,"y":2260,"wires":[["e08af97749c7a8fe"]]},{"id":"e08af97749c7a8fe","type":"function","z":"a3de9a504f70d2db","name":"BlockRollo Küche hoch = lösen","func":"global.set(\"BlockRolloKuechehoch\", false);\nreturn msg;","outputs":1,"timeout":"","noerr":0,"initialize":"","finalize":"","libs":[],"x":970,"y":2260,"wires":[[]]},{"id":"361d1dc1.d29082","type":"server","name":"Home Assistant","addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"","connectionDelay":false,"cacheJson":true,"heartbeat":false,"heartbeatInterval":"","areaSelector":"friendlyName","deviceSelector":"friendlyName","entitySelector":"friendlyName","statusSeparator":"am:","statusYear":"hidden","statusMonth":"short","statusDay":"numeric","statusHourCycle":"h23","statusTimeFormat":"h:m:s","enableGlobalContextStore":true}]`

[{"id":"f43e1e20a6fc314b","type":"api-call-service","z":"a3de9a504f70d2db","name":"Rollo Küche hoch","server":"361d1dc1.d29082","version":7,"debugenabled":false,"action":"cover.open_cover","floorId":[],"areaId":[],"deviceId":[],"entityId":["cover.kueche_rollo"],"labelId":[],"data":"","dataType":"json","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","blockInputOverrides":true,"domain":"cover","service":"open_cover","x":1210,"y":2100,"wires":[[]]},{"id":"d529253dc9b705f4","type":"function","z":"a3de9a504f70d2db","name":"Block Rollo Küche hoch prüfen","func":"let block = global.get(\"BlockRolloKuechehoch\") || false;\nif (block) {\n    return null; // blockiert\n} else {\n    return msg; // durchlassen\n}","outputs":1,"timeout":"","noerr":0,"initialize":"","finalize":"","libs":[],"x":970,"y":2100,"wires":[["f43e1e20a6fc314b"]]},{"id":"361d1dc1.d29082","type":"server","name":"Home Assistant","addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"","connectionDelay":false,"cacheJson":true,"heartbeat":false,"heartbeatInterval":"","areaSelector":"friendlyName","deviceSelector":"friendlyName","entitySelector":"friendlyName","statusSeparator":"am:","statusYear":"hidden","statusMonth":"short","statusDay":"numeric","statusHourCycle":"h23","statusTimeFormat":"h:m:s","enableGlobalContextStore":true}]

Vielen Dank an alle die mir mit Ideen geholfen haben.