homecineplexx / ioBroker.homepilot20

Rademacher Homepilot 2.0 (version >= 5.0.39)
MIT License
23 stars 7 forks source link

Doppelte Devices bei Verwendung von 2 Instanzen #25

Closed funky4t closed 3 years ago

funky4t commented 3 years ago

Hi Chris, weil du es so wolltest, hier das Issue zu meinem "Problemchen" mit den zwei Instanzen.

Zur Beschreibung: Ich betreibe mit rund 600 km Distanz über eine dauerhafte VPN Verbindung zwischen zwei Fritz!Boxen zwei Homepilots. Nennen wir die Instanzen HP20.0 und HPB20.1, um die noch kommenden Screenshots ;) zu nutzen. Für beide Geräte habe ich eine einzelne Instanz in iObroker aufgesetzt, einerseits um die Geräte sauber zu trennen für Visu als auch um hier an meinem HP mal das ein oder andere testen zu können, ohne den anderen in seiner Produktivität zu stören deren dessen User zu verwirren! :)

Soweit funktioniert das, allerdings gibt es ein, vermutlich rein optisches, Problem. In der 2. Instanz tauchen erste die Devices des 2. Gerätes auf, danach dann aber zusätlich nochmal die Devices der ersten Instanz. Hier mal Screens dazu:

Instanz 1: HP20.0

Bildschirmfoto 2020-11-25 um 16 27 17

Instanz 2:HP20.1

Bildschirmfoto 2020-11-25 um 16 27 43

Spannend in ROT der Wechsel der HPs/Instanzen anhand der Device IDs zu erkennen. Ab dem Rollotron 1800 sind wir auf zurück auf Instanz HP20.0, in BLAU auch die ganzen 1400er Rollotrons, die DEFINITIV am HP20.0 und nicht HP20.1 angebunden sind! Strange finde ich ferner, das die Gewerke und Räume in HP20.0 dargestellt werden, in HP20.1 dann aber nicht....

Ich hab noch etwas getestet: HP20.0

Bildschirmfoto 2020-11-25 um 20 32 12

HP20.1

Bildschirmfoto 2020-11-25 um 20 31 58

Die UID ist identisch, damit ist klar, es muss ein und das gleiche Gerät sein. Der aktuelle STATE ist TRUE in Instanz HP20.1 wurde FALSE angezeigt. Das manuelle Ändern des DP in HP20.1 blieb ohne Effekt, da läuft scheinbar was "ins Leere". Es scheint aber auch sich keine einfach "Investierung" dahinter zu verstecken. Ich hab es im 1800 mal geprüft. Werte in HP20.0 sind (Rollo 80% / inverted 20%) und in HP20.1 steht das Device mit 0%/100%....

Als wenn da eventuell beim Erstellen der Instanz HP20.1 ein Abbild der HP20.0 gemacht und in HP20.1 importiert wurde. Wüßte aber nicht wo das gegangen sein soll und warum ich das aktiviert hätte.

Einzige Erklärung könnte sein, dass ich die HP20.1 Instanz zu Testzwecken zuerst mit der IP meines lokalen OPs gefüttert habe und später dann erst die "entfernte" aus dem angedockten VPN Netz?!?! Also quasi daraus die Frage: Wenn ich die IP eines neuen HPs in der Instanz ändere, bleiben dann in den Objects die Datenpunkte des "alten" HPs erhalten und die des neuen werden nur hinzugefügt? Oder löscht/überschreibt der Adapter beim Ändern der IP die gesamten Datenpunkte mit neuen Datenpunkten.... Kann mich nicht entsinnen es so getestet zu haben, aber es wäre u.U. eine plausible Erklärung?

Ich hoffe du kannst mir halbwegs folgen... Das letzte könnte ich am kommenden WE eventuell mal testen, dann lag es vielleicht daran. Dann geb ich dir dazu nochmals ne Info.

Generell ist es nur ein kosmetischer Bug, Funktion ist gegeben! ;)

Viele Grüße Sven

roadie33 commented 3 years ago

edit [homepilot20.0.Actuator durch homepilot20.1.Actuator ersetzt] [Rechtschreibfehler beseitigt]

Hallo Sven,

Deine Annahme ist richtig. Beim Ändern nur der IP werden die schon gelernten Geräte nicht automatisch gelöscht. Diese kannst Du aber bedenkenlos manuell löschen. Verwende dazu das Papierkorb-Symbol rechts in der Zeile um ein Objekt zu löschen. Beantworte die Frage: "Wollen Sie nur ein Objekt löschen oder auch alle Unter-Objekte von homepilot20.1.Actuator.10....?" mit "Alle". Dann werden der Eintrag und alle Einträge darunter gelöscht. Wenn Du die Actuatoren löscht, empfehle ich die Instanz HP20.1 zu stoppen und nach dem Löschen wieder zu aktivieren. Entweder löscht Du unter dem HP20.1 jeden Actuator des HP20.0 einzeln, oder Du löscht alle Actuatoren unter HP20.1. Das Löschen aller Actuatoren ist kein Problem, da nach dem Neustart der Instanz der ioBroker die Geräte alle neu einliest.

Viele Grüße Claus

funky4t commented 3 years ago

Hi Claus, Danke für deine Info, ich werd einfach alle DPs der Instanz 2 einmal löschen und dann die 2. Instanz wieder starten.

@homecineplexx manchmal findet man den Fehler doch vorm Screen! :) Ich cleane die 2. Instanz am Freitag oder Samstag mal und schaue dann, ob die "sauber" bleibt. Kann mich beim besten nicht entsinnen, da damals zuerst meinen ersten HP doppelt angelegt zu haben... Aber so finden wir es ja einfachst raus! 👍🏼 Bid dahin mach mal nix am Code! 🤣🙈

homecineplexx commented 3 years ago

schönen guten Morgen

also ich hab das gestern nachdem du mir das gesagt hast und es mir keine Ruhe gelassen hat auch gleich mal mit 2 Instanzen getestet. Zuerst hab ich allerdings nochmals den Code durchgeschaut ob da was sein könnte, hab aber nichts gefunden, da das wirklich sauber getrennt wird anhand des Pfads. Dh es hätte noch ein BrowserProblem sein können. Also hab ich einen 2ten Hp angeschlossen ein paar Geräte schnell umkonfiguriert und probiert und ich konnte diesen Fehler wirklich nicht nachvollziehen.

Ich würde dir auch raten. Beide Instanzen stoppen und alle Datenpunkte kübeln. und dann beide Instanzen wieder hochfahren. Apropos, es reicht, wenn du die Instanzen mit dem LogLevel Warn startest.

Gib bescheid ob wir dir helfen konnten. Lg chris

funky4t commented 3 years ago

Hi Chris, Mach's issue hier zu, der Fehler saß vorm Screen! 🥸🙈 Instanz gestoppt, object-Baum gelöscht, Instanz gestartet und siehe da, passt alles! Danke auch an @roadie33

homecineplexx commented 3 years ago

Guten Abend, Freut mich zu hören, dass es eh funktioniert hat. Solltest was brauchen, sag bescheid.

lg chris