NEWS
Adapter: Worx Landroid v2.x.x
-
Hallo und Willkommen im Forum!
sudo npm install -g npm@latest
sudo apt-get update && sudo apt-get upgrade -y
ausgeführt -> erfolgreich abgeschlossen. `
Was ergibt
node -v nodejs -v npm -v
Gruß Rainer
-
ohh sorry vergessen…
root@ioBroker-Rock64:~# node -v
v8.11.4
root@ioBroker-Rock64:~# nodejs -v
v8.11.4
root@ioBroker-Rock64:~# npm -v
6.4.0
-
Dann liegt es daran schon mal nicht.
Mach mal bitte
cd /opt/ iobroker sudo npm cache clean -f sudo iobroker add landroid
Gruß Rainer
-
Hat geklappt, Adapter installiert und der kleine fährt nach start befehl über iobroker. Vielen Dank!!!
zur Info, das hat deine Anweisung ergeben:
root@ioBroker-Rock64:~# node -v v8.11.4 root@ioBroker-Rock64:~# nodejs -v v8.11.4 root@ioBroker-Rock64:~# npm -v 6.4.0 root@ioBroker-Rock64:~# cd /opt/ iobroker -bash: cd: too many arguments root@ioBroker-Rock64:~# cd /opt/iobroker root@ioBroker-Rock64:/opt/iobroker# sudo npm cache clean -f npm WARN using --force I sure hope you know what you are doing. root@ioBroker-Rock64:/opt/iobroker# sudo iobroker add landroid host.ioBroker-Rock64 create instance landroid host.ioBroker-Rock64 object landroid.1.calendar.sunday.workTime created host.ioBroker-Rock64 object landroid.1.calendar.sunday.startTime created host.ioBroker-Rock64 object landroid.1.calendar.sunday created host.ioBroker-Rock64 object landroid.1.calendar.saturday.workTime created host.ioBroker-Rock64 object landroid.1.calendar.saturday.startTime created host.ioBroker-Rock64 object landroid.1.calendar.saturday created host.ioBroker-Rock64 object landroid.1.calendar.friday.workTime created host.ioBroker-Rock64 object landroid.1.calendar.friday.startTime created host.ioBroker-Rock64 object landroid.1.calendar.friday created host.ioBroker-Rock64 object landroid.1.calendar.thursday.workTime created host.ioBroker-Rock64 object landroid.1.calendar.thursday.startTime created host.ioBroker-Rock64 object landroid.1.calendar.thursday created host.ioBroker-Rock64 object landroid.1.calendar.wednesday.workTime created host.ioBroker-Rock64 object landroid.1.calendar.wednesday.startTime created host.ioBroker-Rock64 object landroid.1.calendar.wednesday created host.ioBroker-Rock64 object landroid.1.calendar.tuesday.workTime created host.ioBroker-Rock64 object landroid.1.calendar.tuesday.startTime created host.ioBroker-Rock64 object landroid.1.calendar.tuesday created host.ioBroker-Rock64 object landroid.1.calendar.monday.workTime created host.ioBroker-Rock64 object landroid.1.calendar.monday.startTime created host.ioBroker-Rock64 object landroid.1.calendar.monday created host.ioBroker-Rock64 object landroid.1.calendar created host.ioBroker-Rock64 object landroid.1.mower.areasUse created host.ioBroker-Rock64 object landroid.1.mower.waitRain created host.ioBroker-Rock64 object landroid.1.mower.batteryState created host.ioBroker-Rock64 object landroid.1.mower.status created host.ioBroker-Rock64 object landroid.1.mower.borderCut created host.ioBroker-Rock64 object landroid.1.mower.stop created host.ioBroker-Rock64 object landroid.1.mower.start created host.ioBroker-Rock64 object landroid.1.mower.connected created host.ioBroker-Rock64 object landroid.1.mower created host.ioBroker-Rock64 object landroid.1.lastsync created host.ioBroker-Rock64 object landroid.1.firmware created host.ioBroker-Rock64 object system.adapter.landroid.1.outputCount created host.ioBroker-Rock64 object system.adapter.landroid.1.inputCount created host.ioBroker-Rock64 object system.adapter.landroid.1.uptime created host.ioBroker-Rock64 object system.adapter.landroid.1.memRss created host.ioBroker-Rock64 object system.adapter.landroid.1.memHeapTotal created host.ioBroker-Rock64 object system.adapter.landroid.1.memHeapUsed created host.ioBroker-Rock64 object system.adapter.landroid.1.connected created host.ioBroker-Rock64 object system.adapter.landroid.1.alive created host.ioBroker-Rock64 object system.adapter.landroid.1 created root@ioBroker-Rock64:/opt/iobroker# sudo iobroker add landroid-s npm install iobroker.landroid-s --production --prefix "/opt/iobroker" (System ca ll) npm WARN enoent ENOENT: no such file or directory, open '/opt/iobroker/node_modules/clone-deep/package.json' npm WARN enoent ENOENT: no such file or directory, open '/opt/iobroker/node_modules/iobroker.dwd/package.json' npm WARN enoent ENOENT: no such file or directory, open '/opt/iobroker/node_modules/prompt-base/package.json' npm WARN enoent ENOENT: no such file or directory, open '/opt/iobroker/node_modules/prompt-checkbox/package.json' npm WARN enoent ENOENT: no such file or directory, open '/opt/iobroker/node_modules/prompt-choices/package.json' npm WARN enoent ENOENT: no such file or directory, open '/opt/iobroker/node_modules/prompt-question/package.json' npm WARN enoent ENOENT: no such file or directory, open '/opt/iobroker/node_modules/prompt-radio/package.json' npm WARN optional SKIPPING OPTIONAL DEPENDENCY: xpc-connection@0.1.4 (node_modules/xpc-connection): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for xpc-connection@0.1.4: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"arm64"}) host.ioBroker-Rock64 install adapter landroid-s npm install --production (System call) in "/opt/iobroker/node_modules/iobroker.landroid-s" npm WARN deprecated gulp-util@3.0.8: gulp-util is deprecated - replace it, following the guidelines at https://medium.com/gulpjs/gulp-util-ca3b1f9f9ac5 npm WARN deprecated graceful-fs@3.0.11: please upgrade to graceful-fs 4 for compatibility with current and future versions of Node.js npm WARN deprecated minimatch@2.0.10: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue npm WARN deprecated minimatch@0.2.14: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue npm WARN deprecated graceful-fs@1.2.3: please upgrade to graceful-fs 4 for compatibility with current and future versions of Node.js npm notice created a lockfile as package-lock.json. You should commit this file. got /opt/iobroker/node_modules/iobroker.landroid-s/admin upload [4] landroid-s.admin /opt/iobroker/node_modules/iobroker.landroid-s/admin/words.js words.js application/javascript upload [3] landroid-s.admin /opt/iobroker/node_modules/iobroker.landroid-s/admin/landroid-s2.png landroid-s2.png image/png upload [2] landroid-s.admin /opt/iobroker/node_modules/iobroker.landroid-s/admin/landroid-s.png landroid-s.png image/png upload [1] landroid-s.admin /opt/iobroker/node_modules/iobroker.landroid-s/admin/index_m.html index_m.html text/html upload [0] landroid-s.admin /opt/iobroker/node_modules/iobroker.landroid-s/admin/index.html index.html text/html Adapter "system.adapter.vis.0" restarted. host.ioBroker-Rock64 object system.adapter.landroid-s created host.ioBroker-Rock64 create instance landroid-s host.ioBroker-Rock64 object landroid-s.0.calendar.sunday.borderCut created host.ioBroker-Rock64 object landroid-s.0.calendar.sunday.workTime created host.ioBroker-Rock64 object landroid-s.0.calendar.sunday.startTime created host.ioBroker-Rock64 object landroid-s.0.calendar.sunday created host.ioBroker-Rock64 object landroid-s.0.calendar.saturday.borderCut created host.ioBroker-Rock64 object landroid-s.0.calendar.saturday.workTime created host.ioBroker-Rock64 object landroid-s.0.calendar.saturday.startTime created host.ioBroker-Rock64 object landroid-s.0.calendar.saturday created host.ioBroker-Rock64 object landroid-s.0.calendar.friday.borderCut created host.ioBroker-Rock64 object landroid-s.0.calendar.friday.workTime created host.ioBroker-Rock64 object landroid-s.0.calendar.friday.startTime created host.ioBroker-Rock64 object landroid-s.0.calendar.friday created host.ioBroker-Rock64 object landroid-s.0.calendar.thursday.borderCut created host.ioBroker-Rock64 object landroid-s.0.calendar.thursday.workTime created host.ioBroker-Rock64 object landroid-s.0.calendar.thursday.startTime created host.ioBroker-Rock64 object landroid-s.0.calendar.thursday created host.ioBroker-Rock64 object landroid-s.0.calendar.wednesday.borderCut created host.ioBroker-Rock64 object landroid-s.0.calendar.wednesday.workTime created host.ioBroker-Rock64 object landroid-s.0.calendar.wednesday.startTime created host.ioBroker-Rock64 object landroid-s.0.calendar.wednesday created host.ioBroker-Rock64 object landroid-s.0.calendar.tuesday.borderCut created host.ioBroker-Rock64 object landroid-s.0.calendar.tuesday.workTime created host.ioBroker-Rock64 object landroid-s.0.calendar.tuesday.startTime created host.ioBroker-Rock64 object landroid-s.0.calendar.tuesday created host.ioBroker-Rock64 object landroid-s.0.calendar.monday.borderCut created host.ioBroker-Rock64 object landroid-s.0.calendar.monday.workTime created host.ioBroker-Rock64 object landroid-s.0.calendar.monday.startTime created host.ioBroker-Rock64 object landroid-s.0.calendar.monday created host.ioBroker-Rock64 object landroid-s.0.calendar created host.ioBroker-Rock64 object landroid-s.0.mower.waitRain created host.ioBroker-Rock64 object landroid-s.0.mower.batteryState created host.ioBroker-Rock64 object landroid-s.0.mower created host.ioBroker-Rock64 object landroid-s.0.info.firmware created host.ioBroker-Rock64 object landroid-s.0.info.connection created host.ioBroker-Rock64 object landroid-s.0.info created host.ioBroker-Rock64 object system.adapter.landroid-s.0.outputCount created host.ioBroker-Rock64 object system.adapter.landroid-s.0.inputCount created host.ioBroker-Rock64 object system.adapter.landroid-s.0.uptime created host.ioBroker-Rock64 object system.adapter.landroid-s.0.memRss created host.ioBroker-Rock64 object system.adapter.landroid-s.0.memHeapTotal created host.ioBroker-Rock64 object system.adapter.landroid-s.0.memHeapUsed created host.ioBroker-Rock64 object system.adapter.landroid-s.0.connected created host.ioBroker-Rock64 object system.adapter.landroid-s.0.alive created host.ioBroker-Rock64 object system.adapter.landroid-s.0 created root@ioBroker-Rock64:/opt/iobroker#
Ich hatte nachdem ich den landroid adapter installiert hatte dann das gleiche nochmal mit dem landrois-s gemacht^^
-
Hallo,
als stiller Mitleser musste ich mich nun auch registrieren.
Danke für den Adapter!
Ich hätte auch eine Frage. Wie ist denn der Aktualisierungsinterval zur Landroid Cloud?
Es sieht so aus, als wären es 10min. Dadurch bekomme ich eigentlich gar nicht mir, dass der Akku wieder voll geladen ist, weil er in den 10min. schon wieder einige % entladen wird. In der Landroid App scheint er sich aber öfter zu aktualisieren.
Im VIS von Meistertr schaut es auch so aus, als würde er sich öfter aktualiesieren. Bei mir schaut ein Flot Chart auch eher seltsam aus, weil der Statuswechsel von Charge einige Minuten versetzt zur min/max Akkuspannung kommt.
Oder liegt der Fehler irgendwo bei mir? :roll:
Lg,
Markus
-
Hallo
Kann man zur Aktualisierung schon was sagen? Mich würde es auch interessieren wann er einen Sync macht. Weil ich möchte nicht immer mit der App einen Pull anstoßen das ich zu den Daten im Smarthome komme.
Danke
-
Der view von mir kommt noch aus der Anfangszeit des Adapters, damals konnte man die Daten noch mit einem ausgewählten intervall abfragen. Da dies aber einen massiven traffic beim hersteller verursacht hat. Dann haben wir uns mit dem hersteller geeinigt, dass er die Daten alle 10 Minuten updated und das polling angestellt wird. Es auch noch möglich mit dem aktuellen Adapter zu Pollen und sich die Daten öfter zu holen. Rate ich aber von ab, da dann dein Account inerhalb kürzester Zeit für 24 Stunden gesperrt wird.
Edit
Bei status Wechsel, wie start oder error werden auch die Daten aktualisiert, unabhängig von den 10 min leider nur bei Akku nicht..
Gesendet von meinem Handy
-
Okay super danke für die Info.
Solange er dann gleich den Status wechselt ist es eh gut.
Das habe ich nicht gewust bzw konnte ich es noch nicht ausprobieren.
Lokal auf den Landroid kann man eh nicht mehr zugreifen?
Danke
-
Hallo Zusammen,
ich werde meine Worx jetzt bald in den Winterurlaub schicken, aber würde gern vorab die Daten in meine VIS bekommen, dabei habe ich aktuell ein Problem. Mein Worx soll laut Daten mehr als 323083m (323km) gefahren sein. (Dieses Jahr von April bis November).
Ich würde gern für das nächste Jahr, ganz neu alles aufzeichnen und berechnen.
Ich weiß nur nicht wie ich die richtigen Werte berechnet bekomme.
Ich möchte einfach nur die 323083 von der neue aktuellen Zahl abziehen. Also reine SUBTRAKTION machen, aber ich bekomme es nicht mal mit "blockly" hin :(.
Kann mir da jemand helfen oder kann man den WORX Reseten auf 0?
Gruß Ostpower
-
Hi,
probier mal folgendes Blockly-Skript zu importieren.
<xml xmlns="http://www.w3.org/1999/xhtml"><block type="procedures_defcustomnoreturn" id="ORmhM@AO~Vbt~j|cDEnt" x="-463" y="-237"><mutation statements="false"><arg name="ID"></arg> <arg name="Init"></arg> <arg name="Name"></arg> <arg name="Einheit"></arg> <arg name="Min"></arg> <arg name="Max"></arg></mutation> <field name="NAME">newNumberDP</field> <field name="SCRIPT">Y3JlYXRlU3RhdGUoSUQsIEluaXQsIHsKICAgIHR5cGU6ICdudW1iZXInLAogICAgbmFtZTogTmFtZSwKICAgIHVuaXQ6IEVpbmhlaXQsCiAgICBtaW46IE1pbiwKICAgIG1heDogTWF4Cn0pOw==</field> <comment pinned="false" h="80" w="160">Datenpunkt Typ Zahl erzeugen</comment></block> <block type="procedures_callcustomnoreturn" id="Y]V[@NuL;Rok_d|laA52" x="-463" y="-187"><mutation name="newNumberDP"><arg name="ID"></arg> <arg name="Init"></arg> <arg name="Name"></arg> <arg name="Einheit"></arg> <arg name="Min"></arg> <arg name="Max"></arg></mutation> <value name="ARG0"><block type="text" id="PRN1198~0C{:.--DP:D;"><field name="TEXT">RasenmaeherJahresleistung</field></block></value> <value name="ARG1"><block type="math_number" id="Nq;1gp%XrBr@~Rg|cM:b"><field name="NUM">0</field></block></value> <value name="ARG2"><block type="text" id="GuiWt[BA{]N|b,zQI9PV"><field name="TEXT">RasenmaeherJahresleistung</field></block></value> <value name="ARG3"><block type="text" id="[;iM6O6hEOK7O;xyxi=/"><field name="TEXT">m</field></block></value> <value name="ARG4"><block type="math_number" id="kl,rbTpLzq0iRmV(l`]b"><field name="NUM">0</field></block></value> <value name="ARG5"><block type="math_number" id="gpYeG9D,;8c+tA.h#.0@"><field name="NUM">1e+22</field></block></value> <next><block type="on_ext" id="/pg`o*VOrF@{UzybLS[j"><mutation items="1"></mutation> <field name="CONDITION">ne</field> <value name="OID0"><shadow type="field_oid" id="~36EpE-Dh.%aRy]0dL{w"><field name="oid">landroid-s.0.mower.totalDistance</field></shadow></value> <statement name="STATEMENT"><block type="update" id="S,-y@#Ej9~m=utF99EPw"><mutation delay_input="false"></mutation> <field name="OID">javascript.0.RasenmaeherJahresleistung</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="math_arithmetic" id="07JQ6A7r)S3;gICtpvHI"><field name="OP">MINUS</field> <value name="A"><shadow type="math_number" id="lVEVi9L8HtNmh_swO3HM"><field name="NUM">1</field></shadow> <block type="get_value" id="2n}GZzT21;^JMGj6}zz]"><field name="ATTR">val</field> <field name="OID">landroid-s.0.mower.totalDistance</field></block></value> <value name="B"><shadow type="math_number" id="5_]u:s|;/t#^2C8NPg^*"><field name="NUM">5000</field></shadow></value></block></value></block></statement></block></next></block></xml>
Dadurch wird ein Javascript DP mit Namen "RasenmäherJahresleistung" generiert und bei jeder Änderung der Gesamtstrecke aktualisiert. Den abzuziehenden Wert musst du nur noch anpassen. Steht probehalber auf 5000m.
-
@ldittmar Funktioniert die Landroid App noch, wenn man den Adapter aktiviert?
-
@m76 klar doch... Also es ging die ganze Zeit. Leider habe ich kein Mähroboter mehr und kann es nicht testen.
-
@ldittmar danke ich teste es und update - hatte gefragt, da bei dem neato botvac adapter das leider nicht möglich ist
-
@m76 said in Adapter: Worx Landroid:
@ldittmar danke ich teste es und update - hatte gefragt, da bei dem neato botvac adapter das leider nicht möglich ist
Sorry, muss mich korrigieren, es geht auch mit Neato Botvac, anscheinend lag das noch an der alten Firmware!
-
Hallo, habe heute den landroid adapter auch installiert, über die Admin webUI von iobroker, leider bekam ich diese Fehlermeldung und keine Daten außer, dass er connected=true ist:
landroid.0 2019-02-26 15:32:43.832 info starting. Version 1.0.3 in /opt/iobroker/node_modules/iobroker.landroid, node: v8.15.0
landroid.0 2019-02-26 15:32:43.701 error : message handler implemented, but messagebox not enabled. Define common.messagebox in io-package.json for adapter or delete message han...Wie kann ich das fixen?
-
@m76 laut dem Log fehlt im Adapter die Einstellung, dass er Messages versenden darf.
Du kannst mal probieren es selbst lokal hinzuzufügen.
Unter "/opt/iobroker/node_modules/iobroker.landroid/io-package.json" musst du den Eintrag messagebox ergänzen:"compact": true, "messagebox": true, "subscribe": "messagebox" "license": "MIT",
Das 'subscribe' musst du glaube ich auch hinzufügen, da es sonst auch nicht funktioniert und danach mal den Adapter neu starten.
-
@thewhobox said in Adapter: Worx Landroid:
"compact": true,
"messagebox": true,
"subscribe": "messagebox"danke, das "subscribe" wusste ich nicht, ohne hatte ich schonprobiert :} - die Fehlermeldung ist weg, bekomme aber keine Daten rein außer connected.
-
@m76 Werden denn alle Objeket korrekt angelegt?
Ändert sich der state "info.lastsync" nach dem eingestellten Interval in Sekunden? -
@thewhobox said in Adapter: Worx Landroid:
@m76 Werden denn alle Objeket korrekt angelegt?
Ändert sich der state "info.lastsync" nach dem eingestellten Interval in Sekunden?objekte sind da, lastsync ist nicht beschrieben, es klappt nur der ping
Hab im Code rumgewühlt, hier wird ja versucht auf port 80 der IP des landroid L zu connecten, aber laut nmap ist hier kein einziger Port offen? Huch? Hatte ich was übersehen?
-
@m76 Hmm. Du könntest dir ja mal die Response ins Log schieben lassen. Also:
request(getOptions, function (error, response, body) { adapter.log.info(response.statusCode); adapter.log.info(response); adapter.log.info(body); if (!error && response.statusCode == 200) { try { data = JSON.parse(body); evaluateResponse(); } catch (e) { adapter.log.warn(e); } } });
Ich denke mal, dass der StatusCode nicht 200 ist und er deswegen evaluateResponse nicht ausführen kann.
Edit: Was passiert wenn du die URL im Browser aufrufst? (http://" + ip + ":80/jsondata.cgi)