NEWS
IRobot Roomba Adapter
-
@Zefau
unter http://192.168.7.116:8081 kommt mein Admin, dann auf Reiter Übersicht.
Klicken auf die Kachel "iRobot Roomba" -> ein neuer Tab mit dem Namen Unbenannt öffnet sich, leere Seite.
Oben wo normalerweise die URL steht, steht about:blank. FF und Chrome.
Wenn ich http://192.168.7.116:8081/roomba/index.html aufrufe kommt "Cannot GET /roomba/index.html" als Text auf einer ansonsten leeren Seite und der Tab trägt den Namen "Error".
Habe aber http und kein https. -
@Zefau sagte in IRobot Roomba Adapter:
iobroker upload roomba
Hab ich jedenfalls gemacht, reboot. Keine Änderung.
-
unter /opt/iobroker/node_modules/iobroker.roomba/www/index.html auf dem PI ist glaube ich die Seite die du meinst:
-
@iomountain Jo, genau das ist die Seite. Wenn du den Admin unter Port 8081 erreichst, dann muss der Web Adapter einen anderen Port haben. Kannst du bei dir mal unter Instanzen bei
web.0
in den Einstellungen checken, welcher Port dort angegeben ist? Kannst du andere Kacheln öffnen? z.B. vis, nello oder nuki2 (falls du davon welche im Einsatz hast) ? -
@Zefau
web.0 ?
Daran wird es wohl liegen:
-
@iomountain Dann installiere dir gerne den Web Adapter, dann sollte es funktionieren.
-
web.0 installiert, jetzt geht alles.
Beim Download der Map kommt natürlich
das passt so.
Ansonsten schließe ich mich @akwak an:
Wenn auf der Index Seite mal ein paar Buttons kommen, um den Sauger zu starten, zu Stoppen und nach Hause zu schicken wäre schick.
Dan würde ich den web Adapter sogar lassen, ansonsten bräuchte ich web.0 nicht.
Schöne Ostern und Gruß. -
@akwak @iomountain In der v0.5.0 sind nun die Buttons implementiert. Könnt ihr bitte testen, ob diese korrekt funktionieren?
iobroker url https://github.com/Zefau/ioBroker.roomba iobroker upload roomba
-
@eierfeile In der v0.5.0 sollte das nun behoben sein. Könntest du das kurz testen und verifizieren?
iobroker url https://github.com/Zefau/ioBroker.roomba iobroker upload roomba
-
Bei einem Reload der Seite sieht es für ca. 2 Sekunden so aus:
Dann klappt alles unter Command zusammen und man sieht nur noch Start:
Bei einem Reload zeigt er dann je nach Status ? auch noch Stop und Pause an, klappt aber innerhalb einer Sekunde zusammen und es steht wieder nur noch Start da.
Wenn ich auf Start gehe fährt er los, wenn ich wieder auf Start gehe bleibt er stehen.
Denke dein Plan war unter Commands nur anzuzeigen was auch Sinn macht? -
@iomountain Ja richtig. Abhängig vom Status zeigt er nur die Buttons an, die Sinn ergeben. Wobei es sicher besser ist, die einfach auszugrauen. Die Frage ist, passen die Buttons zum Status? Der manuelle Reload sollte nicht nötig sein. Die Buttons sollten je nach Status automatisch verschwinden oder erscheinen.
-
@Zefau Ja, die Buttons passen zu den Stati soweit ich das erkennen kann.
Manuelles Reload ist nicht nötig, aber wenn man es macht ist man erst verwirrt da er viele Buttons anbietet und dann wieder zusammenklappt,/ausblendet.
Ausgrauen oder ausblenden? Es funktioniert, mehr brauche ich nicht.
Danke -
Ja, super. Hab die Buttons jetzt trotzdem mal ausgegraut. Kannst gerne nochmal von Github drüber installieren, wenn du magst.
-
@Zefau sagte in IRobot Roomba Adapter:
Hab die Buttons jetzt trotzdem mal ausgegraut.
@Zefau Ja, gefällt mir sogar besser
-
Hallo Zefau,
cooler Adapter. Hab leider ein Problem mit der Karte und dem Skript.- Karte: Wenn ich die Roomba-Adapter-Website öffne erscheint folgendes:
. Wie du siehst fehlen hier einige Informationen. Beim Klicken auf "download map" erscheint folgendes:
Wenn ich in VIS die Karte (roomba.0.missions.current.mapImage) einbinde funktioniert es:
- Skript:
Habe das Skript bei mir eingebunden, jedoch wird auch hier keine Karte an Telegram verschickt.
var _fs = require('fs'); /* * MISSION END: Send map * */ var ns = 'roomba.0'; var message = "%device.name% finished at %missions.current.endedDateTime% cleaning %missions.current.sqm% sqm in %missions.current.runtime% seconds (%missions.current.error% errors)."; on({id: ns + '.missions.current.ended', change: 'any'}, function(obj) { if (!obj.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('roomba.0.missions.current.mapImage').val; if (img !== null && img.indexOf('data:image/png;base64,') > -1) { _fs.writeFile('/tmp/image.png', img.replace(/^data:image\/png;base64,/, ''), 'base64', function(err) { if (err !== null) log(err.message, 'warn'); else sendTo('telegram', {text: '/tmp/image.png', message: message}); }); } });
Hast du eine Idee was ich falsch machen könnte?
Grüße Balu
- Karte: Wenn ich die Roomba-Adapter-Website öffne erscheint folgendes:
-
zu 1.: Ist dein Web-Adapter bzgl. SocketIO auf "integrated" konfiguriert? Welchen Browser nutzt du? Könntest du in der Browser-Konsole mal gucken, ob ein Fehler geworfen wurde? Für Firefox im Menü auf
Web Developer
gehen und dortWeb Console
.zu 2.: Im Skript ist ein Fehler, den ich gestern behoben habe. Aktuelle Version findest du unter https://github.com/Zefau/ioBroker.roomba#send-map-via-telegram-when-mission-is-finished.
-
- web.0 stand auf Socket I/O. Hab es nun auf integriert geändert und alles i.O.
- werde ich mal testen
-
@Zefau: hab das neuste Skript kopiert. Muss ich am Skript generell etwas anpassen? Bekomme keine Nachricht per Telegram.
-
@baluderbär kommt auf deine Umgebung an, aber eigl. nicht.
Die Roomba Objekte sind unter
roomba.0
? Also der Datenpunktroomba.0.missions.current.mapImage
existiert? Telegram ist im ioBroker installiert und konfiguriert?
Hast du Fehler im Log?Zum Verständnis: Du erhältst eine Nachricht, wenn der Roomba fertig gesaugt und die Mission beendet hat (also der Datenpunkt
roomba.0..missions.current.ended
beschrieben wird). -
@Zefau :
Roomba-Objekte sind unter roomba.0 vorhanden.
Telegram ist installiert und soweit konfiguriert (Api-Key eingetragen). Im Log finde ich keine Fehler.
Datenpunkt roomba.0..missions.current.ended wird beschrieben, siehe Bild oben.Info: Habe den Roomba 980.
Der Rest funktioniert:
Tippe mal auf Telegram, wenn es bei anderen funktioniert. So ok?
Gruß Balu