NEWS
Homematic IP Cloud Access Point Adapter
-
Moin zusammen, ich hätte da mal ein Anliegen und hoffe, dass ich hier richtig bin :)
Ich nutze seit einigen Jahren ein HMIP-System zusammen mit ioBroker. Seit etwa 1-2 Jahren habe ich ein sporadisches Problem mit der Statussynchronisation, das mich langsam ratlos macht:
Ein Bewegungsmelder schaltet über ein JavaScript Lampen an. Das funktioniert immer tadellos.
Nach x Minuten sollen die Lampen per Skript wieder ausgeschaltet werden. Im Log erscheint dann: "Value unchanged, do not send this value".
Die Lampen bleiben in echt AN, aber im ioBroker-Objekt unter state steht der Wert bereits auf false.
Es wirkt so, als würde der Adapter den "echten" Status (AN) von der Zentrale nicht mitbekommen. Da der Adapter intern glaubt, die Lampe sei schon aus (false), blockiert er den Ausschaltbefehl.Das Interessante dabei:
Der Fehler tritt absolut sporadisch auf. Mal läuft es wochenlang gut, mal passiert es zweimal die Woche.Hardware-unabhängig: Das Problem trat früher schon auf dem Raspberry Pi auf und besteht weiterhin, seit ich auf Docker (Synology) umgezogen bin.
Zentralen-unabhängig: Ich hatte den Fehler schon vor der HCU und er wandert mit.
Logstufe auf SILLY zeigt keine Fehler. Er scheint nicht mehr zu synchronisieren.
Der Adapter bleibt durchgehend "grün".Ein Neustart des hmip-Adapters behebt das Problem sofort für unbestimmte Zeit.
Hat jemand eine Idee, warum der ioBroker den Status-Update von Homematic verpasst oder warum der Adapter "einschläft", obwohl die Instanz grün bleibt?
Meine aktuelle Umgebung:
Node.js: v22.22.0
hmip-Adapter: v1.27.0
Installation: Docker (manuelles Setup) auf Synology DS925+
Vielen Dank vorab für eure Tipps!
-
Moin zusammen, ich hätte da mal ein Anliegen und hoffe, dass ich hier richtig bin :)
Ich nutze seit einigen Jahren ein HMIP-System zusammen mit ioBroker. Seit etwa 1-2 Jahren habe ich ein sporadisches Problem mit der Statussynchronisation, das mich langsam ratlos macht:
Ein Bewegungsmelder schaltet über ein JavaScript Lampen an. Das funktioniert immer tadellos.
Nach x Minuten sollen die Lampen per Skript wieder ausgeschaltet werden. Im Log erscheint dann: "Value unchanged, do not send this value".
Die Lampen bleiben in echt AN, aber im ioBroker-Objekt unter state steht der Wert bereits auf false.
Es wirkt so, als würde der Adapter den "echten" Status (AN) von der Zentrale nicht mitbekommen. Da der Adapter intern glaubt, die Lampe sei schon aus (false), blockiert er den Ausschaltbefehl.Das Interessante dabei:
Der Fehler tritt absolut sporadisch auf. Mal läuft es wochenlang gut, mal passiert es zweimal die Woche.Hardware-unabhängig: Das Problem trat früher schon auf dem Raspberry Pi auf und besteht weiterhin, seit ich auf Docker (Synology) umgezogen bin.
Zentralen-unabhängig: Ich hatte den Fehler schon vor der HCU und er wandert mit.
Logstufe auf SILLY zeigt keine Fehler. Er scheint nicht mehr zu synchronisieren.
Der Adapter bleibt durchgehend "grün".Ein Neustart des hmip-Adapters behebt das Problem sofort für unbestimmte Zeit.
Hat jemand eine Idee, warum der ioBroker den Status-Update von Homematic verpasst oder warum der Adapter "einschläft", obwohl die Instanz grün bleibt?
Meine aktuelle Umgebung:
Node.js: v22.22.0
hmip-Adapter: v1.27.0
Installation: Docker (manuelles Setup) auf Synology DS925+
Vielen Dank vorab für eure Tipps!
@Mechler sagte in Homematic IP Cloud Access Point Adapter:
Dann zeig doch mal das Skript. Nur dann kann man eventuelle Fehler sehen.
-
@Mechler sagte in Homematic IP Cloud Access Point Adapter:
Dann zeig doch mal das Skript. Nur dann kann man eventuelle Fehler sehen.
Ich glaube nicht, dass es an den Scripts liegt, da es in dem Moment auch so ist, wenn ich den Datenpunkt "on" manuell über den objektbaum setze das gleiche Verhalten haben.
Hier aber mal ein Script von einem der Bewegungsmelder.
Die DP vom RPC Adpater laufen immer ohne Probleme.var An__überprüfen, Mülll_war_an, Terasse_2_war_an, Terasse_1_war_an, BWM1; An__überprüfen = true; Mülll_war_an = 0; Terasse_2_war_an = 0; Terasse_1_war_an = 0; on({ id: [].concat(['0_userdata.0.Variablen.Licht.Schalter.BWM.BWM_Terasse_State']), change: 'ne' }, async (obj) => { let value = obj.state.val; let oldValue = obj.oldState.val; if ((obj.state ? obj.state.val : '') == true) { // Debug if (getState('0_userdata.0.Variablen.Debugmodus').val == true) { sendTo('telegram', 'send', { text: 'BWM_TER', user: 'Dennis', }); sendTo('telegram', 'send', { text: ([Terasse_1_war_an,'\n',Terasse_2_war_an,'\n',Mülll_war_an,'\n',''].join('')), user: 'Dennis', }); } if (getState('0_userdata.0.Variablen.BWM_TER').val == true && getState('javascript.0.variables.Nachtcheck').val == true) { (() => { if (BWM1) { clearTimeout(BWM1); BWM1 = null; }})(); if (getState('0_userdata.0.Variablen.Licht.Spots_Terasse2').val == true) { Terasse_2_war_an = 1; } else if (getState('0_userdata.0.Variablen.Licht.Spots_Terasse2').val == false) { Terasse_2_war_an = 0; } if (getState('0_userdata.0.Variablen.Licht.Spots_Müll').val == true) { Mülll_war_an = 1; } else if (getState('0_userdata.0.Variablen.Licht.Spots_Müll').val == false) { Mülll_war_an = 0; } if (getState('0_userdata.0.Variablen.Licht.Spots_Terasse1').val == true) { Terasse_1_war_an = 1; } else if (getState('0_userdata.0.Variablen.Licht.Spots_Terasse1').val == false) { Terasse_1_war_an = 0; } // Debug if (getState('0_userdata.0.Variablen.Debugmodus').val == true) { sendTo('telegram', 'send', { text: 'TER an', user: 'Dennis', }); sendTo('telegram', 'send', { text: ([Terasse_1_war_an,'\n',Terasse_2_war_an,'\n',Mülll_war_an,'',''].join('')), user: 'Dennis', }); } setState('hm-rpc.1.00161D898B15B2.30.STATE' /* Spots Terasse.STATE */, true); setStateDelayed('hm-rpc.1.00161D898B15B2.26.STATE' /* Spots Hinten.STATE */, true, 1000, false); // Spots Terasse Haus setStateDelayed('hmip.0.devices.3014F711A000085A49A4B06A.channels.1.on' /* on */, true, 1000, false); } } if ((obj.state ? obj.state.val : '') == false) { BWM1 = setTimeout(async () => { BWM1 = null; if (getState('0_userdata.0.Variablen.BWM_TER').val == true && getState('javascript.0.variables.Nachtcheck').val == true) { if (Terasse_2_war_an != 1) { setState('hmip.0.devices.3014F711A000085A49A4B06A.channels.1.on' /* on */, false); } if (Mülll_war_an != 1) { setStateDelayed('hm-rpc.1.00161D898B15B2.26.STATE' /* Spots Hinten.STATE */, false, 1000, false); } if (Terasse_1_war_an != 1) { setStateDelayed('hm-rpc.1.00161D898B15B2.30.STATE' /* Spots Terasse.STATE */, false, 1000, false); } An__überprüfen = true; Terasse_1_war_an = 0; Terasse_2_war_an = 0; Mülll_war_an = 0; } }, 120000); } });MOD-EDIT: Code in code-tags gesetzt!
-
@apollon77, @steckenpferd, @ofbeqnpolkkl6mby5e13
in der letzte Zeit habe ich beim Adapter vermehrt Fehler und Warnungen im Log.
Woran kann es liegen?hmip.0 2026-05-26 06:39:17.078 error Try reconnect in 30s hmip.0 2026-05-26 06:39:17.078 error close on websocket connection: 1006 - hmip.0 2026-05-26 06:39:12.077 warn ws connection closed (0) - code: 1006 - reason: hmip.0 2026-05-26 05:39:24.886 error Try reconnect in 30s hmip.0 2026-05-26 05:39:24.886 error close on websocket connection: 1006 - hmip.0 2026-05-26 05:39:19.884 warn ws connection closed (0) - code: 1006 - reason: hmip.0 2026-05-26 04:39:20.410 error Try reconnect in 30s hmip.0 2026-05-26 04:39:20.409 error close on websocket connection: 1006 - hmip.0 2026-05-26 04:39:15.407 warn ws connection closed (0) - code: 1006 - reason: hmip.0 2026-05-26 03:44:00.055 warn ws connection closed (0) - code: 1000 - reason: hmip.0 2026-05-26 03:39:15.925 error Try reconnect in 30s hmip.0 2026-05-26 03:39:15.925 error close on websocket connection: 1006 - hmip.0 2026-05-26 03:39:10.924 warn ws connection closed (0) - code: 1006 - reason: hmip.0 2026-05-26 02:54:24.852 error Try reconnect in 30s hmip.0 2026-05-26 02:54:24.852 error close on websocket connection: 1006 - hmip.0 2026-05-26 02:54:19.852 warn ws connection closed (0) - code: 1006 - reason: hmip.0 2026-05-26 02:09:21.493 error Try reconnect in 30s hmip.0 2026-05-26 02:09:21.493 error close on websocket connection: 1006 - hmip.0 2026-05-26 02:09:16.492 warn ws connection closed (0) - code: 1006 - reason:
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden