NEWS
[Vorlage] Einfaches Blockly für Homematic IP Fernbedienung
-
EDIT: Mit Debug-Blöcken statt meinen Inhalten zum besseren Testen
Hallo ioBroker Gemeinde,
bevor das Jahr zu Ende geht, möchte ich auf diesem Weg mal DANKE sagen für die tolle Unterstützung, die ich hier vor allem am Anfang bekommen habe und auf diesem Weg gelegentlich was zurückgeben.
Aufgabe:
Möglichst einfache Einbindung der Homematic Fernbedienung HMiP-RC8 in ioBroker, um auf die Tasten (8 Tasten, jeweils "LONG" und "SHORT", also in der Summe 16 Tastendrücke) zu reagieren. Dabei soll das ganze übersichtlich und möglichst ohne unnötige Redundanzen sein. Zugegeben, das ist jetzt kein komplexes Script aber vielleicht kann es doch Manchem helfen und Doppelarbeit vermeiden.Voraussetzung:
Die Fernbedienung liefert schon brav die Tastendrücke an ioB. Dafür braucht es ein "Dummy" Script auf CCU, aber das wurde ja schon an anderer Stelle hier im Forum erklärt.Nutzung:
- Script aus dem Code Block unten oder der Textdatei importieren
- In dem "IDs vom Selektor" Block ganz am Anfang die Objekt-IDs Eurer FB eintragen (2 mal)
- Script starten und Debug Ausgabe checken, dort sollten alle Tastendrücke erscheinen im Format z.B. "5/L" für Taste 5, LONG
- Ggf. die Entprellzeit anpassen (timeout 2 am Ende des Scripts), wenn Tasten doppelt oder zu verzögert erscheinen
- Die Debug Blöcke durch eigenen Code ersetzen. Ich empfehle hier nur z.B. das Setzen eines eigenen z.B. "0_userdate.0" States, auf den das eigentliche Script reagiert. So bleibt die Integration der FB von der Funktion getrennt und der Code übersichtlich
So sieht das dann z.B. bei mir aus, um über die Tasten 7 und 8 die Lampe "Wandleuchte" schalten und dimmen zu können:

Und hier nun das Script in der Übersicht und zum Download (aus dem Spoiler oder als Textdatei):

Template HmIP Remote (blockly).txt
Möglicherweise kann man das noch besser machen (ich lerne gerne dazu), aber zumindest erfüllt es seinen Zweck bei mir seit Monaten...
Fragen oder Anregungen gerne hier oder auf Discord.
Gruß
Thomas (@Ahnungsbefreit)
-
EDIT: Mit Debug-Blöcken statt meinen Inhalten zum besseren Testen
Hallo ioBroker Gemeinde,
bevor das Jahr zu Ende geht, möchte ich auf diesem Weg mal DANKE sagen für die tolle Unterstützung, die ich hier vor allem am Anfang bekommen habe und auf diesem Weg gelegentlich was zurückgeben.
Aufgabe:
Möglichst einfache Einbindung der Homematic Fernbedienung HMiP-RC8 in ioBroker, um auf die Tasten (8 Tasten, jeweils "LONG" und "SHORT", also in der Summe 16 Tastendrücke) zu reagieren. Dabei soll das ganze übersichtlich und möglichst ohne unnötige Redundanzen sein. Zugegeben, das ist jetzt kein komplexes Script aber vielleicht kann es doch Manchem helfen und Doppelarbeit vermeiden.Voraussetzung:
Die Fernbedienung liefert schon brav die Tastendrücke an ioB. Dafür braucht es ein "Dummy" Script auf CCU, aber das wurde ja schon an anderer Stelle hier im Forum erklärt.Nutzung:
- Script aus dem Code Block unten oder der Textdatei importieren
- In dem "IDs vom Selektor" Block ganz am Anfang die Objekt-IDs Eurer FB eintragen (2 mal)
- Script starten und Debug Ausgabe checken, dort sollten alle Tastendrücke erscheinen im Format z.B. "5/L" für Taste 5, LONG
- Ggf. die Entprellzeit anpassen (timeout 2 am Ende des Scripts), wenn Tasten doppelt oder zu verzögert erscheinen
- Die Debug Blöcke durch eigenen Code ersetzen. Ich empfehle hier nur z.B. das Setzen eines eigenen z.B. "0_userdate.0" States, auf den das eigentliche Script reagiert. So bleibt die Integration der FB von der Funktion getrennt und der Code übersichtlich
So sieht das dann z.B. bei mir aus, um über die Tasten 7 und 8 die Lampe "Wandleuchte" schalten und dimmen zu können:

Und hier nun das Script in der Übersicht und zum Download (aus dem Spoiler oder als Textdatei):

Template HmIP Remote (blockly).txt
Möglicherweise kann man das noch besser machen (ich lerne gerne dazu), aber zumindest erfüllt es seinen Zweck bei mir seit Monaten...
Fragen oder Anregungen gerne hier oder auf Discord.
Gruß
Thomas (@Ahnungsbefreit)
Danke für das bereitstellen!
Habe es für mich und meine HM Handsender angepasst und arbeitet sehr gut.
Hatte es vorher mit einfachen abfragen realisiert, aber so gefällt es mir deutlich besser.bis denne
-
Danke für das bereitstellen!
Habe es für mich und meine HM Handsender angepasst und arbeitet sehr gut.
Hatte es vorher mit einfachen abfragen realisiert, aber so gefällt es mir deutlich besser.bis denne
@Fenriswolf Freut mich, wenn es hilfreich war. Du darfst gerne den Beitrag "upvoten"...:face_with_rolling_eyes:
-
EDIT: Mit Debug-Blöcken statt meinen Inhalten zum besseren Testen
Hallo ioBroker Gemeinde,
bevor das Jahr zu Ende geht, möchte ich auf diesem Weg mal DANKE sagen für die tolle Unterstützung, die ich hier vor allem am Anfang bekommen habe und auf diesem Weg gelegentlich was zurückgeben.
Aufgabe:
Möglichst einfache Einbindung der Homematic Fernbedienung HMiP-RC8 in ioBroker, um auf die Tasten (8 Tasten, jeweils "LONG" und "SHORT", also in der Summe 16 Tastendrücke) zu reagieren. Dabei soll das ganze übersichtlich und möglichst ohne unnötige Redundanzen sein. Zugegeben, das ist jetzt kein komplexes Script aber vielleicht kann es doch Manchem helfen und Doppelarbeit vermeiden.Voraussetzung:
Die Fernbedienung liefert schon brav die Tastendrücke an ioB. Dafür braucht es ein "Dummy" Script auf CCU, aber das wurde ja schon an anderer Stelle hier im Forum erklärt.Nutzung:
- Script aus dem Code Block unten oder der Textdatei importieren
- In dem "IDs vom Selektor" Block ganz am Anfang die Objekt-IDs Eurer FB eintragen (2 mal)
- Script starten und Debug Ausgabe checken, dort sollten alle Tastendrücke erscheinen im Format z.B. "5/L" für Taste 5, LONG
- Ggf. die Entprellzeit anpassen (timeout 2 am Ende des Scripts), wenn Tasten doppelt oder zu verzögert erscheinen
- Die Debug Blöcke durch eigenen Code ersetzen. Ich empfehle hier nur z.B. das Setzen eines eigenen z.B. "0_userdate.0" States, auf den das eigentliche Script reagiert. So bleibt die Integration der FB von der Funktion getrennt und der Code übersichtlich
So sieht das dann z.B. bei mir aus, um über die Tasten 7 und 8 die Lampe "Wandleuchte" schalten und dimmen zu können:

Und hier nun das Script in der Übersicht und zum Download (aus dem Spoiler oder als Textdatei):

Template HmIP Remote (blockly).txt
Möglicherweise kann man das noch besser machen (ich lerne gerne dazu), aber zumindest erfüllt es seinen Zweck bei mir seit Monaten...
Fragen oder Anregungen gerne hier oder auf Discord.
Gruß
Thomas (@Ahnungsbefreit)
Vielen Dank für deine Anleitung!
Du erwähnst so nebenbei:
Dafür braucht es ein "Dummy" Script auf CCU, aber das wurde ja schon an anderer Stelle hier im Forum erklärt.
Um welches Skript handelt es sich? Ich habe dieses gefunden!?
Ist das das korrekte?Danke
-
Vielen Dank für deine Anleitung!
Du erwähnst so nebenbei:
Dafür braucht es ein "Dummy" Script auf CCU, aber das wurde ja schon an anderer Stelle hier im Forum erklärt.
Um welches Skript handelt es sich? Ich habe dieses gefunden!?
Ist das das korrekte?Danke
@M1R0O ich habe eben nur mein Handy und sehe das Script in dem Beitrag nicht aber Du brauchst nur ein CCU Script, das auf alle Tasten (jeweils short und long) reagiert und einfach nix macht
-
Vielen Dank für deine Anleitung!
Du erwähnst so nebenbei:
Dafür braucht es ein "Dummy" Script auf CCU, aber das wurde ja schon an anderer Stelle hier im Forum erklärt.
Um welches Skript handelt es sich? Ich habe dieses gefunden!?
Ist das das korrekte?Danke
@M1R0O sagte in [Vorlage] Einfaches Blockly für Homematic IP Fernbedienung:
Vielen Dank für deine Anleitung!
Du erwähnst so nebenbei:
Dafür braucht es ein "Dummy" Script auf CCU, aber das wurde ja schon an anderer Stelle hier im Forum erklärt.
Um welches Skript handelt es sich? Ich habe dieses gefunden!?
Ist das das korrekte?Danke
Du legst in der CCU einfach ein Programm an, in das du alle Tasten einträgst. Am besten mit oder verknüpft, aber keine Aktionen eintragen.
So triggert die CCU die Tasten richtig, führt aber selber nichts aus.
-
@M1R0O sagte in [Vorlage] Einfaches Blockly für Homematic IP Fernbedienung:
Vielen Dank für deine Anleitung!
Du erwähnst so nebenbei:
Dafür braucht es ein "Dummy" Script auf CCU, aber das wurde ja schon an anderer Stelle hier im Forum erklärt.
Um welches Skript handelt es sich? Ich habe dieses gefunden!?
Ist das das korrekte?Danke
Du legst in der CCU einfach ein Programm an, in das du alle Tasten einträgst. Am besten mit oder verknüpft, aber keine Aktionen eintragen.
So triggert die CCU die Tasten richtig, führt aber selber nichts aus.
@Fenriswolf genau so meinte ich das
-
EDIT: Mit Debug-Blöcken statt meinen Inhalten zum besseren Testen
Hallo ioBroker Gemeinde,
bevor das Jahr zu Ende geht, möchte ich auf diesem Weg mal DANKE sagen für die tolle Unterstützung, die ich hier vor allem am Anfang bekommen habe und auf diesem Weg gelegentlich was zurückgeben.
Aufgabe:
Möglichst einfache Einbindung der Homematic Fernbedienung HMiP-RC8 in ioBroker, um auf die Tasten (8 Tasten, jeweils "LONG" und "SHORT", also in der Summe 16 Tastendrücke) zu reagieren. Dabei soll das ganze übersichtlich und möglichst ohne unnötige Redundanzen sein. Zugegeben, das ist jetzt kein komplexes Script aber vielleicht kann es doch Manchem helfen und Doppelarbeit vermeiden.Voraussetzung:
Die Fernbedienung liefert schon brav die Tastendrücke an ioB. Dafür braucht es ein "Dummy" Script auf CCU, aber das wurde ja schon an anderer Stelle hier im Forum erklärt.Nutzung:
- Script aus dem Code Block unten oder der Textdatei importieren
- In dem "IDs vom Selektor" Block ganz am Anfang die Objekt-IDs Eurer FB eintragen (2 mal)
- Script starten und Debug Ausgabe checken, dort sollten alle Tastendrücke erscheinen im Format z.B. "5/L" für Taste 5, LONG
- Ggf. die Entprellzeit anpassen (timeout 2 am Ende des Scripts), wenn Tasten doppelt oder zu verzögert erscheinen
- Die Debug Blöcke durch eigenen Code ersetzen. Ich empfehle hier nur z.B. das Setzen eines eigenen z.B. "0_userdate.0" States, auf den das eigentliche Script reagiert. So bleibt die Integration der FB von der Funktion getrennt und der Code übersichtlich
So sieht das dann z.B. bei mir aus, um über die Tasten 7 und 8 die Lampe "Wandleuchte" schalten und dimmen zu können:

