Autor Thema: Worx Rasenroboter - was gibt die webschnittstelle her  (Gelesen 138532 mal)

Offline Ralli

  • Sr. Member
  • ****
  • Beiträge: 915
Antw:Worx Rasenroboter - was gibt die webschnittstelle her
« Antwort #855 am: 19 April 2021, 20:35:33 »
Hallo Andreas,

war bei mir genau so und ich habe das über zwei Tage nicht gelöst bekommen. Ich bin daher auf die von Otto entwickelte und im Beitrag über deinem verlinkte Methode umgestiegen. Klappt.

https://forum.fhem.de/index.php/topic,111959.0.html
Gruß,
Ralli

Intel NUC7i5BNH mit ESXi 7.0, virtualisiertes fhem 6.1 dev, virtualisierte RaspberryMatic (3.61.5.20211113) mit HB-RF-ETH 1.2.9 / RPI-RF-MOD, HM-LAN-GW (1.1.5) und HMW-GW, FRITZBOX 7490 (07.28), FBDECT, Siri und Alexa

Offline andreas1971

  • New Member
  • *
  • Beiträge: 18
Antw:Worx Rasenroboter - was gibt die webschnittstelle her
« Antwort #856 am: 19 April 2021, 21:23:58 »
Danke für den Hinweis - werde ich die Woche mal testen! Heißt aber leider etwas Umbauarbeit. Ich steuere den Worx über mein NodeRed-Dashboard. Das müsste ich dann anpassen.
Raspberry Pi 2, Betriebssystem Rasbian, 2xCUL868 mit FS20 und HomeMatic-Komponenten:
1xFS20-Funksteckdose, 1x4Fach-FS20-Schaltaktor,
1xHM-SEC-MDIR-2, 3xHM-Sec-SD, 12xHM-Sec-SCo und 3xHM-Sec-SC-2, 2xHM-Sec-WDS2, 1xHM-RC-4-2
1x Instar-IPCam

Offline Florian St.

  • New Member
  • *
  • Beiträge: 8
Antw:Worx Rasenroboter - was gibt die webschnittstelle her
« Antwort #857 am: 24 April 2021, 23:41:48 »
Ich habe es nach kurzer Analyse geschafft es wieder zum laufen zu bekommen.
Mein stand der node_modules ist etwa 1 Jahr alt (Anfang 2020)
Vorerst kein Update über npm machen, mit der aktuellen Version vom iobroker.worx module habe ich es auf die schnelle nicht zum laufen bekommen.

Mein Vorgehen:
Erst einmal den Node Server stoppen.

Dann im Verzeichnis /opt/landroid/fhem-landroid-s/node_modules/iobroker.worx/lib liegt die Datei api.js
Ziemlich am Ende ist der Eintrag

    const options = {                                               
        method: method,                                             
        uri: 'http://' + URL + PATH + path,                         
        headers: headers,                                           
        json: true                                                   
    };

Hier das http zu https ändern und dann den Node Server wieder starten

Nicht die elegante Lösung aber funktional und schnell ;)

Vg

Edit: Kommandos senden habe ich noch nicht probiert das es gerade Nacht ist, aber die Werte werden wieder korrekt abgerufen
« Letzte Änderung: 25 April 2021, 00:18:03 von Florian St. »
Es gibt 10 Gruppen von Menschen: Die, die Binärcode verstehen und die, die ihn nicht verstehen.

Ich möchte gerne die Welt verändern, doch Gott gibt den Quelltext nicht frei.
Gefällt mir Gefällt mir x 3 Liste anzeigen

Offline Xell1984

  • Full Member
  • ***
  • Beiträge: 171
Antw:Worx Rasenroboter - was gibt die webschnittstelle her
« Antwort #858 am: 25 April 2021, 15:05:56 »
Hallo zusammen,

bei mir wurde am 6.4.21 das letzte mal der Status aktualisiert. Wenn ich Start Anklicke dann

Zitat
2021.04.25 15:00:29 5: LANDROID (Eddie) - set Eddie startMower
2021.04.25 15:00:29 4: LANDROID (Eddie) - NonblockingGet get URL
2021.04.25 15:00:29 4: LANDROID (Eddie) - LANDROID_ResponseSetCmd: calling Host: localhost
2021.04.25 15:00:29 4: LANDROID (Eddie) - LANDROID_ResponseSetCmd: processed response data
2021.04.25 15:00:29 4: LANDROID (Eddie) - LANDROID_ResponseSetCmd: error while request: http://localhost:8001/startMower?value=: empty answer received

Im Oktober lief noch alles. Jemand einen Tipp / Idee?

Ich hab im Januar allerdings einiges Aktualisiert. Ich meine auch die npm sachen wegen Homebridge. Liegt es daran?
Landroid ist aktuell, Adapter müsste aktuell sein,da im Oktober noch alles lief. 

Vielen Dank!

Gruß

/edit
http://192.168.178.36:8001/getMessage erzeugt eine leere Seite
Mit dem Tool aus dem Robterforum komm ich auf den Mäher
E-Mail und Passwort sind unverändert und funktionieren über die App von Eisha aus dem Robter Forum
« Letzte Änderung: 25 April 2021, 20:43:44 von Xell1984 »
Razpberry on Raspberry Pi 3 mit Raspian Jessy

Offline Florian St.

  • New Member
  • *
  • Beiträge: 8
Antw:Worx Rasenroboter - was gibt die webschnittstelle her
« Antwort #859 am: 25 April 2021, 21:37:28 »
Was steht denn in den beiden Logs vom pm2?

Findet man unter ~/.pm2/logs/
Wahrscheinlich konnte er den Node Server nicht richtig starten und die Verbindung zur api aufbauen.

Ich denke zu müsstest die api.js auf einen älteren
stand zurücksetzen und die erwähnte Änderung aus dem vorherigen Post nutzen.

Machst am besten vorher ein Backup der aktuellen api bis jemand rausgefunden hat was man in der LandroidSrv.js ändern müsste

PS: mit wget https://raw.githubusercontent.com/iobroker-community-adapters/ioBroker.worx/9e09ec0a48512d8aa9f373082e4ee9affe62721e/lib/api.js kann man die "alte" api in das aktuelle Verzeichnis runterladen
« Letzte Änderung: 25 April 2021, 21:43:29 von Florian St. »
Es gibt 10 Gruppen von Menschen: Die, die Binärcode verstehen und die, die ihn nicht verstehen.

Ich möchte gerne die Welt verändern, doch Gott gibt den Quelltext nicht frei.
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline Xell1984

  • Full Member
  • ***
  • Beiträge: 171
Antw:Worx Rasenroboter - was gibt die webschnittstelle her
« Antwort #860 am: 25 April 2021, 22:43:01 »
Hab die Schritte versucht. Der wget Befehl hat bei mir keine Änderung bei der Api Datei erbracht. Steht schon https drin. Ist der  link evtl falsch?

LG  und danke
Razpberry on Raspberry Pi 3 mit Raspian Jessy

Offline Florian St.

  • New Member
  • *
  • Beiträge: 8
Antw:Worx Rasenroboter - was gibt die webschnittstelle her
« Antwort #861 am: 26 April 2021, 00:38:22 »
Der link sollte richtig sein. Wenn ich den im Browser öffne steht da auch http ohne "s"
Hast du beide uri kontrolliert? In beiden muss https stehen.

Wenn sich an der Datei nichts geändert hat, hast du das direkt im lib Verzeichnis gemacht und der Benutzer eventuell keine rechte? Oder hast du den Befehl im homeverzeichnis ausgeführt und dann in die api im lib Ordner geschaut?
Der wget befehl speichert die datei da wo er ausgeführt wurde
Es gibt 10 Gruppen von Menschen: Die, die Binärcode verstehen und die, die ihn nicht verstehen.

Ich möchte gerne die Welt verändern, doch Gott gibt den Quelltext nicht frei.
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline Xell1984

  • Full Member
  • ***
  • Beiträge: 171
Antw:Worx Rasenroboter - was gibt die webschnittstelle her
« Antwort #862 am: 26 April 2021, 06:33:52 »
So, jetzt hat es geklappt. Der Fehler saß vor dem Bildschirm. Ich hatte übersehen das es zwei Blöcke hab mit  Uri. Der erste hatte https, der zweite nur http.
Zumindest die Readings sind nun aktualisiert und Zonenstartpunkt verändern geht wieder. Danke 👍
Razpberry on Raspberry Pi 3 mit Raspian Jessy

Offline axel.mohnen

  • Full Member
  • ***
  • Beiträge: 298
Antw:Worx Rasenroboter - was gibt die webschnittstelle her
« Antwort #863 am: 27 April 2021, 08:11:50 »
Hallo Landroider,

leider bin ich in anderen Projekten eingebunden und finde nicht die Zeit um das LANDROID Module weiterzuentwickeln.
Ich bin froh das die aktuelle Version noch funktionsfähig ist und hoffe das das auch noch eine Weile so bleibt.  8)
Mich würde es freuen wenn jemand von Euch eine neue GITHAB "Fork" anlegt und das Module weiterentwickeln könnte.
Es werden bestimmt bald neue Anpassungen zwecks neuer Modelle (z.b. WR141E) oder Firmware update nötig sein...

Viele Grüße
Axel

Offline speedAmaster

  • Jr. Member
  • **
  • Beiträge: 65
Antw:Worx Rasenroboter - was gibt die webschnittstelle her
« Antwort #864 am: 04 Mai 2021, 16:30:45 »
Hallo Commumnity,

ich nutze meinen Landroid mit dem LANDROID Modul von Axel Mohnen.
Hat prima funktioniert, bis gestern 18:09......
Seit diesem Zeitpunkt habe ich keine LOG Werte mehr und: der Status des devices ist:
mowerStatusTxt mowerErrorTxt
Und obwohl der state "initialized" ist, bekomme ich:
lastStatusRequestError: empty response
lastStatusRequestState: statusRequest_error

Den Landroid kann ich nach wie vor über die Landroid-App erreichern (also geht WiFi und die Verbindung).

Woran kann dies denn liegen?

defmod Landroid LANDROID localhost
attr Landroid DbLogInclude batteryLevel,batteryCharging,mowerStatusTxt,mowerErrorTxt,totalDistance,wifiQuality
attr Landroid group Landroid
attr Landroid icon Botvac_VR200
attr Landroid room Garten
attr Landroid stateFormat mowerStatusTxt mowerErrorTxt

setstate Landroid mowerStatusTxt mowerErrorTxt
setstate Landroid 2021-05-02 23:50:48 .bladeTimeOffset 0
setstate Landroid 2021-05-04 13:33:27 lastSetCommandMsg http://localhost:8001/edgeCutting?value=: empty answer received
setstate Landroid 2021-05-04 13:33:27 lastSetCommandState cmd_error
setstate Landroid 2021-05-04 16:26:11 lastStatusRequestError empty response
setstate Landroid 2021-05-04 16:26:11 lastStatusRequestState statusRequest_error
setstate Landroid 2021-05-02 23:50:48 state initialized

Viele Grüße!
Bernd

Offline Florian St.

  • New Member
  • *
  • Beiträge: 8
Antw:Worx Rasenroboter - was gibt die webschnittstelle her
« Antwort #865 am: 04 Mai 2021, 16:38:04 »
Hallo
ging es vorgestern noch oder hast du ihn zum ersten mal dieses Jahr wieder Freilauf gegeben?

Was steht denn in den beiden Logs vom pm2?

Findet man unter ~/.pm2/logs/
Es gibt 10 Gruppen von Menschen: Die, die Binärcode verstehen und die, die ihn nicht verstehen.

Ich möchte gerne die Welt verändern, doch Gott gibt den Quelltext nicht frei.

Offline speedAmaster

  • Jr. Member
  • **
  • Beiträge: 65
Antw:Worx Rasenroboter - was gibt die webschnittstelle her
« Antwort #866 am: 04 Mai 2021, 16:55:48 »
Hallo Florian,
der Landroid lief schon einige Tage vorher..... (seit 28.3.)!

in LandroidSrv-error.log steht:
TypeError: Cannot read property 'serial' of undefined
    at edgeCutting (/opt/landroid/fhem-landroid-s/LandroidSrv.js:214:45)
    at fireCmd (/opt/landroid/fhem-landroid-s/LandroidSrv.js:129:17)
    at Server.<anonymous> (/opt/landroid/fhem-landroid-s/LandroidSrv.js:85:6)
    at Server.emit (events.js:198:13)
    at Server.<anonymous> (/usr/local/lib/node_modules/pm2/node_modules/@pm2/io/build/main/metrics/httpMetrics.js:166:33)
    at parserOnIncoming (_http_server.js:691:12)
    at HTTPParser.parserOnHeadersComplete (_http_common.js:111:17)

