Also das JSON ist valide und kann geparsed werden. Hast du das JSON direkt nach dem Fehler rauskopiert?
Das mit der Tür kann sein. Es wird nur bei Änderung eines Wertes geschrieben. Hast du seit dem start der Instanz die Tür nochmal geöffnet?
Also das JSON ist valide und kann geparsed werden. Hast du das JSON direkt nach dem Fehler rauskopiert?
Das mit der Tür kann sein. Es wird nur bei Änderung eines Wertes geschrieben. Hast du seit dem start der Instanz die Tür nochmal geöffnet?
ne, das Log sieht eigentlich gut aus. Der HTTP Server läuft und es wird auf Messages auf dem richtigen Interface gehorcht (192.168.0.35:1900). Passt eigentlich alles. Ich vermute die Firewall lässt nichts ankommen (UDP). Mit Wireshark mal testen was ankommt?!
Kannst du mal die Log-Stufe deiner fakeroku Instanz (in der Instanzen Tabelle) auf Debug stellen und dann nochmal das log posten?
Du kannst mal noch überprüfen ob du eine Firewall Regel hast die dem nodejs.exe auf deinem ioBroker Server UDP (alle ports) durchlässt.
Wenn das fehlt dann liegt es bestimmt daran.
Normalerweise kommt wenn das fehlt dazu ein Popup wenn du "iobroker stop" und dann nochmal "iobroker start" in ein eine command shell (cmd) eingibst.
Nur nochmal zum Sicher gehen… hast du meine Code-Zeilen exakt kopiert oder nur den bestehenden Code abgeändert? bei mir war wichtig das ", BIND" in meiner zweiten Zeile zu setzen. Das hat letztendlich den Ausschlag gegeben damit es bei mir geklappt hat.
kannst du mal den wert des States "homeconnect.0/dev/eventStreamJSON" bei den Objects rauslesen und hier pasten?
sieht z.B. so aus:
{"type":"NOTIFY","data":"{\"items\":[{\"timestamp\":1546692532,\"handling\":\"none\",\"uri\":\"/api/homeappliances/BOSCH-SBV88TX36E-68A40E1A8753/programs/active/BSH.Common.Option.ProgramProgress\",\"key\":\"BSH.Common.Option.ProgramProgress\",\"unit\":\"%\",\"value\":85,\"level\":\"hint\"}]}","lastEventId":"BOSCH-SBV88TX36E-68A40E1A8753","origin":"https://api.home-connect.com"}
Zum debuggen könntest du auch mal in der main.js die Zeile "//adapter.log.info('stateChange ' + id + ' ' + JSON.stringify(state));" (Zeile 307) wieder einkommentieren (also die zwei // weg machen). Dann siehts du im Log was für ein JSON da ankommt.
Ich habe nen Fix als PullRequest eingegebenen. Bei mir läuft der Adapter damit mit 3 Geräten ohne Probleme!
https://github.com/dna909/ioBroker.homeconnect/pull/7
Hier mein Fork zum ausprobieren:
Hi nochmal!
Ich habs nun bei mir hinbekommen. musste allerdings den Code in der main.js so abändern (Zeile 241):
socket.bind(1900, BIND, function () {
socket.addMembership(MULTICAST_IP, BIND);
adapter.log.debug("listening on " + BIND + ":1900");
});
danach Adapter Instanz neustarten.
Mein ioBroker lauft auf Windows und ich musste in der Windows Firewall noch den TCP Port 9093 freigeben.
(Wenn bei dir ein XML kommt wenn du von extern http://[DeinIobrokerServer]:9093 aufrufst dann brauchst du das nicht)
Vielleicht kannst ja mal verifizieren ob es dann bei dir auch geht!?
Stell mal die LAN IP auf den Lan Adapter unter dem dein ioBroker erreichbar ist. Da steht "nicht 0.0.0.0"!
Geht's dann bei dir?
Bei mir klappt es allerdings leider auch nicht, egal auf was ich stelle..