NEWS
IRobot Roomba Adapter
-
@fvp said in IRobot Roomba Adapter:
@JB_Sullivan kann ich nicht bestätigen. V1.1.1 und Web Inerface ok.
Debian VM auf QNAP Host.Ich habe genau das gleiche Probleme. Ich glaube es hat was mit dem Web adapter zu tun
-
@Aushilfsarnie Bei mir hier das selbe. Seit dem Update der Roomba App geht das Webinterface nicht mehr. Hast Du schon eine Lösung gefunden?
-
Nein, leider nicht. Bin aber auch sehr an einer Lösung interressiert...
-
Anbei die Bilder. In Blockly starte ich einen Raum, indem ich folgenden Block nutze:
Sollen mehrere Räume gereinigt werden, dann sieht es wie folgt aus:
--> Wichtig: bei den Kommas KEINE Leerzeichen setzen!
Die Objekte "vor dem Raumnamen" und "nach dem Raumnamen" kannst du auch anders nennen, z.B. "Beginn" und "Ende", so wie ich es dir in der PN geschrieben habe.
Der sont-Teil habe ich genommen, da ich für den Roomba-Start Ein/Aus Schalter nutze. So kann ich Roomba stoppen, wenn ich diesen zurück auf "Aus" stelle...
So sieht es bei mir "noch" aus auf der vis:
-
@CKMartens
Hat denn kein anderer dieses Problem, das das Webinterface bei loading states fest hängt.Weiterhin sendet der Adapter zwar per Telegram nach einer Mission mir die Map, aber der Text kommt nicht
var _fs = require('fs'); /* * MISSION END: Send map */ var message = "%device.name% finished at %missions.current.endedDateTime% cleaning %missions.current.sqm% sqm in %missions.current.runtime% seconds (%missions.current.error% errors)."; var ns = 'roomba.0'; var imagePath = '/opt/iobroker/iobroker-data/files/vis.0/'; on({id: ns + '.missions.current.ended', change: 'any'}, function(obj) { if (!obj.state || !obj.state.val) return; // replace variables with state values var pos, variable, state, value; while (message.indexOf('%') > -1) { pos = message.indexOf('%'); variable = message.substring(pos, message.indexOf('%', pos+1)+1); state = getState(ns + '.' + variable.replace(/%/g, '')); if (state !== null && state.val !== null) value = state.val else { log('State ' + variable.replace(/%/g, '') + ' not found!', 'warn'); value = ''; } if (typeof value === "boolean") value = value === true ? 'with' : 'no'; message = message.replace(RegExp(variable, 'gi'), value); } // console log(message); // get image var img = getState(ns + '.missions.current.mapImage').val; if (img !== null && img.indexOf('data:image/png;base64,') > -1) { _fs.writeFile(imagePath + 'image.png', img.replace(/^data:image\/png;base64,/, ''), 'base64', function(err) { if (err !== null) log(err.message, 'warn'); else sendTo('telegram', {text: imagePath + 'image.png', message: message}); }); } });
im log steht aber der text, der eigentlich per variable message versendet werden sollte.
script.js.common.Roomba_Map: Kalle finished at 07.10.2020 09:31:46 cleaning 0.09 sqm in 122 seconds (no errors).
Fehler gefunden: im Skript für den Text muss es caption anstatt message heissen. Die Anleitung des Adapters ist eben falsch.
sendTo('telegram', {text: imagePath + 'image.png', caption: message}); sendTo('telegram', {text: imagePath + 'image.png', message: message});
-
@lolax genau das selbe Problem haben ich ja auch. Scheinbar sonst niemand
-
@CKMartens
wie gesagt, es hat irgendwas mit dem socket und dem web adapter zu tun. -
@lolax
Den Soketio Adapter habe ich nicht installiert. Und im Web-Adapter ist es egal ob den integrierten Soketio an oder aus schalte. Ich habe aber gerade in der Entwickerkonsole von Chrom geschaut und dort wurde der Fehler ausgegeben:conn.js:140 Trying connect... index.js:83 GET http://192.168.178.3:8082/socket.io/?key=nokey&EIO=3&transport=polling&t=NK2fMSn 400 (Bad Request) conn.js:140 Trying connect... index.js:83 GET http://192.168.178.3:8082/socket.io/?key=nokey&EIO=3&transport=polling&t=NK2fOuc net::ERR_CONNECTION_REFUSED conn.js:140 Trying connect... conn.js:255 2020-10-07T10:40:15.592Z Connected => authenticate conn.js:264 2020-10-07T10:40:15.705Z Authenticated: true index.html:50 Socket connected!
Vieleicht kann damit ja @Zefau was anfangen
-
@CKMartens kannst du mal Web Adapter Einstellungen screenshoten? Hast du irgendwo SSL aktiviert?
-
Und SSL ist überall aus.
-
@CKMartens hab kein Plan, woran es bei euch liegen könnte. Hatte ja schon letztens im Detail geschaut, aber nichts entdeckt
-
@Zefau sagte in IRobot Roomba Adapter:
@CKMartens hab kein Plan, woran es bei euch liegen könnte. Hatte ja schon letztens im Detail geschaut, aber nichts entdeckt
Ist nicht so schlimm, nur seltsam das es wirklich von einem Tag auf den anderen nicht mehr ging und es scheinbar nur bei wenigen der Fall ist.
-
@CKMartens
Bei mir auf allen iOS Devices und auch auf Safari läuft es nicht -
@lolax
Muss irgendwie an der ioBroker Installation liegen und nicht an den Endgeräten.
Ich werde am Wochenende mal auf einer Testinstallation schauen. -
@lolax @Zefau
ich habe es gerade auf einer Testumgebung installiert. Nur die Adapter web und roomba habe ich zusätzlich installiert. Der Test-Server läuft auf Ubuntu 20.04.01 LTS, node und nodejs 12.18.3, js-controller 3.1.6, roomba 1.1.1 und web 3.0.13Auch hier wenn ich die Seite vom Adapter zu offnen nur "Loading STates..."
In der Entwicklerkkonsole con Crome gibt es diese Fehlermeldungen:
Failed to load resource: the server responded with a status of 404 (Not Found) :8082/socket.io/?key=nokey&EIO=3&transport=polling&t=NKCIiCy:1 Failed to load resource: the server responded with a status of 400 (Bad Request) adapter.css:1 Failed to load resource: the server responded with a status of 404 (Not Found) conn.js:140 Trying connect... index.js:83 GET http://192.168.178.209:8082/socket.io/?key=nokey&EIO=3&transport=polling&t=NKCIkff 400 (Bad Request) i.create @ index.js:83 i @ index.js:83 o.request @ index.js:83 o.doPoll @ index.js:83 r.poll @ index.js:83 r.doOpen @ index.js:83 r.open @ index.js:83 r.open @ index.js:83 r @ index.js:83 r @ index.js:83 r.open.r.connect @ index.js:83 r.open.r.connect @ index.js:83 (anonymous) @ conn.js:141 conn.js:140
das roomba-Log gibt auch bei Debug keine wesentlichen Infos aus. Das Log vom web-Adapter gibt folgendes aus:
web.0 2020-10-09 09:30:25.668 debug (47748) readFile will not read this file (adapter.css) in future versions: css is not an object of type "meta" web.0 2020-10-09 09:30:15.796 debug (47748) system.adapter.admin.0: logging true web.0 2020-10-09 07:30:10.466 info (47748) http server listening on port 8082 web.0 2020-10-09 07:30:10.465 info (47748) socket.io server listening on port 8082 web.0 2020-10-09 07:30:09.616 info (47748) starting. Version 3.0.13 in /opt/iobroker/node_modules/iobroker.web, node: v12.18.3, js-controller: 3.1.6
Vielöeicht hilft Dir das weiter @Zefau
-
Failed to load resource: the server responded with a status of 404 (Not Found)
Die URL ist falsch bzw. der socket port inkorrekt. Der Adapter kann keine Verbindung zum socket aufbauen. Laut url ist der socket port (nicht Web port) 8082. Ist dem so? Schau mal in der Web Adapter Konfiguration.
-
@Zefau Es ist aber interessant, das das Phänomen beide Adapter von dir betrifft (NUKI & Roomba) - und beide Adapter laufen ja auch soweit (incl. Canavas Kartendarstellung (roomba) oder tabellarische json Datei der Tür Aktion (NUKI)) , nur das visualisierte Webinterface zickt bei beiden rum.
Wird da unter Umständen auf irgend etwas zurück gegriffen, was auf ioB Ebene ggf. auch im Hintergrund geändert wurde? Weil es ja mehr oder weniger "plötzlich" nicht mehr ging.
-
@Zefau ja laut Debug-Log liegt der Web und Soket Port auf 8082
-
@CKMartens Was passiert denn, wenn du die URL aus dem Log mal manuell öffnest? Also
http://192.168.178.209:8082/socket.io/?key=nokey&EIO=3&transport=polling&t=NKCIkff
? (wobei der sicherlich abgelaufen ist, musst nochmal neu generieren) -
@Zefau Dann erscheint die Meldung
{"code":0,"message":"Transport unknown"}