Ankündigung

Einklappen
Keine Ankündigung bisher.

Xiaomi / Roboroc Baustein 19001929

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • sipiyou
    antwortet
    skyacer : Ich hab eben bei mir geschaut, die RAM-Auslastung war bei 86%, was viel ist. Die RAM-Probleme habe ich mit Edomi aber seit eh und je - ich hab hier die "offiziell empfohlene" Centos 6.5 distri.

    Aus diesem Grund lass ich einmal nachts immer

    echo 3 > /proc/sys/vm/drop_caches

    ausführen. Das hab ich eben auch gemacht und siehe da, die Ram-Auslastung ist auf 16% zurück.

    Wie es aussieht sind das irgendwelche Daten im Cache, denn sonst würden der RAM nach dem drop_caches nicht wieder freigegeben werden. Auf diese Sachen hab ich im Skript aber keinen Einfluss, d.h. hier ist die nächste Ebene Edomi bzw. der PHP-Server selbst. Curl ist irrelevant, da es keine Ergebnisse cached.

    Ich werd mir das aber trotzdem die Tage genauer anschauen.

    Einen Kommentar schreiben:


  • skyacer
    antwortet
    Zitat von sipiyou Beitrag anzeigen
    skyacer :
    Ich hab im Skript nichts aussergewöhnliches, ausser, dass ich den socket öffne, aber nicht schliesse. Hier müsste sich aber der php garbage collector dadrum kümmern.
    Ich hab jetzt einen Destruktor, der beim beenden des Skriptes den Socket schliesst.

    Lad dir bitte die 0.72 runter und schau mal, ob das Problem damit vom Tisch ist. Ansonsten schau bitte, ob ggf. der andere Baustein das Problem verursacht.

    Schau auch bitte, ob da Skript sich nach einigen Sekunden bei dir beendet, das wird am A34 angezeigt.
    Guten Morgen,

    so ich habe gestern einmal die 0.72 eingespielt. Heute Morgen gleiches Ergebnis. Ram läuft gleichmäßig Stück für Stück voll. Trigger war hier das Minuten iko.
    Heute Morgen mal alle Logiken deaktiviert bis auf den LBS und um den Test zu beschleunigen habe ich einmal mit einem Telegramgenerator alle 10s eine Abfrage durchgeführt. Auch hier läuft der Ram voll.

    Hab dann einmal den Baustein auf mein Produktivsystem eingespielt. Hier ist der Ram seit Wochen konstant zwischen 13 und 19%.

    Bei allen Tests ist jedenfalls zu sehen das der Ausgang A34 immer brav auf 0 springt.

    Vielleicht noch einige Hinweise die dir weiterhelfen könnten.
    Meine beiden Edomisystem (Test und Produktiv) sind beide auf dem aktuellsten Stand und laufen auf einem Nuc in einem Container. Curl wurde mit dem Erpelrelease auf den neuesten Stand geupdatet.
    Saugroboter ist ein S50 mit aktuellster FW.

    Kann ich noch irgendewas testen?

    Grüße

    Einen Kommentar schreiben:


  • trollmar
    antwortet
    Hi,

    hab mal testweise den ioBroker Adapter deaktiviert.
    Das macht aber keinen Unterschied.

    Was mir nicht so klar ist was dein Baustein anders macht als der ioBroker adapter.
    Bei ioBroker muss ich immer die IP und Token angeben.
    Der Token sagt aber nicht das ich den roboter ge-root-ed habe.
    Das habe ich nicht!

    Nutze den Xiaomi Server "Mainland China".
    Meines wissen war das damals wichtig.


    Wenn ich die IP und den Token aus dem LBS entfernen/weglasse und den Baustein triggere bekomme ich im Edomi LOG folgende Fehler:
    Code:
     [TABLE="border: 0, cellpadding: 0, cellspacing: 0"]
     	 		[TR]
     			[TD]2020-05-23 23:28:53[/TD]
     			[TD]402559[/TD]
     			[TD]?[/TD]
     			[TD]23924[/TD]
     			[TD]Datei: /usr/local/edomi/www/data/liveproject/lbs/EXE19001929.php | Fehlercode: 2 | Zeile: 300 | fsockopen(): php_network_getaddresses: getaddrinfo failed: Name or service not known[/TD]
     			[TD]ERROR[/TD]
     		[/TR]
     		[TR]
     			[TD]2020-05-23 23:28:53[/TD]
     			[TD]402708[/TD]
     			[TD]?[/TD]
     			[TD]23924[/TD]
     			[TD]Datei: /usr/local/edomi/www/data/liveproject/lbs/EXE19001929.php | Fehlercode: 2 | Zeile: 300 | fsockopen(): unable to connect to udp://:54321 (php_network_getaddresses: getaddrinfo failed: Name or service not known)[/TD]
     			[TD]ERROR[/TD]
     		[/TR]
     		[TR]
     			[TD]2020-05-23 23:28:53[/TD]
     			[TD]402806[/TD]
     			[TD]?[/TD]
     			[TD]23924[/TD]
     			[TD]Datei: /usr/local/edomi/www/data/liveproject/lbs/EXE19001929.php | Fehlercode: 2 | Zeile: 302 | stream_set_timeout() expects parameter 1 to be resource, boolean given[/TD]
     		[/TR]
     	 [/TABLE]
    Wenn ich dann wieder meine Roboter IP und Token eintrage (er ist nicht "gehackt" ;-) ) bekomme ich dem Debug Log von deinem LBS wie ich ihn im vorherigen Post schon geschrieben habe.
    Bei RoborockMe:: ip = hab ich nix rausgelöscht.

    Wenn du bock hast dir das mal anzuschauen. Gerne

    LG

    Einen Kommentar schreiben:


  • sipiyou
    antwortet
    Hast du die Debug-Info in der Zeile mit RoborockMe:: ip = ; selbst rausgelöscht oder gibt der Baustein dir die Info nicht aus ?

    Ansonsten müsste ich mir bei Dir per Teamviewer anschauen.
    Dann bräuchte ich zusätzlich von deinem PC Shell-Zugriff auf den Edomi-Host und winscp - oder irgendwas anderes - um Dateien von deinem PC zum Edomi-Host rüberzukopieren.

    Hast du probiert, iobroker zu deaktivieren, um zu schauen, ob es da einen Konflikt gibt, wenn beide zugreifen ?

    Einen Kommentar schreiben:


  • trollmar
    antwortet
    Hi,

    Läuft zur Zeit mit ioBroker und FloleApp.
    Ja er reagiert auf den Ping.

    Einen Kommentar schreiben:


  • sipiyou
    antwortet
    trollmar : der Baustein gibt eigentlich noch die cloudstateinformation in der log aus.

    Reagiert dein Roboter auf einen ping auf die IP 192.168.10.91 ?

    Einen Kommentar schreiben:


  • trollmar
    antwortet
    Zitat von Delta6400 Beitrag anzeigen
    Nach einer etwas längeren Nacht und dem heutigen Morgen, möchte ich meine Ergebnisse und Fehlerbehebungen einmal teilen.
    Vorerst aber noch mal danke an sipiyou für die nächtliche Bereitschaft

    Ich habe bei mir zu Hause insgesamt 4 Roborock vacuum v1, hiervon wollte einer nicht mit dem LBS kommunizieren obwohl ich ihn per Xiaomi APP starten konnte.
    Der LBS gab im Debug 2 Modus "Roboter reagiert nicht." wieder.

    Wir haben nachher herausgefunden, dass der Staubsauger irgendwie nicht im WLAN als aktives Gerät angezeigt wird und auch das anpingen nicht funktioniert.
    Aber wie bereits gesagt, er hat über die APP einwandfrei Funktioniert.
    Lösung des Problems war ein insgesamt 3 maliges Zurücksetzen des Staubsaugers, nun ist er beim Router angemeldet und lässt sich auch anpingen.
    Der LBS (Version 0.7) findet Ihn jetzt auch und ich kann vom LBS den Staubsauger aus starten.

    Rücksetzen des Roboters (vacuum v1):
    1. Roboter vom Dock entfernen, damit er nicht weiter geladen wird
    2. Klappe öffnen und den Power sowie den Home Button gleichzeitig drücken.
    3. Den Reset Button mit einem Kulli/Büroklammer drücken und wieder loslassen.
    4. Warten bis die weiße LED um den Power und Home Button anfängt zu blinken und die WLAN Lampe aus geht, dann die beiden Tasten loslassen
    5. Das Rücksetzen ist nun initialisiert
    6. Warten bis er fertig ist

    Also bei mir bekomm ich den Gen1 Roborock so nicht zum laufen.
    Ich kann ihn anpingen unter der IP.
    Mein LOG mit Debug "2" sagt folgendes.

    Code:
     [TABLE="border: 0, cellpadding: 0, cellspacing: 0"]
     	 		[TR]
     			[TD]2020-05-23 16:00:30[/TD]
     			[TD]415150[/TD]
     			[TD]1195[/TD]
     			[TD]Debug[/TD]
     			[TD]Cloud-Daten aus Cache verwenden. Kein Login![/TD]
     		[/TR]
     		[TR]
     			[TD]2020-05-23 16:00:30[/TD]
     			[TD]415405[/TD]
     			[TD]1195[/TD]
     			[TD]Debug[/TD]
     			[TD]V3=0zsJVN5gxDU0xxxxxxxxxsJohmWIs5qZtlveGyRJfhSULAe qN9+RfLmUNrUh9r8fEI2fWt6jv4c3xxxxxxxxx5i/xuvH4BS8rekPwQHnFZhdXlEBl4bqW3bJwsFUSbavHCNfKYucN7 lDEIIj2k0KenvxxxxxsuFbTNC2/yThxms=V4=fxxxxcjcBO/ma9sxxxPKSA==V5=1682500091[/TD]
     		[/TR]
     		[TR]
     			[TD]2020-05-23 16:00:30[/TD]
     			[TD]533060[/TD]
     			[TD]1195[/TD]
     			[TD]Kritisch[/TD]
     			[TD]Geräte-Status konnte nicht aus der Cloud ermittelt werden![LF][/TD]
     		[/TR]
     		[TR]
     			[TD]2020-05-23 16:00:30[/TD]
     			[TD]533163[/TD]
     			[TD]1195[/TD]
     			[TD]Debug[/TD]
     			[TD]cloud->isAccessible:Y-E10=192.168.10.91-E11=386d4f3574746xxxx56e7031374d6a4f[/TD]
     		[/TR]
     		[TR]
     			[TD]2020-05-23 16:00:30[/TD]
     			[TD]533205[/TD]
     			[TD]1195[/TD]
     			[TD]Debug[/TD]
     			[TD]RoborockMe:: ip = ; token = ; SequenceID: 0[/TD]
     		[/TR]
     		[TR]
     			[TD]2020-05-23 16:00:30[/TD]
     			[TD]533968[/TD]
     			[TD]1195[/TD]
     			[TD]Debug[/TD]
     			[TD]roborocMe:: ok[/TD]
     		[/TR]
     		[TR]
     			[TD]2020-05-23 16:00:30[/TD]
     			[TD]534007[/TD]
     			[TD]1195[/TD]
     			[TD]Info[/TD]
     			[TD]Roboter reagiert nicht.[/TD]
     		[/TR]
     		[TR]
     			[TD]2020-05-23 16:00:30[/TD]
     			[TD]535161[/TD]
     			[TD]1195[/TD]
     			[TD]Debug[/TD]
     			[TD]deine szeit: 0.12058401107788 [s][/TD]
     		[/TR]
     	 [/TABLE]
    Hab ihn auch nicht resettet
    firmeware is relativ alt: 3.3.9_003194


    EDIT:
    Burger ​​​​​​​

    Wo sind den deine gen1 registriert?
    Ich glaube ja es liegt bei mir an"mainland China"
    Zuletzt geändert von trollmar; 23.05.2020, 16:03.

    Einen Kommentar schreiben:


  • sipiyou
    antwortet
    skyacer :
    Ich hab im Skript nichts aussergewöhnliches, ausser, dass ich den socket öffne, aber nicht schliesse. Hier müsste sich aber der php garbage collector dadrum kümmern.
    Ich hab jetzt einen Destruktor, der beim beenden des Skriptes den Socket schliesst.

    Lad dir bitte die 0.72 runter und schau mal, ob das Problem damit vom Tisch ist. Ansonsten schau bitte, ob ggf. der andere Baustein das Problem verursacht.

    Schau auch bitte, ob da Skript sich nach einigen Sekunden bei dir beendet, das wird am A34 angezeigt.

    Einen Kommentar schreiben:


  • skyacer
    antwortet
    Hey,

    also Debug steht bei mir auf 0. ;-)

    Einen Kommentar schreiben:


  • sipiyou
    antwortet
    trollmar : versuchs mit "de". Hier muss immer die Region angegeben werden, wo der Roboter aktiv ist.
    skyacer : kann es sein, dass die Log-Datei in den RAM geschrieben wird ? Hier sonst debug auf 0 setzen. Der Baustein loggt momentan sehr viel.

    Ansonsten gibts hier auch schon einen Vorgeschmack auf die Map - erstmal im normalen Browser gerendert. Bin schon gespannt, ob das im Visuelement alles so funktioniert...



    Angehängte Dateien

    Einen Kommentar schreiben:


  • skyacer
    antwortet
    Hi,

    also ich nutze den Baustein in einem Testcontainer unter Proxmox. Die einzigen Logiken die darauf derzeit laufen sind der Rockrobo LBS und die Logig für meinen Wechselrichter. Seit ich den Rockrobo LBS minütlich Trigger läuft mit über 1-2 Tage der Ramspeicher zu. CURL hab ich bereits geupdatet und ist auf der neusten Version. Deaktiviere ich den LBS und starte den Container neu ist bleibt der Ram Konstant niedrig. Ist es bei euch auch so?

    Grüße

    Einen Kommentar schreiben:


  • trollmar
    antwortet
    Hi,

    danke für den Baustein.
    Hab auch gen1 Roboter.

    Was muss ich den eintragen wenn der "mainland China" verortet ist?
    cn ist es wohl nicht . Krieg den baustein noch nicht zum laufen.

    Einen Kommentar schreiben:


  • sipiyou
    antwortet
    Delta6400 : ihr habt definitiv zuviele Roboter, aber freut mich, dass es jetzt klappt. Aber schon komisch, dass der ohne im Router angemeldet gewesen zu sein über die App erreichbar war - oder haben die eine Sim-Karte eingebaut ?

    s01iD :
    Danke für den Hinweis, bei A24 und A26 hatte ich die Gesamtzeitwerte vertauscht. Ist jetzt mit 0.71 gefixed. Schau mal, ob das jetzt hinkommt. Die Werte werden in Minuten ausgegeben - siehe Baustein-Hilfe

    A1 wird nur dann auf 1 gesetzt, wenn der Roboter mit einer Reinigung fertig ist. Ich hab die Debug-Level 2 Log an der Stelle erweitert. Schau mal bitte, was in der log
    bei "Info_Status" steht

    Hier wird das Feld "in_cleaning" verwendet. Wenn sich der Wert von 0 auf 1 ändert, dann wird am A1 eine 1 ausgegeben.
    Info_Status:array(17) {[LF] ["msg_ver"]=>[LF] int(2)[LF] ["msg_seq"]=>[LF] int(1931)[LF] ["state"]=>[LF] int(8)[LF] ["battery"]=>[LF] int(100)[LF] ["clean_time"]=>[LF] float(76.216666666667)[LF] ["clean_area"]=>[LF] float(76.365)[LF] ["error_code"]=>[LF] int(0)[LF] ["map_present"]=>[LF] int(1)[LF] ["in_cleaning"]=>[LF] int(0)[LF] ["in_returning"]=>[LF] int(0)[LF] ["in_fresh_state"]=>[LF] int(1)[LF] ["lab_status"]=>[LF] int(1)[LF] ["water_box_status"]=>[LF] int(0)[LF] ["fan_power"]=>[LF] int(104)[LF] ["dnd_enabled"]=>[LF] int(0)[LF] ["map_status"]=>[LF] int(1)[LF] ["lock_status"]=>[LF] int(0)[LF]}[LF]
    Zuletzt geändert von sipiyou; 22.05.2020, 20:12.

    Einen Kommentar schreiben:


  • s01iD
    antwortet
    Danke für den Baustein, ich war selbst drauf und dran den zu implementieren ;-)

    Ich habe einen Roborock S50, einige Werte kommen mir komisch vor.
    A1 ist irgendwie immer leer
    A24: ist der Wert in Stunden? Baustein sagt 207, App 56 Std.
    A25: Passt.
    A26: App sagt 47 Std., Baustein 0

    Einen Kommentar schreiben:


  • Delta6400
    antwortet
    Nach einer etwas längeren Nacht und dem heutigen Morgen, möchte ich meine Ergebnisse und Fehlerbehebungen einmal teilen.
    Vorerst aber noch mal danke an sipiyou für die nächtliche Bereitschaft

    Ich habe bei mir zu Hause insgesamt 4 Roborock vacuum v1, hiervon wollte einer nicht mit dem LBS kommunizieren obwohl ich ihn per Xiaomi APP starten konnte.
    Der LBS gab im Debug 2 Modus "Roboter reagiert nicht." wieder.

    Wir haben nachher herausgefunden, dass der Staubsauger irgendwie nicht im WLAN als aktives Gerät angezeigt wird und auch das anpingen nicht funktioniert.
    Aber wie bereits gesagt, er hat über die APP einwandfrei Funktioniert.
    Lösung des Problems war ein insgesamt 3 maliges Zurücksetzen des Staubsaugers, nun ist er beim Router angemeldet und lässt sich auch anpingen.
    Der LBS (Version 0.7) findet Ihn jetzt auch und ich kann vom LBS den Staubsauger aus starten.

    Rücksetzen des Roboters (vacuum v1):
    1. Roboter vom Dock entfernen, damit er nicht weiter geladen wird
    2. Klappe öffnen und den Power sowie den Home Button gleichzeitig drücken.
    3. Den Reset Button mit einem Kulli/Büroklammer drücken und wieder loslassen.
    4. Warten bis die weiße LED um den Power und Home Button anfängt zu blinken und die WLAN Lampe aus geht, dann die beiden Tasten loslassen
    5. Das Rücksetzen ist nun initialisiert
    6. Warten bis er fertig ist

    Einen Kommentar schreiben:

Lädt...
X