Und hier nun das Script in der Übersicht und zum Download (aus dem Spoiler oder als Textdatei):

Template HmIP Remote (blockly).txt
Möglicherweise kann man das noch besser machen (ich lerne gerne dazu), aber zumindest erfüllt es seinen Zweck bei mir seit Monaten...
Fragen oder Anregungen gerne hier oder auf Discord.
Gruß
Thomas (@Ahnungsbefreit)
@Ahnungsbefreit
erst einmal vielen Dank für dein Blockly. Das ist genau das, was ich gerade suche.
Bei mir gibt es jedoch ein Problem.
Zunächst habe ich ein Dummy in der CCU angelernt (nur Wenn ohne Dann). Danach das blockly bearbeitet (ID eingetragen) und mit den osram steckdosen verknüpft.
Mein Problem: Wenn ich z.B. den Taster 1 drücke, dann wird im Objektbaum des homematic-Adapters der Wert kurz grün aktualisiert (true), aber es passiert nichts. Er springt auch nicht auf false.
Wo könnte bei mir der Fehler liegen? -
@Ahnungsbefreit
erst einmal vielen Dank für dein Blockly. Das ist genau das, was ich gerade suche.
Bei mir gibt es jedoch ein Problem.
Zunächst habe ich ein Dummy in der CCU angelernt (nur Wenn ohne Dann). Danach das blockly bearbeitet (ID eingetragen) und mit den osram steckdosen verknüpft.
Mein Problem: Wenn ich z.B. den Taster 1 drücke, dann wird im Objektbaum des homematic-Adapters der Wert kurz grün aktualisiert (true), aber es passiert nichts. Er springt auch nicht auf false.
Wo könnte bei mir der Fehler liegen?@jwerlsdf sagte in [Vorlage] Einfaches Blockly für Homematic IP Fernbedienung:
Mein Problem: Wenn ich z.B. den Taster 1 drücke, dann wird im Objektbaum des homematic-Adapters der Wert kurz grün aktualisiert (true), aber es passiert nichts. Er springt auch nicht auf false.
Das ist wenn ich richtig informiert bin normal.
-
@Ahnungsbefreit
erst einmal vielen Dank für dein Blockly. Das ist genau das, was ich gerade suche.
Bei mir gibt es jedoch ein Problem.
Zunächst habe ich ein Dummy in der CCU angelernt (nur Wenn ohne Dann). Danach das blockly bearbeitet (ID eingetragen) und mit den osram steckdosen verknüpft.
Mein Problem: Wenn ich z.B. den Taster 1 drücke, dann wird im Objektbaum des homematic-Adapters der Wert kurz grün aktualisiert (true), aber es passiert nichts. Er springt auch nicht auf false.
Wo könnte bei mir der Fehler liegen?@jwerlsdf Genau deswegen triggere ich ja auf "aktualisiert" und nicht auf "geändert". Allerdings springt das bei mir nach kurzer Zeit zurück auf FALSE.
Was mich bei Dir wundert ist das Du die gleiche Taste für an/aus bei SHORT/LONG nimmst. Leg das doch mal probeweise auf 2 verschiedene Tasten...
Und noch eine Frage: Wenn Du mal DEBUG Blöcke überall einbaust, siehst Du dann die Tastendrücke? Ich habe das Template oben jetzt in der DEBUG Version hochgeladen, nimm doch die mal bitte und ändere nur die OID
-
@jwerlsdf Genau deswegen triggere ich ja auf "aktualisiert" und nicht auf "geändert". Allerdings springt das bei mir nach kurzer Zeit zurück auf FALSE.
Was mich bei Dir wundert ist das Du die gleiche Taste für an/aus bei SHORT/LONG nimmst. Leg das doch mal probeweise auf 2 verschiedene Tasten...
Und noch eine Frage: Wenn Du mal DEBUG Blöcke überall einbaust, siehst Du dann die Tastendrücke? Ich habe das Template oben jetzt in der DEBUG Version hochgeladen, nimm doch die mal bitte und ändere nur die OID
@Ahnungsbefreit
ich habe Debug eingestaltet, aber ich sehe leider keine Befehle im LOG (mit deinem urspünrlichen Skript)
Ich wollte "an" mit "short" und "aus" mit "long" schalten. So habe ich das bei meinen anderen homematic tastern gemacht... -
@Ahnungsbefreit
ich habe Debug eingestaltet, aber ich sehe leider keine Befehle im LOG (mit deinem urspünrlichen Skript)
Ich wollte "an" mit "short" und "aus" mit "long" schalten. So habe ich das bei meinen anderen homematic tastern gemacht...@jwerlsdf Nimm mal die Version, die jetzt oben im 1.Post im Spoiler steckt. Die erzeugt nur DEBUG Ausgaben
-
@jwerlsdf Nimm mal die Version, die jetzt oben im 1.Post im Spoiler steckt. Die erzeugt nur DEBUG Ausgaben
@Ahnungsbefreit
Geht leider immer noch nicht.
bekomme nur im Log folgendesjavascript.0 (1263) script.js.Test2: registered 0 subscriptions and 0 schedulesNormalerweise muss ja schedules wenigstens auf 1 stehen?!
Ich benutze im Moment die aktuellsten versionen der Adapter. Hast du ggf. einen älteren?
Testweise habe ich schnell ein blockly selbst zusammengebaut. Damit ging es. Ich würde aber gerne deine Version bevorzugen:
-
@Ahnungsbefreit
Geht leider immer noch nicht.
bekomme nur im Log folgendesjavascript.0 (1263) script.js.Test2: registered 0 subscriptions and 0 schedulesNormalerweise muss ja schedules wenigstens auf 1 stehen?!
Ich benutze im Moment die aktuellsten versionen der Adapter. Hast du ggf. einen älteren?
Testweise habe ich schnell ein blockly selbst zusammengebaut. Damit ging es. Ich würde aber gerne deine Version bevorzugen:
@jwerlsdf Hast Du die IDs angepasst? Bei mir sind da Dummy-Werte drin
-
@jwerlsdf Hast Du die IDs angepasst? Bei mir sind da Dummy-Werte drin
@Ahnungsbefreit
Ja. lautet dann z.B. so:channel[state.id=hm-rpc.1.000C1DE82140DED.PRESS_SHORT] -
@Ahnungsbefreit
Ja. lautet dann z.B. so:channel[state.id=hm-rpc.1.000C1DE82140DED.PRESS_SHORT]@jwerlsdf Ich nutze den JS Adapter aus DEFAULT aber ich glaube kaum, dass es daran liegt.
Aber Dein Channel Selektor sieht falsch aus. Probier mal:
channel[state.id=hm-rpc.1.000C1DE82140DED.*.PRESS_SHORT]und das Gleiche für LONG
-
Guten Morgen,
Danke für dein Skript. Durch Zufall drüber gestolpert. Da ich eh gerade etwas am aufräumen/ausmisten/vereinfachen bin trifft sich das ganz gut :)
Hast du noch eine Idee wie ich bei einem langen Tastendruck dafür sorge, das dieser nur einmal ausgelöst wird?Edit:
Guten Morgen zum 2. - nach dem Kaffee hab ich mir dein Skript dann mal genauer angeschaut - passt jetzt, hab einfach nur die Entprellzeit etwas erhöht ;)

