Wer sich wundert, warum ich gerade zwei meiner Posts gelöscht habe:
Offenbar habe ich mich beim Anmelden meines virtuellen Homees zu blöd angestellt . Zwischenzeitlich funktioniert es auch mit der orginal vhih-ESP32 lib . Natürlich mit neuem Versionsstring.
Wer nicht lange selber den String ändern möchte wird bei meinem Fork der Original-Lib fündig:
Und wer mit neueren Libs im Unterbau arbeiten will, der kann auch folgenden Branch testen:
feature/new_ESPAsyncWebServer
Aber Achtung: Bisher nicht größer getestet und noch gar nicht für den ESP8266
Da hier explizit nach weiteren Node Red Usern gefragt wurde, trage ich mal meine Story bei
Bei mir läuft IOBroker mit Nodered, um das Zeug anbinden zu können, für das es Homee-seitig keine Anbindungen gibt (PV-Speicher, Wallbox, alte Homematic-Geräte, die in FHEM wohnen etc.).
Ich bekam meinen Braincube V2 mit V2.41.1 und gab dem Genörgel nach und machte das Update auf 2.41.2. Als ich dann meinen NR vhomee hinzufügen wollte, stieß ich auf die Probleme, die hier im Thread mannigfaltig berichtet wurden. Meine Lösung zu dieser Zeit: Backup, Downgrade auf 2.41.1, Backup zurückfahren und Geräte hinzufügen. Dann konnte ich wieder auf V2.41.2 aktualisieren und der vhomee war meinem Homee weiterhin bekannt und ich konnte neue NR Geräte durch Klick direkt auf Schritt 2b des Dialogs hinzufügen.
Jetzt nach dem Update auf V2.41.3 ist die Erinnerung an den vhomee leider dahin und ein neuer Verbindungsversuch scheitert an den angeblich nicht passenden Versionen. Ich habe die ganzen Versionen durchgespielt, die @Andy75 hier auch probiert und geschildert hat. Leider funktionierte keine davon bei mir.
Was allerdings funktioniert, ist IP-Adresse statt HomeeID. Damit klappt es sofort (Versionen des Cubes und vhomee gleichlautend). Insofern läuft es bei mir mit diesem Workaround, aber der Bug ist damit ja leider nicht weg…
Zu früh gefreut. Zwar konnte ich einmal mit diesem Hack verbinden und die ganze Gerätelist aus NR sehen und die neuen Geräte dann einbinden, aber nur kurze Zeit danach lieferten die Geräte dann schon keine korrekten Werte mehr und die Verbindung war dahin. Nochmals mittels IP Adresse verbinden funktionierte nicht. Also werde ich morgen dann wohl nolens volens auf 2.41.1 zurück gehen müssen…
Den Versuch mit der homee-ID muss ich noch machen. Weiß aber leider nicht, wann ich dazu komme.
Außerdem habe ich den Verdacht, dass sich homee anders verhält wenn ein virtueller homee schon mal angemeldet war.
Z.B. habe ich Probleme ihn zu verbinden, wenn ich beim zweiten Mal einen anderen Usernamen / Passwort verwende. Weiß jemand, wie man homee die virtuellen homees komplett vergessen lassen kann? (außer Rücksetzen auf Werkseinstellungen)
Ich habe es auch mit der IP versucht. Klappt nicht.
Ich habe da vor dieser Problematik schon damit rum gespielt bzw. rum spielen müssen weil mein NodeRed und Homee nicht die besten Freunde sind. Und mit der IP ist die Wahrscheinlichkeit höher das es klappt.
also mein Homee hat mich heute Abend knapp zwei Stunden und einige graue Haare gekostet: ESP32 programmiert mit einer IP und einem Namen die bei mir sicher noch kein virtueller homee hatte. Vor dem Verbindungsversuch den echten homee noch mal neu gestartet. Der Erfolg: gleich NULL. Keine Verbindung weder per Namen noch per IP - Immer nur Verbindungsfehler (kein Versions-Konflikt). Nach x Versuchen, anderer ESP Firmware, etc. pp. aber eigentlich ohne wirkliche Änderung ging es dann - und zwar sowohl mit dem Namen als auch mit der IP. Keine Ahnung was das soll … aber Spaß macht sowas echt nicht.
Ich habe
Mir die Settings der verschiedenen versionen mal angeschaut und hier gibt es einige Änderungen. Ich werde mal eine Settings auf den Stand der aktuelle Version setzen und schauen was da dann passiert.
Das ist alles etwas mysteriös oder eher random…
Ich wollte ja heute eigentlich auf V2.41.1 zurückgehen, hatte dann aber mein Backup aus der vergangenen Nacht auf die aktuelle Installation mit V2.41.3 zurückgespielt und zu meiner großen Überraschung füllten sich die Geräte dann auf einmal wieder mit den aktuellen, aus Nodered via vhomee gespeisten Daten. Auch wurde ein in NR gelöschtes Gerät als nicht mehr vorhanden gekennzeichnet und – Surprise, Surprise!!! – ließ sich auf einmal wieder direkt Schritt 2b beim Geräte des vhomee verbinden ausführen. Nach dem Restore des Backups kannten sich mein Homee und Nodered auf einmal wieder. Dubios…
Sei es drum. Ich fasse es jetzt erst einmal nicht mehr an.
Was ich aber nebenbei noch gemerkt habe: Wenn ich einen Bock in einem Node habe (ungültiges Javascript z. B.) mit einem roten Dreieck an dem Node, dann ist Homee nicht in der Lage, die Geräteliste (Schritt 2b) vom vhomee zu bekommen. Erst nachdem dort alle Nodes wieder gefixt waren, kam die Geräteliste wieder in Homee rein…
Ich denke ich hab den Fehler gefunden wenn es mal jemand ausprobieren möchte dann mal folgende Datei anpassen.
virtualHomee.js bei Zeile 208 folgendes einsetzen
vorher
+ ' "my_version": "'}${version}" ,`
nachher
+ ' "my_version": "2.41.3+46ad073c",'
Vorher war es so angelegt das die gesendet Version vom Original homee übernommen wurde und dann an homee zurück gesendet.
Das scheint aktuell etwas zu klemmen daher habe ich das mal Hardcodiert und damit klappt es.
Bitte mal gegenchecken damit ich das bei GitHub als Änderung anregen kann.
Bin dem nochmal etwas tiefer nachgegangen und das Problem liegt an der Behandlung des + Zeichen innerhalb des Versionsnummer. Dadurch wird der String aufgeteilt und mit einem Leerzeichen versehen was natürlich dann zu einer falschen Version führt. Das sollte also erstmal die Lösung sein für das Problem.
Edit
Das liegt an der Art wie die Websocketnachricht im parse() behandelt wird. Da wird aus dem ‚+‘ ein Leerzeichen gemacht und schon hängt das ganze.
Node Red Fork
Edit:
Habe die Settings.js jetzt auch noch angepasst und somit klappt es jetzt auch mit dem anlernen wieder. Die Hardcodierung habe ich entfernt und bei mir am System getestet. Es sind also zwei Stellen wo hier gecheckt wird ob es passt einmal in den Settings und einmal der compatibility_check beim Abruf der Nodeliste.
ich habe deine Änderungen in meine Testinstallation übernommen. Es hat dann auf Anhieb mit der iOS App funktioniert, den neuen virtuellen Homee einzubinden.
Vielen Dank für deine Mühen.
Ich hatte es gestern zwischen Tür und Angel getestet, habe aber beim Neustart von NodeRed die Meldung bekommen „Flows gestoppt aufgrund fehlender Node-Typen > virtualHomee“
Heute habe ich etwas mehr Zeit, bekomme es aber nicht hin. Nach Neustart NodeRed bekomme ich immer die gleiche Meldung (s.o.).
Irgendwas mache ich falsch…
Die Zeile 208 in meiner virtualHomee.js sieht so aus wie auch bei dir im obigen Post:
+ ' "my_version": "'}${version}" ,`
Was muss ich da eintragen?
Weder deine Codezeile mit der Versionsnummer noch deine Änderung aus dem github-Fork funktioniert bei mir.
Sorry für die blöde Nachfrage…
Ein ganz ganz großes Dankeschön von mir.
Es funktioniert
Ja, lag sicherlich daran, dass ich nur die Zeile 208 bearbeitet habe. Nach Übernahme des kompletten Inhalts klappt es auf Anhieb. Alle Geräte sind wieder da.