NEWS
Homematic IP Cloud Access Point Adapter
-
Hi, deshalb bitte aussagekräftige Logs (ungekürzt), sonst kann man nichts dazu sagen.
Ich beobachte das seit Tagen und bei mir passiert nichts, der Adapter funkt aber auch nicht grundlos in die Cloud.
Adapter auf Log = warn, Adapter neu starten, Router neu starten (damit eine neue IP vergeben wird, bei der Fritzbox reicht auch neu Verbinden)
im ioBroker auf die Logs, oben als Quelle nur den HmIP Adapter auswählen, ein paar Stunden laufen lassen bzw bis es zu einem Ban kommt. Log herunterlagen und hier posten, wenns zu groß wird als zip, sonst hier als /Code, dann kann man sich das ansehen, was da genau passiert und dann zum Ban führt. -
@Lucifor1976
Würde ich gerne machen, aber bei Unitymedia/Vodafone Cable ist es leider so das man ewig lange die gleiche IP erhält. Ergo -> Kein Zugriff auf den HMIP-Adapter.Bei mir gingen alle Anfragen an srv18.homematic.com (konnte ich im piHole sehen) und es war sehr "plötzlich" das er nicht mehr in die Cloud wollte.
-
@X-R4Y
Hast du Automatische Updates der Gravity im pi-Hole an?
Mal ein Schuss ins Blaue: Schalte mal pi-Hole ab und teste.
Mir ist schon oft aufgefallen das per Update plötzlich ganz seltsame (also vollkommen normal zu nutzende Domains) auf der Blocklist waren, manchmal frage ich mich wer entscheidet was auf die Blockliste kommt °°
Ich muss fast nach jedem Update manuell an die Blockliste ran und Änderungen vornehmen, letzte Woche war gleich mal Amazon auf der Liste °°
Überprüf das einfach mal. -
@Lucifor1976 Meine Installation enthält keine Besonderheiten. Der Ausschluss ist auch mit deaktiviertem javascript aufgetreten. Ebenso war der DutyCycle immer OK. Also keine wilden Steuerbefehle, ich zeige lediglich die jeweiligen Raumtemperaturen an. Aber die werden ja 'eh vom Adapter ausgelesen.
Die "2 Sekunden-Anfragen" wurden nicht durch meine Steuerbefehle ausgelöst, sondern sind scheinbar Wiederholversuche des Adapters wenn er keine Verbindung herstellen kann.
Habe übrigens auch noch eine Info von eq-3 erhalten:
"Für den Zugriff auf unsere Cloud sind nur unsere App oder die unser Partner Mediola oder Easy Smarthome zugelassen. Die Nutzung von anderen Fremdsoftwaren kann zu irreparabel Schäden an Ihrer Cloudinstallation führen und wir übernehmen keinen Support."Spricht alles für meinen Umstieg auf die CCU3, nun bin ich unabhängig.
-
Ich habe die hmIP-Thermostate über den Adapter in HomeKit einbinden können.
Mir ist aber nun nicht klar, wie man die hmIP-Fensterkontakte sowie die Rauchmelder einbindet. Könnte hierzu jemand Screenshots vom Service machen ? Das wäre hilfreich...
Frage mich auch, ob durch den Adapter über die Cloud die eingebundenen hmIP-Rauchmelder öfters abgefragt werden, sodass deren nicht austauschbare Batterie stärker beansprucht wird.
-
@RK62 sagte in Homematic IP Cloud Access Point Adapter:
@Lucifor1976 Meine Installation enthält keine Besonderheiten. Der Ausschluss ist auch mit deaktiviertem javascript aufgetreten. Ebenso war der DutyCycle immer OK. Also keine wilden Steuerbefehle, ich zeige lediglich die jeweiligen Raumtemperaturen an. Aber die werden ja 'eh vom Adapter ausgelesen.
Die "2 Sekunden-Anfragen" wurden nicht durch meine Steuerbefehle ausgelöst, sondern sind scheinbar Wiederholversuche des Adapters wenn er keine Verbindung herstellen kann.
Das ergibt jedoch keinen Sinn, wenn eine Steuranfrage nicht zum Server durchkommt, kann diese auch keinen Count auf einen Banzähler geben. In der Regeln funktioniert ein ban so: Anfrage an einen Server, alles gut. Antwort ACK. Anfrage an einen Server mit wirrem zeuch -> Drop und Bancounter +1, ist der Maxwert des Counters erreicht (SSH idR 3) wird auch ein ACK abgelehnt. Alle weiteren Anfragen egal ob wirres Zeuch oder zugelassene Anfragen werden für die voreingestelle Zeit gedropt.
Habe übrigens auch noch eine Info von eq-3 erhalten:
"Für den Zugriff auf unsere Cloud sind nur unsere App oder die unser Partner Mediola oder Easy Smarthome zugelassen. Die Nutzung von anderen Fremdsoftwaren kann zu irreparabel Schäden an Ihrer Cloudinstallation führen und wir übernehmen keinen Support."Naja das ist eine Wald und Wiesen Aussage von EQ-3, die Anfragen von "Mediola" sind garantiert die selben wie vom hmIP Adapter. Einzig die Kennung dürfte eine andere sein.
Spricht alles für meinen Umstieg auf die CCU3, nun bin ich unabhängig.
Ich beobchte das weiter, mir ist bis jetzt nichts passiert. Ich halte aber die VErhaltensweise von EQ-3 für fragwürdig. Einzig nachvollziebarer Grund wäre Drittsoftware auszusperren um die eigenen Partner zu pushen (Mediola, Easy Smarthome)
Ein Schelm könnte jetzt versuchen den Adapter mit einer Kennung von Mediola auzustatten das es aussieht als sei der Adapter ein nativer von Mediola, ich bin aber zu wenig im programmier Thema um zu wissen ob das gehen würde und wie aufwändig das ist.
-
@entavio Hast du eine Antwort bekommen? Würde meine Broll auch gerne steuern.
-
hi ja ich habe das mittels Skripten (anders ist die Logik m.E. nicht abbildbar) hinbekommen.... anschließend ist der hmip-broll mit cloud-accesspoint auch in yahka / HomeKit verwendbar
Skript-Blockly sieht beispielhaft (auf eigene Installation anzupassen) für einen Rolladen wie folgt aus
yahka dann wie folgt
das funktioniert bei mir einwandfrei mit Status anzeige öffnen/schließen in HomeKit
-
Hi, ich versuche momentan ein erstes Skript zu schreiben, dass das Licht an der Treppe anschaltet, wenn der HomematicIP-Durchgangsensor aktiviert wird. Mein bisheriger Ansatz sieht so aus:
function ChangeLight(){ var betreten = getState("hmip.0.devices.3014F711A0000C5709AE731E.channels.1.leftCounter").val + getState("hmip.0.devices.3014F711A0000C5709AE7352.channels.1.rightCounter").val; var verlassen = getState("hmip.0.devices.3014F711A0000C5709AE731E.channels.1.rightCounter").val + getState("hmip.0.devices.3014F711A0000C5709AE7352.channels.1.leftCounter").val; if(betreten-verlassen != 0){ setState("alexa2.0.Smart-Home-Devices.b561c566-3b16-4c02-b7b1-f51d8fd97282.powerState",true); setState("alexa2.0.Smart-Home-Devices.4a33d6e9-5442-495a-b786-55540825085f.powerState",true); } else { setState("alexa2.0.Smart-Home-Devices.b561c566-3b16-4c02-b7b1-f51d8fd97282.powerState",false); setState("alexa2.0.Smart-Home-Devices.4a33d6e9-5442-495a-b786-55540825085f.powerState",false); } } on({id:"hmip.0.devices.3014F711A0000C5709AE731E.channels.1.leftCounter", change: "ne", ack: "true"}, ChangeLight()); on({id:"hmip.0.devices.3014F711A0000C5709AE7352.channels.1.rightCounter", change: "ne", ack: "true"}, ChangeLight()); on({id:"hmip.0.devices.3014F711A0000C5709AE731E.channels.1.rightCounter", change: "ne", ack: "true"}, ChangeLight()); on({id:"hmip.0.devices.3014F711A0000C5709AE7352.channels.1.leftCounter", change: "ne", ack: "true"}, ChangeLight());
Das An- und Ausschalten des Lichts alleine funktioniert problemlos, aber aus irgendeinem Grund klappt das mit dem Triggern nicht richtig. Hier ist noch mein Log, falls das hilft:
2021-01-04 16:02:01.259 - info: javascript.0 (3684) Start javascript script.js.common.Test 2021-01-04 16:02:01.266 - info: javascript.0 (3684) script.js.common.Test: registered 4 subscriptions and 0 schedules 2021-01-04 16:02:09.953 - warn: javascript.0 (3684) State "undefined" not found 2021-01-04 16:02:09.954 - warn: javascript.0 (3684) at Object.setState (C:\ioBroker\node_modules\iobroker.javascript\lib\sandbox.js:1358:20) 2021-01-04 16:02:09.954 - warn: javascript.0 (3684) at Object.callback (C:\ioBroker\node_modules\iobroker.javascript\lib\sandbox.js:1041:33) 2021-01-04 16:02:09.954 - warn: javascript.0 (3684) at Object.callback (C:\ioBroker\node_modules\iobroker.javascript\lib\sandbox.js:1055:38) 2021-01-04 16:02:09.954 - warn: javascript.0 (3684) at Object.stateChange (C:\ioBroker\node_modules\iobroker.javascript\main.js:472:25) 2021-01-04 16:02:09.954 - warn: javascript.0 (3684) at Immediate._onImmediate (C:\ioBroker\node_modules\iobroker.js-controller\lib\adapter.js:5384:37) 2021-01-04 16:02:09.954 - warn: javascript.0 (3684) at processImmediate (internal/timers.js:456:21) 2021-01-04 16:02:09.954 - warn: javascript.0 (3684) at process.topLevelDomainCallback (domain.js:137:15) 2021-01-04 16:02:15.472 - warn: javascript.0 (3684) State "undefined" not found 2021-01-04 16:02:15.472 - warn: javascript.0 (3684) at Object.setState (C:\ioBroker\node_modules\iobroker.javascript\lib\sandbox.js:1358:20) 2021-01-04 16:02:15.473 - warn: javascript.0 (3684) at Object.callback (C:\ioBroker\node_modules\iobroker.javascript\lib\sandbox.js:1041:33) 2021-01-04 16:02:15.473 - warn: javascript.0 (3684) at Object.callback (C:\ioBroker\node_modules\iobroker.javascript\lib\sandbox.js:1055:38) 2021-01-04 16:02:15.473 - warn: javascript.0 (3684) at Object.stateChange (C:\ioBroker\node_modules\iobroker.javascript\main.js:472:25) 2021-01-04 16:02:15.473 - warn: javascript.0 (3684) at Immediate._onImmediate (C:\ioBroker\node_modules\iobroker.js-controller\lib\adapter.js:5384:37) 2021-01-04 16:02:15.473 - warn: javascript.0 (3684) at processImmediate (internal/timers.js:456:21) 2021-01-04 16:02:15.473 - warn: javascript.0 (3684) at process.topLevelDomainCallback (domain.js:137:15)
Ich bin noch ziemlich am Anfang, deshalb entschuldigt bitte, falls es eine dumme Frage ist. Ich würde mich freuen wenn jemand helfen kann.
Viele Grüße,
Pascal -
@smart-home-neuling sagte in Homematic IP Cloud Access Point Adapter:
...aber aus irgendeinem Grund klappt das mit dem Triggern nicht richtig.
Was bedeute das?
Ich habe selbst SPDRs im Einsatz. Allerdings sind meine Skripte mit Blockly gemacht.
-
@oFbEQnpoLKKl6mbY5e13 Wenn ich das richtig verstehe sollte die on(...)-Funktion den Status eines Datenpunktes überwachen (z.B. den vom leftCounter des SPDR). Sobald sich dieser Status ändert (also wenn jemand an dem Sensor vorbeigeht) sollte dann die Funktion ChangeLight() aufgerufen werden, die dann entsprechend der Counter-Werte das Licht an oder ausschaltet. Aber das passiert eben leider nicht.
Ich habe bisher noch nie mit Blockly gearbeitet, aber auf den ersten Blick erscheint es mir sehr viel komplizierte als das Skript-Schreiben... Gibt es da irgendwo eine gute Einführung mit der man das lernen kann?
-
Blockly muss man nicht lernen und wenn du Javascript beherrschst, dann bleib dabei. Ich wünschte, ich könnte das.
Aber zum Thema: in den Datenpunkten leftCounter und rightCounter steht eine Zahl, die sich mit jedem Durchgang erhöht.
Ändere dein Skript so ab, dass du auf Erhöhung des Wertes triggerst: "Wenn Wert größer als vorher, dann"Der entsprechende Blockly-Baustein nach Javascript gewandelt:
on({id: "Object ID", change: "gt"}, async function (obj) {
var value = obj.state.val;
var oldValue = obj.oldState.val;
}); -
@oFbEQnpoLKKl6mbY5e13 Das ändert leider nichts, ich erhalte dieselbe Warnmeldung im Log. Es scheint irgendein Problem mit der Statusänderung des Datenpunkts zu geben, aber ich habe noch nicht genug Erfahrung mit Javascript um genau sagen zu können wo der Fehler liegt.
-
@smart-home-neuling
Wird denn hochgezählt?Blockly:
https://www.smarthome-tricks.de/software-iobroker/blockly-grundlagen-trigger/ -
@oFbEQnpoLKKl6mbY5e13 Ja, es wird hochgezählt. Ich versuche mal den obigen Code und probiere es evtl doch über Blockly, vielen Dank schonmal für deine Ideen
-
@oFbEQnpoLKKl6mbY5e13 Es funktioniert!! Ich habe jetzt einfach alles in Blockly umgesetzt (danke für den Link!!) und jetzt geht es. Ich kann immer noch nicht ganz genau sagen was das Problem ist, aber da es jetzt geht ist mir das egal, vielen Dank für die Hilfe!
-
Gerne.
-
@entavio Danke für Beispiel: bei Dem Skript habe ich eine Frage:
Woher bezieht du das targetlevel? Unter Channel 1 (habe 0 und 1) finde ich keines (Processing und shutterlevel gibts, nur kein Targetlevel):
-
der targetlevel ist nicht von den Rollläden zu beziehen sondern eine der von dir anzulegenden hilfsvariablen,
sprich für jeden Rollladen musst du einen variable für den current_level und den targetlevel anlegen
die dann durch das Skript pro Rollladen ihre werte (aus yahka - HomeKit) erhalten. -
@entavio said in Homematic IP Cloud Access Point Adapter:
der targetlevel ist nicht von den Rollläden zu beziehen sondern eine der von dir anzulegenden hilfsvariablen,
sprich für jeden Rollladen musst du einen variable für den current_level und den targetlevel anlegen
die dann durch das Skript pro Rollladen ihre werte (aus yahka - HomeKit) erhalten.Danke für deine Hilfe, das funktioniert 1A!
Hatte
Mit dem Skript erst keine Ahnung, aber der Typ mit den Variablen hat geholfen. Vielen Dank!