Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. IRobot Roomba Adapter

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.3k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.9k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.3k

IRobot Roomba Adapter

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
851 Beiträge 101 Kommentatoren 310.3k Aufrufe 65 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • W Offline
    W Offline
    wizzardking
    schrieb am zuletzt editiert von
    #470

    Hallo zusammen

    Erstmals Danke für den Adapter. Funktioniert sehr gut.
    Ich habe jedoch ein kleines Problem, mit dem iRobot i7 +.

    Den Roboter lasse ich per Zeitplan über iOBroker starten, damit ich den Zeitplan per VIS An- und Abschalten, so wie editieren kann.
    Dies bringt jedoch das Problem mit sich, dass sich der Behälter nicht automatisch leert, wenn er voll ist (i7+ hat einen externen Abfallbehälter). Wenn der Roboter jedoch per "normalem" iRobot App-Zeitplan gestartet wird, dann geht das.

    Nun habe ich 2 Fragen dazu:

    1. Ist es möglich im Adapter den Befehl zu senden, dass sich der Behälter leeren soll? Somit könnte ich einfach die Funktion einbauen:
      Wenn Behälter voll UND Roboter an Dockingstation = leere Behälter.

    ODER

    1. Wie kann ich den Zeitplan über den Adapter auslesen und ändern, damit ich dies weiterhin über VIS einstellen kann, jedoch der Roboter mit dem "normalen" Zeitplan startet?

    P.S. Es gibt ja das RunCommand Objekt. Beim Objekt steht, dass eine Liste unter https://bit.ly/2S57cgM zu finden ist. Dort wurde ja aber auch nur die Standardfunktionen wie Start, Stop, etc. abgebildet.

    ZefauZ 1 Antwort Letzte Antwort
    0
    • W wizzardking

      Hallo zusammen

      Erstmals Danke für den Adapter. Funktioniert sehr gut.
      Ich habe jedoch ein kleines Problem, mit dem iRobot i7 +.

      Den Roboter lasse ich per Zeitplan über iOBroker starten, damit ich den Zeitplan per VIS An- und Abschalten, so wie editieren kann.
      Dies bringt jedoch das Problem mit sich, dass sich der Behälter nicht automatisch leert, wenn er voll ist (i7+ hat einen externen Abfallbehälter). Wenn der Roboter jedoch per "normalem" iRobot App-Zeitplan gestartet wird, dann geht das.

      Nun habe ich 2 Fragen dazu:

      1. Ist es möglich im Adapter den Befehl zu senden, dass sich der Behälter leeren soll? Somit könnte ich einfach die Funktion einbauen:
        Wenn Behälter voll UND Roboter an Dockingstation = leere Behälter.

      ODER

      1. Wie kann ich den Zeitplan über den Adapter auslesen und ändern, damit ich dies weiterhin über VIS einstellen kann, jedoch der Roboter mit dem "normalen" Zeitplan startet?

      P.S. Es gibt ja das RunCommand Objekt. Beim Objekt steht, dass eine Liste unter https://bit.ly/2S57cgM zu finden ist. Dort wurde ja aber auch nur die Standardfunktionen wie Start, Stop, etc. abgebildet.

      ZefauZ Offline
      ZefauZ Offline
      Zefau
      schrieb am zuletzt editiert von
      #471

      @wizzardking den Zeitplan findest du bereits in den States (unter missions.schedule). Bzgl. des Befehls schau mal die Issues (auch die geschlossenen) von dorita durch (siehe https://github.com/koalazak/dorita980/issues), ob du dort etwas zu i7 findest.

      Meine Adapter: https://zefau.github.io/iobroker/

      W 1 Antwort Letzte Antwort
      0
      • K Offline
        K Offline
        Kusi
        schrieb am zuletzt editiert von
        #472

        Hallo zusammen

        Ist es möglich, dass via ioBroker auch nur ein bestimmter Raum gereinigt werden soll?
        Gerne würde ich dann auch mehrere Räume zu einer Zone/Start zusammenschliessen.
        Die Räume sind bereits in der Roomba-App vorhanden.

        Vielen Dank für eure Hilfe.

        Gruss Kusi

        ZefauZ 1 Antwort Letzte Antwort
        0
        • K Kusi

          Hallo zusammen

          Ist es möglich, dass via ioBroker auch nur ein bestimmter Raum gereinigt werden soll?
          Gerne würde ich dann auch mehrere Räume zu einer Zone/Start zusammenschliessen.
          Die Räume sind bereits in der Roomba-App vorhanden.

          Vielen Dank für eure Hilfe.

          Gruss Kusi

          ZefauZ Offline
          ZefauZ Offline
          Zefau
          schrieb am zuletzt editiert von Zefau
          #473

          @Kusi Ist nicht direkt implementiert. Es müsste ein command state geben, mit dem du das realisieren kannst.

          { command: 'CleanRoom', time: 0, initiator: 'localApp' }
          

          Ich habe keinen Roomba mehr und kann es daher nicht probieren. Probier etwas mit den Werten zu spielen, wenn es nicht geht.

          Meine Adapter: https://zefau.github.io/iobroker/

          K 1 Antwort Letzte Antwort
          0
          • ZefauZ Zefau

            @Kusi Ist nicht direkt implementiert. Es müsste ein command state geben, mit dem du das realisieren kannst.

            { command: 'CleanRoom', time: 0, initiator: 'localApp' }
            

            Ich habe keinen Roomba mehr und kann es daher nicht probieren. Probier etwas mit den Werten zu spielen, wenn es nicht geht.

            K Offline
            K Offline
            Kusi
            schrieb am zuletzt editiert von
            #474

            @Zefau Danke für deine Antwort.
            Wo muss ich denn diese Zeile eingeben?

            ZefauZ 1 Antwort Letzte Antwort
            0
            • JB_SullivanJ Offline
              JB_SullivanJ Offline
              JB_Sullivan
              schrieb am zuletzt editiert von
              #475

              Mal eine Frage an alle - habt ihr z.Zt. auch Probleme, das sich Roomba nicht mehr mit der Werkscloud verbindet?

              Ich hatte nie Probleme damit, doch seit Montag ist mir aufgefallen, das so gut wie keine Verbindung mehr zustande kommt.

              Die nächste Frage geht an @Zefau : Wurde irgend etwas bei den History Daten geändert?

              Der Datenpunkt roomba.0.missions.history spuckt ja eine json Tabelle aus. Im VIS eingebunden sieht diese dann so aus.

              2020-07-17 08_02_36-vis.png

              Interessanter Weise scheint die sich nicht mehr zu aktualisieren, denn die History Tabelle vom Roomba selber schaut so aus.

              2020-07-17 08_02_58-iRobot Roomba.png

              Während die json Tabelle bei 339 endet, geht die Roomba Tabelle bis 356 (die fehlenden Nummer bitte ignorieren, da habe ich was ausprobiert und canvas lief nicht)

              ioBroker auf Intel Core i3-5005U NUC und Windwos10 Pro

              1 Antwort Letzte Antwort
              0
              • K Kusi

                @Zefau Danke für deine Antwort.
                Wo muss ich denn diese Zeile eingeben?

                ZefauZ Offline
                ZefauZ Offline
                Zefau
                schrieb am zuletzt editiert von
                #476

                @Kusi Datenpunkt commands._runCommand

                Meine Adapter: https://zefau.github.io/iobroker/

                K 1 Antwort Letzte Antwort
                0
                • ZefauZ Zefau

                  @Kusi Datenpunkt commands._runCommand

                  K Offline
                  K Offline
                  Kusi
                  schrieb am zuletzt editiert von Kusi
                  #477

                  @Zefau Danke, könntest du mir dies bitte ein bisschen genauer erklären, wie ich dies beim genannten Objekt eintragen muss? Ich habe es heute probiert, jedoch nicht hinbekommen.

                  Muss das gesamte Wort "CleanRoom" durch den Raumnamen ersetzt werden?

                  1 Antwort Letzte Antwort
                  0
                  • JackDanielJ Offline
                    JackDanielJ Offline
                    JackDaniel
                    schrieb am zuletzt editiert von JackDaniel
                    #478

                    der adapter soll ja auf dorita980 basieren, und im git dazu steht "Compatible robots: all 600, 800, 900, e5 and i7/i7+ series with HOME app and Braava m6."
                    ich hab nun mal meinen m6 über den adapter verbunden und es funktioniert auch alles (was ich benötige und getestet habe) :+1:
                    das einzige was etwas störend ist das nun regelmässig fehler vom adapter im log auftauchen :(

                    unifi.0	2020-07-19 07:47:38.776	info	(2130) Update done
                    roomba.0	2020-07-19 07:47:28.294	error	(1876) "Cannot read property 'toString' of null"
                    roomba.0	2020-07-19 07:47:28.292	error	(1876) "Cannot read property 'toString' of null"
                    unifi.0	2020-07-19 07:46:38.889	info	(2130) Update done
                    roomba.0	2020-07-19 07:46:20.500	error	(1876) "Cannot read property 'toString' of null"
                    roomba.0	2020-07-19 07:46:20.497	error	(1876) "Cannot read property 'toString' of null"
                    unifi.0	2020-07-19 07:45:38.881	info	(2130) Update done
                    roomba.0	2020-07-19 07:45:18.102	error	(1876) "Cannot read property 'toString' of null"
                    roomba.0	2020-07-19 07:45:18.100	error	(1876) "Cannot read property 'toString' of null"
                    

                    wie kann ich helfen den fehler auf die spur zu kommen?
                    danke im voraus.

                    Carpe diem

                    1 Antwort Letzte Antwort
                    0
                    • ZefauZ Zefau

                      @wizzardking den Zeitplan findest du bereits in den States (unter missions.schedule). Bzgl. des Befehls schau mal die Issues (auch die geschlossenen) von dorita durch (siehe https://github.com/koalazak/dorita980/issues), ob du dort etwas zu i7 findest.

                      W Offline
                      W Offline
                      wizzardking
                      schrieb am zuletzt editiert von
                      #479

                      @Zefau said in IRobot Roomba Adapter:

                      missions.schedule

                      Hallo Zefau
                      Vielen Dank für Deine Antwort.
                      Leider sehe ich nur beim älteren iRobot Modell den Zeitplan. Beim i7 sehe ich unter "Missions" leider nur den Ordner "current".

                      Den Zeitplan müsste man aber ja auch durch das objekt _runCommand auslesen und setzen können.
                      Ich verstehe hier aber die Anleitung nicht ganz.
                      Wenn ich "myRobot.getWeek()" im Objekt _runCommand eingebe, würde ich erwarten, dass der aktuelle Zeitplan in den Logs ausgegeben wird, tatsächlich passiert aber nichts.

                      ZefauZ 1 Antwort Letzte Antwort
                      0
                      • W wizzardking

                        @Zefau said in IRobot Roomba Adapter:

                        missions.schedule

                        Hallo Zefau
                        Vielen Dank für Deine Antwort.
                        Leider sehe ich nur beim älteren iRobot Modell den Zeitplan. Beim i7 sehe ich unter "Missions" leider nur den Ordner "current".

                        Den Zeitplan müsste man aber ja auch durch das objekt _runCommand auslesen und setzen können.
                        Ich verstehe hier aber die Anleitung nicht ganz.
                        Wenn ich "myRobot.getWeek()" im Objekt _runCommand eingebe, würde ich erwarten, dass der aktuelle Zeitplan in den Logs ausgegeben wird, tatsächlich passiert aber nichts.

                        ZefauZ Offline
                        ZefauZ Offline
                        Zefau
                        schrieb am zuletzt editiert von
                        #480

                        @wizzardking bitte beachtet, dass ich keinen Roomba mehr habe und daher nur noch sehr begrenzt support leisten kann.

                        Ich habe runCommand nie selbst ausprobiert. Das Format müsste aber wie folgt sein

                        { "command": "start", "time": 1579465092, "initiator": "localApp" }
                        

                        Meine Adapter: https://zefau.github.io/iobroker/

                        1 Antwort Letzte Antwort
                        0
                        • ? Offline
                          ? Offline
                          Ein ehemaliger Benutzer
                          schrieb am zuletzt editiert von Ein ehemaliger Benutzer
                          #481

                          Disregard.

                          1 Antwort Letzte Antwort
                          0
                          • A Offline
                            A Offline
                            Ashuan
                            schrieb am zuletzt editiert von Ashuan
                            #482

                            Hi zusammen,
                            ich habe einen s9 und habe mir den Roomba Adapter im IOBroker installiert.
                            Die Kommandos unter .commands wie Start, Stop ... funktionieren gut.
                            Jedoch wundert es mich das keine Bereichsreinigung möglich ist, also habe ich mich an '_runCommand' gemacht.
                            Egal was ich dort übergebe ich bekomme so gar kein Feedback, also keinen Fehler und nix.

                            Ich hätte gedacht das dieses Kommando das richtige sei:

                            '{"command" : "cleanroom","ordered": 1,"pmap_id": "meine id","regions": [{ "region_id": "12"},{ "region_id": "13"}],"user_pmapv_id": "meine id"}'
                            

                            Ich habe auch leider kein Erfolg gehabt dorita980 in einem Skript zu verwenden:

                            var dorita980 = require('dorita980');
                            var robi= new dorita980.Local('???', ':1:1596011664:??', '172.xx.xx.xx');  
                            robi.on('connect', init);
                            
                            function init () {
                                if (robi)
                                {
                                log("init");
                                robi.getRobotState(['lastCommand']).then((actualState) => {
                                    log(actualState);
                                });
                                }
                            }
                            

                            Kann mir jemand damit bitte helfen, hat das schon mal jemand im IOBroker gemacht ?

                            A 1 Antwort Letzte Antwort
                            1
                            • A Ashuan

                              Hi zusammen,
                              ich habe einen s9 und habe mir den Roomba Adapter im IOBroker installiert.
                              Die Kommandos unter .commands wie Start, Stop ... funktionieren gut.
                              Jedoch wundert es mich das keine Bereichsreinigung möglich ist, also habe ich mich an '_runCommand' gemacht.
                              Egal was ich dort übergebe ich bekomme so gar kein Feedback, also keinen Fehler und nix.

                              Ich hätte gedacht das dieses Kommando das richtige sei:

                              '{"command" : "cleanroom","ordered": 1,"pmap_id": "meine id","regions": [{ "region_id": "12"},{ "region_id": "13"}],"user_pmapv_id": "meine id"}'
                              

                              Ich habe auch leider kein Erfolg gehabt dorita980 in einem Skript zu verwenden:

                              var dorita980 = require('dorita980');
                              var robi= new dorita980.Local('???', ':1:1596011664:??', '172.xx.xx.xx');  
                              robi.on('connect', init);
                              
                              function init () {
                                  if (robi)
                                  {
                                  log("init");
                                  robi.getRobotState(['lastCommand']).then((actualState) => {
                                      log(actualState);
                                  });
                                  }
                              }
                              

                              Kann mir jemand damit bitte helfen, hat das schon mal jemand im IOBroker gemacht ?

                              A Offline
                              A Offline
                              Ashuan
                              schrieb am zuletzt editiert von Ashuan
                              #483

                              Hallo zusammen, hallo @Zefau ,
                              ich habe mal ein wenig Recherche betrieben. Ich finde Deinen Adapter super und würde gerne die Node _runCommand benutzen.
                              Jedoch tut sich beim Benutzen dieser so garnichts.
                              So wie ich Deinen Code verstehe (roomba.js) Zeile 151

                              		// run command
                              		else if (action == '_runCommand' && state.ack !== true)
                              		{
                              			let command = { command: state.val, time: Date.now() / 1000 | 0, initiator: 'localApp' };
                              			robot.publish('cmd', JSON.stringify(command), () => {
                              				adapter.log.info('Ran command ' + state.val + '!');
                              			});
                              		}
                              

                              läßt Du dort nur ein Kommando wir 'start' o.ä., ohne Parameter zu, da der eigentliche Commandstring erst via stringify erzeugt wird.
                              Also möchte ich ein Command wie (btw: Dieses Command funktioniert wenn ich eine Verbindung zum s9 via MQTT Explorer aufbaue)

                              {
                              	"command": "start",
                              	"ordered": 1,
                              	"params": {
                              		"carpetBoost": false,
                              		"noAutoPasses": false,
                              		"twoPass": false,
                              		"vacHigh": false
                              	},
                              	"pmap_id": "???",
                              	"regions": [
                              		{
                              			"region_id": "12",
                              			"type": "rid"
                              		}
                              	],
                              	"user_pmapv_id": "???"
                              }
                              

                              los schicken, wird folgendes in die Methode publish geschickt:

                              { command: {
                              	"command": "start",
                              	"ordered": 1,
                              	"params": {
                              		"carpetBoost": false,
                              		"noAutoPasses": false,
                              		"twoPass": false,
                              		"vacHigh": false
                              	},
                              	"pmap_id": "???",
                              	"regions": [
                              		{
                              			"region_id": "12",
                              			"type": "rid"
                              		}
                              	],
                              	"user_pmapv_id": "???"
                              }, time: Date.now() / 1000 | 0, initiator: 'localApp' }
                              

                              ... und das dürfte einen Fehler produzieren.
                              Ich möchte Dir nicht vorgreifen, jedoch sollte der case für _runCommand nicht so aussehen ?

                              		// run command
                              		else if (action == '_runCommand' && state.ack !== true)
                              		{
                              			robot.publish('cmd', state.val, () => {
                              				adapter.log.info('Ran command ' + state.val + '!');
                              			});
                              		}
                              

                              Edit: Ich habe gerade meine lokale roomba.js dahingehend geändert. Ich denke der Case wird nicht angesprungen..

                              		// run command
                              		else if (action == '_runCommand' && state.ack !== true)
                              		{
                              			adapter.log.info('_runCommand modify');
                              
                              			robot.publish('cmd', state.val, () => {
                              				adapter.log.info('Ran command ' + state.val + '!');
                              			});
                              		}
                              
                              

                              Ich kenne die Internas von IOBroker nicht und dachte es wäre die Stelle im Code die ausgeführt wird sobald ich den Inhalt der Node 'roomba.0.commands._runCommand' verändere. Ich sehe auch im Log nicht den erwarteten Output '_runCommand modify'
                              Liege ich damit falsch ?

                              Viele Grüße

                              Kai

                              A 1 Antwort Letzte Antwort
                              0
                              • A Ashuan

                                Hallo zusammen, hallo @Zefau ,
                                ich habe mal ein wenig Recherche betrieben. Ich finde Deinen Adapter super und würde gerne die Node _runCommand benutzen.
                                Jedoch tut sich beim Benutzen dieser so garnichts.
                                So wie ich Deinen Code verstehe (roomba.js) Zeile 151

                                		// run command
                                		else if (action == '_runCommand' && state.ack !== true)
                                		{
                                			let command = { command: state.val, time: Date.now() / 1000 | 0, initiator: 'localApp' };
                                			robot.publish('cmd', JSON.stringify(command), () => {
                                				adapter.log.info('Ran command ' + state.val + '!');
                                			});
                                		}
                                

                                läßt Du dort nur ein Kommando wir 'start' o.ä., ohne Parameter zu, da der eigentliche Commandstring erst via stringify erzeugt wird.
                                Also möchte ich ein Command wie (btw: Dieses Command funktioniert wenn ich eine Verbindung zum s9 via MQTT Explorer aufbaue)

                                {
                                	"command": "start",
                                	"ordered": 1,
                                	"params": {
                                		"carpetBoost": false,
                                		"noAutoPasses": false,
                                		"twoPass": false,
                                		"vacHigh": false
                                	},
                                	"pmap_id": "???",
                                	"regions": [
                                		{
                                			"region_id": "12",
                                			"type": "rid"
                                		}
                                	],
                                	"user_pmapv_id": "???"
                                }
                                

                                los schicken, wird folgendes in die Methode publish geschickt:

                                { command: {
                                	"command": "start",
                                	"ordered": 1,
                                	"params": {
                                		"carpetBoost": false,
                                		"noAutoPasses": false,
                                		"twoPass": false,
                                		"vacHigh": false
                                	},
                                	"pmap_id": "???",
                                	"regions": [
                                		{
                                			"region_id": "12",
                                			"type": "rid"
                                		}
                                	],
                                	"user_pmapv_id": "???"
                                }, time: Date.now() / 1000 | 0, initiator: 'localApp' }
                                

                                ... und das dürfte einen Fehler produzieren.
                                Ich möchte Dir nicht vorgreifen, jedoch sollte der case für _runCommand nicht so aussehen ?

                                		// run command
                                		else if (action == '_runCommand' && state.ack !== true)
                                		{
                                			robot.publish('cmd', state.val, () => {
                                				adapter.log.info('Ran command ' + state.val + '!');
                                			});
                                		}
                                

                                Edit: Ich habe gerade meine lokale roomba.js dahingehend geändert. Ich denke der Case wird nicht angesprungen..

                                		// run command
                                		else if (action == '_runCommand' && state.ack !== true)
                                		{
                                			adapter.log.info('_runCommand modify');
                                
                                			robot.publish('cmd', state.val, () => {
                                				adapter.log.info('Ran command ' + state.val + '!');
                                			});
                                		}
                                
                                

                                Ich kenne die Internas von IOBroker nicht und dachte es wäre die Stelle im Code die ausgeführt wird sobald ich den Inhalt der Node 'roomba.0.commands._runCommand' verändere. Ich sehe auch im Log nicht den erwarteten Output '_runCommand modify'
                                Liege ich damit falsch ?

                                Viele Grüße

                                Kai

                                A Offline
                                A Offline
                                Ashuan
                                schrieb am zuletzt editiert von Ashuan
                                #484

                                Hallo zusammen,
                                entschuldigt bitte, jedoch es hat mir keine Ruhe gelassen.
                                Ich habe die roomba.js dahin gehend angepasst sodass der _runCommand Befehl funktioniert.

                                roomba.js

                                @Zefau : es wäre super wenn Du das prüfen könntest und ggf. einchecken.

                                Ich habe folgendes angepasst:

                                Zeile 151

                                		else if (action == '_runCommand' && state.ack !== true)
                                		{
                                			robot.publish('cmd', state.val, () => {
                                				adapter.log.info('Ran command ' + state.val + '!');
                                			});
                                		}
                                
                                

                                Zeile 616

                                				if (node.node !== undefined)
                                					{
                                					let leafnode = node.node.substr(node.node.lastIndexOf('.')+1);
                                					//adapter.log.info('Leafnode: ' + leafnode + '.');
                                
                                					if ((leafnode) && (leafnode === '_runCommand' ) && listeners[node.node] === undefined)
                                					{
                                						adapter.log.info('Subscripe Leafnode: ' + leafnode + '.');
                                						adapter.subscribeStates(node.node); // attach state listener
                                						listeners[node.node] = node;
                                					}
                                					adapter.getState(node.node, function(err, res)
                                					{
                                						if ((err !== null || !res) && (node.node !== undefined && node.description !== undefined))
                                							library.set(node, '');
                                					});
                                				}
                                

                                Ich habe es bei mir getestet und das _runCommand funktioniert.

                                {
                                	"command": "start",
                                	"ordered": 1,
                                	"params": {
                                		"carpetBoost": false,
                                		"noAutoPasses": false,
                                		"twoPass": false,
                                		"vacHigh": false
                                	},
                                	"pmap_id": "yourmapid",
                                	"regions": [
                                		{
                                			"region_id": "12",
                                			"type": "rid"
                                		}
                                	],
                                	"user_pmapv_id": "yourid"
                                }
                                

                                Ich bekomme immer wieder ein "Cannot read property 'toString' of null" aber da bin ich dran.
                                Ich denke das habe ich mir eingefangen als ich die Nodes etwas verändert habe.

                                LG und have fun
                                Kai

                                ZefauZ F K 3 Antworten Letzte Antwort
                                0
                                • A Ashuan

                                  Hallo zusammen,
                                  entschuldigt bitte, jedoch es hat mir keine Ruhe gelassen.
                                  Ich habe die roomba.js dahin gehend angepasst sodass der _runCommand Befehl funktioniert.

                                  roomba.js

                                  @Zefau : es wäre super wenn Du das prüfen könntest und ggf. einchecken.

                                  Ich habe folgendes angepasst:

                                  Zeile 151

                                  		else if (action == '_runCommand' && state.ack !== true)
                                  		{
                                  			robot.publish('cmd', state.val, () => {
                                  				adapter.log.info('Ran command ' + state.val + '!');
                                  			});
                                  		}
                                  
                                  

                                  Zeile 616

                                  				if (node.node !== undefined)
                                  					{
                                  					let leafnode = node.node.substr(node.node.lastIndexOf('.')+1);
                                  					//adapter.log.info('Leafnode: ' + leafnode + '.');
                                  
                                  					if ((leafnode) && (leafnode === '_runCommand' ) && listeners[node.node] === undefined)
                                  					{
                                  						adapter.log.info('Subscripe Leafnode: ' + leafnode + '.');
                                  						adapter.subscribeStates(node.node); // attach state listener
                                  						listeners[node.node] = node;
                                  					}
                                  					adapter.getState(node.node, function(err, res)
                                  					{
                                  						if ((err !== null || !res) && (node.node !== undefined && node.description !== undefined))
                                  							library.set(node, '');
                                  					});
                                  				}
                                  

                                  Ich habe es bei mir getestet und das _runCommand funktioniert.

                                  {
                                  	"command": "start",
                                  	"ordered": 1,
                                  	"params": {
                                  		"carpetBoost": false,
                                  		"noAutoPasses": false,
                                  		"twoPass": false,
                                  		"vacHigh": false
                                  	},
                                  	"pmap_id": "yourmapid",
                                  	"regions": [
                                  		{
                                  			"region_id": "12",
                                  			"type": "rid"
                                  		}
                                  	],
                                  	"user_pmapv_id": "yourid"
                                  }
                                  

                                  Ich bekomme immer wieder ein "Cannot read property 'toString' of null" aber da bin ich dran.
                                  Ich denke das habe ich mir eingefangen als ich die Nodes etwas verändert habe.

                                  LG und have fun
                                  Kai

                                  ZefauZ Offline
                                  ZefauZ Offline
                                  Zefau
                                  schrieb am zuletzt editiert von
                                  #485

                                  @Ashuan Danke dir! Bitte Repo forken und dann einfach einen pull request :-)

                                  Meine Adapter: https://zefau.github.io/iobroker/

                                  A 1 Antwort Letzte Antwort
                                  0
                                  • ZefauZ Zefau

                                    @Ashuan Danke dir! Bitte Repo forken und dann einfach einen pull request :-)

                                    A Offline
                                    A Offline
                                    Ashuan
                                    schrieb am zuletzt editiert von
                                    #486

                                    Alles klar, mache ich so.

                                    1 Antwort Letzte Antwort
                                    0
                                    • eric2905E eric2905

                                      Ich habe meinen alten Roomba, den ich mit WLAN umgerüstet habe, über Node-Red eingebunden.

                                      Das hat mir völlig gereicht - jetzt habe ich einen Neato Botvac und für den gibt es ja einen Adapter.

                                      Gruß,

                                      Eric

                                      Von unterwegs getippert

                                      ? Offline
                                      ? Offline
                                      Ein ehemaliger Benutzer
                                      schrieb am zuletzt editiert von
                                      #487

                                      @eric2905 wie hast du deinen den umgebaut? Ich habe einen Roomba 605

                                      eric2905E 1 Antwort Letzte Antwort
                                      0
                                      • ? Ein ehemaliger Benutzer

                                        @eric2905 wie hast du deinen den umgebaut? Ich habe einen Roomba 605

                                        eric2905E Offline
                                        eric2905E Offline
                                        eric2905
                                        schrieb am zuletzt editiert von
                                        #488

                                        @HeinrichB Ich habe schon ewig keinen Roomba mehr ... der musste einem Xiaomi weichen.
                                        Ich hatte seinerzeit die WLAN-Topplate drauf.

                                        Gruß,
                                        Eric

                                        Roses are red, violets are blue,

                                        if I listen to metal, my neighbours do too

                                        1 Antwort Letzte Antwort
                                        0
                                        • F Offline
                                          F Offline
                                          fvp
                                          schrieb am zuletzt editiert von
                                          #489

                                          Ich hatte auch die Meldung
                                          Cannot read property 'toString' of null
                                          im Log.

                                          Ursache war anscheinend die fehlenden Einträge unter:
                                          roomba.0.missions.current

                                          Nachdem ich die Einträge von Hand hinzugefügt habe werden diese vom Adapter verwendet und im Log gibt es keinen Fehler mehr.

                                          NewpicselN 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate
                                          FAQ Cloud / IOT
                                          HowTo: Node.js-Update
                                          HowTo: Backup/Restore
                                          Downloads
                                          BLOG

                                          669

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe