NEWS
ioBroker und CCU2 / XML-RPC Generic Error
-
Hallo zusammen,
leider habe ich seit einiger Zeit Probleme mit der Kommunikation zwischen ioBroker und meiner CCU2. Wenn per Script die Rollladen heruntergefahren werden sollen, scheint irgendwas gegen die Wand zu fahren. Anbei ein Screenshot des ioBroker-Logs mit den relevanten Zeilen. Leider erscheint nur ein Generic Error, aber keine weiteren Details, so dass ich keinen Ansatz habe, was da genau nicht stimmt. Der Duty Cycle liegt immer um die 7% und kann es somit eigentlich nicht sein. Momentan werden 8 Rollladen über den Homematic- und 3 über den Shelly-Adapter angesteuert.
Das Script sieht wie folgt aus (nur ein Auszug):
setState('hm-rpc.1.00111709A6A04C.4.LEVEL', 0); // Rolllade Windfang setState('hm-rpc.1.00111709A6A03F.4.LEVEL', 0); // Rolllade Gäste-WC setState('hm-rpc.1.0011170999D57E.4.LEVEL', 0); // Rolllade Büro Vorne setState('hm-rpc.1.0011170999CD2B.4.LEVEL', 0); // Rolllade Büro Seite setState('hm-rpc.1.00111709A6A03D.4.LEVEL', 0); // Rolllade Küche Seite if (getState('javascript.0.Sperren.RollladeKüche').val === false) { setState('hm-rpc.1.001158A98B2B4C.4.LEVEL', 0); // Rolllade Küche Hinten setState('hm-rpc.1.001158A98A542D.4.LEVEL', 0); // Rolllade Küche Luftraum if (getState('javascript.0.Sperren.RollladeBalkon').val === false) { if (getState('hm-rpc.1.00109709AAA540.1.STATE').val === 0) { setState('hm-rpc.1.001158A98B2B0B.4.LEVEL', 0); // Rolllade Küche Balkon } } } if (getState('javascript.0.Sperren.RollladeWohnzimmer').val === false) { setState('shelly.0.SHSW-21#55B9B6#1.Shutter.Position', 0); // Rolllade Wohnzimmer setState('shelly.0.SHSW-21#55A5A7#1.Shutter.Position', 0); // Rolllade Terrasse if (getState('javascript.0.Sperren.RollladeTerrasse').val === false) { setState('shelly.0.SHSW-21#5A48C4#1.Shutter.Position', 0); // Rolllade Kaminzimmer } }
Mal funktioniert alles für 2-3 Tage und dann rennt es gegen die Wand. Kann da was am Homematic-Adapter nicht stimmen? Die Shelly's funktionieren einwandfrei.
Vielen Dank und beste Grüße
LevyEdit: Screenshot an die richtige Position gesetzt.
-
Welcher Aktor ist das?
Bei mir heißen die DP für HM RF z.B. So:
hm-rpc.0.MEQ0675904.1.LEVEL
-
@wendy2702
Die Rollladenaktoren sind jeweils zum Teil HmIP-BROLL und HmIP-FROLL. Reine HM-Komponenten sind hier nur in Form von den 4-fach Hutschienenaktoren (HM-LC-Sw4-DR) im Einsatz. Ansonsten alles HmIP. -
Auch wenn es nichts mit der Fehlermeldung zu tun hat würde ich nicht alle Geräte gleichzeitig schalten sondern jeweils mit einen Delay
setStateDelayed(id,Wert,1000) wobei 1000 für eine Sekunde steht.
Das sollte den Funkverkehr verbessern.
-
Das Problem schien entweder an den Homematic-Geräten oder am Adapter gelegen zu haben. Mit der aktuellen Firmware der Geräte und auch einem Update des Adapters läuft alles wieder zuverlässig.
Da es nur acht HM-Geräte sind, arbeite ich ohne setStateDelayed.
Falls es jemand gebrauchen kann, hier mein vollständiges Script:
/* ** ** Steuerung aller Rollladen ** */ // Steuerungselemente var cronVal = '0 8 * * *'; var dpIstDunkel = 'javascript.0.Helligkeit.IstDunkel'; // Datenpunkte var dpRollButton = 'javascript.0.Button.RollladenButton'; var dpBeschattungSG = 'javascript.0.Beschattung.Beschattung_SG_Rollladen'; var dpBeschattungEG = 'javascript.0.Beschattung.Beschattung_EG_Rollladen'; var dpSperreKueche = 'javascript.0.Sperren.RollladeKüche'; var dpSperreBalkon = 'javascript.0.Sperren.RollladeBalkon'; var dpSperreWohnzimmer = 'javascript.0.Sperren.RollladeWohnzimmer'; var dpSperreTerrasse = 'javascript.0.Sperren.RollladeTerrasse'; var dpSperreSensorBalkon = 'hm-rpc.1.00109709AAA540.1.STATE'; // Aktoren var idRollBueroVorne = 'hm-rpc.1.0011170999D57E.4.LEVEL'; var idRollBueroSeite = 'hm-rpc.1.0011170999CD2B.4.LEVEL'; var idRollWindfang = 'hm-rpc.1.00111709A6A04C.4.LEVEL'; var idRollGaesteWC = 'hm-rpc.1.00111709A6A03F.4.LEVEL'; var idRollKuecheSeite = 'hm-rpc.1.00111709A6A03D.4.LEVEL'; var idRollKuecheHinten = 'hm-rpc.1.001158A98B2B4C.4.LEVEL'; var idRollKuecheBalkon = 'hm-rpc.1.001158A98B2B0B.4.LEVEL'; var idRollKuecheLuftraum = 'hm-rpc.1.001158A98A542D.4.LEVEL'; var idRollTreppenhaus = 'shelly.0.SHSW-25#687E94#1.Shutter.Position'; var idRollStudio = 'shelly.0.SHSW-25#68841C#1.Shutter.Position'; var idRollHWR = 'shelly.0.SHSW-25#688A18#1.Shutter.Position'; var idRollWohnzimmer = 'shelly.0.SHSW-21#55B9B6#1.Shutter.Position'; var idRollTerrasse = 'shelly.0.SHSW-21#55A5A7#1.Shutter.Position'; var idRollKaminzimmer = 'shelly.0.SHSW-21#5A48C4#1.Shutter.Position'; // Arrays und Variablen var idRollArr = [idRollBueroVorne, idRollBueroSeite, idRollWindfang, idRollGaesteWC, idRollKuecheSeite, idRollKuecheHinten, idRollKuecheBalkon, idRollKuecheLuftraum, idRollTreppenhaus, idRollStudio, idRollHWR, idRollWohnzimmer, idRollTerrasse, idRollKaminzimmer]; // Funktionen Rollladen function allRollUp() { idRollArr.forEach(function(idRoll, index, array) { setState(idRoll, 100); }); } function allRollDown() { var stateSperreKueche = getState(dpSperreKueche).val; var stateSperreBalkon = getState(dpSperreBalkon).val; var stateSperreWohnzimmer = getState(dpSperreWohnzimmer).val; var stateSperreTerrasse = getState(dpSperreTerrasse).val; var stateSperreSensorBalkon = getState(dpSperreSensorBalkon).val; setState(idRollWindfang, 0); setState(idRollGaesteWC, 0); setState(idRollBueroVorne, 0); setState(idRollBueroSeite, 0); setState(idRollKuecheSeite, 0); setState(idRollTreppenhaus, 0); setState(idRollStudio, 0); setState(idRollHWR, 0); if(stateSperreKueche === false) { setState(idRollKuecheHinten, 0); setState(idRollKuecheLuftraum, 0); if(stateSperreBalkon === false && stateSperreSensorBalkon === 0) setState(idRollKuecheBalkon, 0); } if(stateSperreWohnzimmer === false) { setState(idRollWohnzimmer, 0); setState(idRollTerrasse, 0); if(stateSperreTerrasse === false) setState(idRollKaminzimmer, 0); } } // Listener und Timer schedule ( cronVal, function () { if(getState(dpRollButton).val === 'closed') { setState(dpRollButton, 'open'); log('Alle Rollladen hochgefahren', 'info'); } } ); on ({ id: dpIstDunkel, change: 'ne', val: true }, function () { if(getState(dpRollButton).val === 'open') { setState(dpRollButton, 'closed'); setStateDelayed(dpBeschattungSG, false, 5000); setStateDelayed(dpBeschattungEG, false, 5000); log('Alle Rollladen heruntergefahren', 'info'); } } ); on ({ id: dpRollButton, change: 'ne', val: 'closed' }, function () { allRollDown(); } ); on ( { id: dpRollButton, change: 'ne', val: 'open' }, function () { allRollUp(); } );
Viele Grüße
Levy