in LandroidSrv-out.log steht:
Tue, 04 May 2021 14:50:29 GMT --> Landroid WebServer: Request recieved
Tue, 04 May 2021 14:50:29 GMT --> Landroid WebServer: Response send

interessant ist dieser Block:
Tue, 04 May 2021 11:33:27 GMT --> Landroid WebServer: Request recieved
DEBUG: Connect to worx....
DEBUG: Connect to worx ok : {"token_type":"Bearer","expires_in":31536000,"access_token":"eyJ0eXAiOiJ...........habe ich entfernt............df2b70bc012
65ab034772a0d0708a"}
Tue, 04 May 2021 11:33:30 GMT --> sucessfully connected!
Tue, 04 May 2021 11:33:30 GMT --> Landroid WebServer: server initialized
ERROR: StatusCodeError: 426 - "This service requires use of the HTTPS protocol."
Tue, 04 May 2021 11:36:26 GMT --> Landroid WebServer: Request recieved

interessanterweise keine Auffälligkeiten um die Zeit, wo ich den letzten Log-Eintrag habe (ist auch klar: da keine neuen Werte, da der Landroid über Nacht in seiner Garage steht).

Kann dies weiterhelfen?

Offline Florian St.

  • New Member
  • *
  • Beiträge: 8
Antw:Worx Rasenroboter - was gibt die webschnittstelle her
« Antwort #867 am: 04 Mai 2021, 17:16:38 »
Hast du beide Uri-Konfiguration in der api.js kontrolliert ob dort auch wirklich https steht?
Der Fehler "ERROR: StatusCodeError: 426" sieht mir stark nach dem bekannten "Problem" aus.

Siehe
Ich habe es nach kurzer Analyse geschafft es wieder zum laufen zu bekommen.
Mein stand der node_modules ist etwa 1 Jahr alt (Anfang 2020)
Vorerst kein Update über npm machen, mit der aktuellen Version vom iobroker.worx module habe ich es auf die schnelle nicht zum laufen bekommen.

Mein Vorgehen:
Erst einmal den Node Server stoppen.

Dann im Verzeichnis /opt/landroid/fhem-landroid-s/node_modules/iobroker.worx/lib liegt die Datei api.js
Ziemlich am Ende ist der Eintrag

    const options = {                                               
        method: method,                                             
        uri: 'http://' + URL + PATH + path,                         
        headers: headers,                                           
        json: true                                                   
    };

Hier das http zu https ändern und dann den Node Server wieder starten

Nicht die elegante Lösung aber funktional und schnell ;)

Vg

Edit: Kommandos senden habe ich noch nicht probiert das es gerade Nacht ist, aber die Werte werden wieder korrekt abgerufen
Es gibt 10 Gruppen von Menschen: Die, die Binärcode verstehen und die, die ihn nicht verstehen.

Ich möchte gerne die Welt verändern, doch Gott gibt den Quelltext nicht frei.

Offline speedAmaster

  • Jr. Member
  • **
  • Beiträge: 65
Antw:Worx Rasenroboter - was gibt die webschnittstelle her
« Antwort #868 am: 04 Mai 2021, 17:46:15 »
Hallo Florian,
danke dir! Im Nachhinein bin ich wieder schlauer! Die 2te Ri-Konfig war auf http!
Evtl hat sich bei meinem apt update/upgrade das npm upgedated.
DIR VIELEN DANK!
VG
Bernd

Offline andi11

  • Full Member
  • ***
  • Beiträge: 406
    • michel.photography
Antw:Worx Rasenroboter - was gibt die webschnittstelle her
« Antwort #869 am: 11 Juni 2021, 14:25:41 »
gibts schon ne Möglichkeit das Modul zu nutzen mit frisch installiertem node und dementsprechend dem aktuellen iobroker.worxs? Bei mir funktioniert die Verbindung zur Cloud aber sobald ich ein Kommando auf den lokalen Server schicke, stürtzt dieser ab