Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. IRobot Roomba Steuerung

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    IRobot Roomba Steuerung

    This topic has been deleted. Only users with topic management privileges can see it.
    • eric2905
      eric2905 last edited by

      Moin,

      dann bin ich der erste, der den testen möchte 😉

      Adapter programmieren muss ich mir irgendwann auch mal ansehen … momentan stehe ich mir immer wieder selber im Weg 🙂

      Gruß,

      Eric

      1 Reply Last reply Reply Quote 0
      • T
        tesso last edited by

        Ich werde den Adapter auch testen.

        Der Roomba hat bisher bei mir nur WLAN, aber keine Einbindung in die Steuerung.

        1 Reply Last reply Reply Quote 0
        • eric2905
          eric2905 last edited by

          @tesso:

          Übernimm einfach mal die Node-red Flows von mir - macht Spaß, den Roomba integriert zu wissen 😉

          Eine passende View (Wigdets) kann ich auch bereitstellen, wenn gewünscht.

          Gruß,

          Eric

          1 Reply Last reply Reply Quote 0
          • T
            tesso last edited by

            Die Widgets interessieren mich auch.

            Habe eben die flows importiert. dabei habe ich Fehler bekommen (iobroker input und output wären nicht vorhanden).

            Suche nun den Fehler und schaue dann weiter.

            1 Reply Last reply Reply Quote 0
            • A
              Arminhh last edited by

              hat sofort funktioniert! Super Beschreibung und Flow!! 😄

              Das Widget würde mich auch sehr interessieren!

              mfg

              Arminhh

              1 Reply Last reply Reply Quote 0
              • eric2905
                eric2905 last edited by

                So, dann hier die Widgets.

                Die Steuerung:

                [{"tpl":"tplFrame","data":{"visibility-cond":"==","visibility-val":1,"title":"Steuerung","title_color":"black","title_top":"5","title_left":"15","header_height":"30","header_color":"#a0c0ca"},"style":{"left":"560px","top":"60px","width":"345px","height":"423px","font-family":"Arial, Helvetica, sans-serif","font-style":"normal","font-variant":"normal","font-weight":"bold","font-size":"large","z-index":"5"},"widgetSet":"basic"},{"tpl":"tplJquiButtonState","data":{"oid":"node-red.0.Roomba.command_Clean","visibility-cond":"==","visibility-val":1,"buttontext":"Normal saugen","padding":"5","value":"1"},"style":{"left":"590px","top":"120px","z-index":"20"},"widgetSet":"jqui"},{"tpl":"tplJquiButtonState","data":{"oid":"node-red.0.Roomba.command_SpotSaugen","visibility-cond":"==","visibility-val":1,"buttontext":"Spot saugen","padding":"5","value":"1"},"style":{"left":"590px","top":"170px","z-index":"20"},"widgetSet":"jqui"},{"tpl":"tplJquiButtonState","data":{"oid":"node-red.0.Roomba.command_MaxSaugen","visibility-cond":"==","visibility-val":1,"buttontext":"Max saugen","padding":"5","value":"1"},"style":{"left":"590px","top":"220px","z-index":"20"},"widgetSet":"jqui"},{"tpl":"tplJquiButtonState","data":{"oid":"node-red.0.Roomba.command_DriveStop","visibility-cond":"==","visibility-val":1,"buttontext":"Stop","padding":"5","value":"1"},"style":{"left":"590px","top":"290px","z-index":"20"},"widgetSet":"jqui"},{"tpl":"tplJquiButtonState","data":{"oid":"node-red.0.Roomba.command_PowerOff","visibility-cond":"==","visibility-val":1,"buttontext":"Power off","padding":"5","value":"1"},"style":{"left":"590px","top":"420px","z-index":"20"},"widgetSet":"jqui"},{"tpl":"tplJquiButtonState","data":{"oid":"node-red.0.Roomba.command_Findme","visibility-cond":"==","visibility-val":1,"buttontext":"Find me","padding":"5","value":"1"},"style":{"left":"730px","top":"420px","z-index":"20"},"widgetSet":"jqui"},{"tpl":"tplJquiButtonState","data":{"oid":"node-red.0.Roomba.command_BackToDock","visibility-cond":"==","visibility-val":1,"buttontext":"Zur Basis","padding":"5","value":"1"},"style":{"left":"590px","top":"370px","z-index":"20"},"widgetSet":"jqui"},{"tpl":"tplJquiButtonState","data":{"oid":"node-red.0.Roomba.command_LeaveDock","visibility-cond":"==","visibility-val":1,"buttontext":"Basis verlassen","padding":"5","value":"1"},"style":{"left":"730px","top":"370px","z-index":"20"},"widgetSet":"jqui"}]
                

                Die Statusinfos:

                [{"tpl":"tplFrame","data":{"visibility-cond":"==","visibility-val":1,"title":"Status","title_color":"black","title_top":"5","title_left":"15","header_height":"30","header_color":"#a0c0ca"},"style":{"left":"50px","top":"60px","width":"435px","height":"453px","font-family":"Arial, Helvetica, sans-serif","font-style":"normal","font-variant":"normal","font-weight":"bold","font-size":"large","z-index":"5"},"widgetSet":"basic"},{"tpl":"tplValueString","data":{"oid":"nothing_selected","visibility-cond":"==","visibility-val":1,"html_prepend":"Akkustatus"},"style":{"left":"70px","top":"120px","width":"200px","height":"20px","color":"white","text-align":"left","font-family":"Arial, Helvetica, sans-serif","font-style":"normal","font-variant":"normal","font-weight":"bold","z-index":"5"},"widgetSet":"basic"},{"tpl":"tplValueFloat","data":{"oid":"node-red.0.Roomba.akkuladung","visibility-cond":"==","visibility-val":1,"is_comma":"true","factor":"1","html_append_singular":" %","html_append_plural":" %"},"style":{"left":"360px","top":"120px","width":"100px","height":"22px","color":"white","text-align":"right","font-family":"Arial, Helvetica, sans-serif","font-style":"normal","font-variant":"normal","font-weight":"bold","font-size":"large","z-index":"20"},"widgetSet":"basic"},{"tpl":"tplValueString","data":{"oid":"nothing_selected","visibility-cond":"==","visibility-val":1,"html_prepend":"Akkukapazität max."},"style":{"left":"70px","top":"160px","width":"200px","height":"20px","color":"white","text-align":"left","font-family":"Arial, Helvetica, sans-serif","font-style":"normal","font-variant":"normal","font-weight":"bold","z-index":"5"},"widgetSet":"basic"},{"tpl":"tplValueFloat","data":{"oid":"node-red.0.Roomba.akkusoll","visibility-cond":"==","visibility-val":1,"is_comma":"true","factor":"1","html_append_singular":" mA","html_append_plural":" mA"},"style":{"left":"360px","top":"160px","width":"100px","height":"22px","color":"white","text-align":"right","font-family":"Arial, Helvetica, sans-serif","font-style":"normal","font-variant":"normal","font-weight":"bold","font-size":"large","z-index":"20"},"widgetSet":"basic"},{"tpl":"tplValueFloat","data":{"oid":"node-red.0.Roomba.akkuist","visibility-cond":"==","visibility-val":1,"is_comma":"true","factor":"1","html_append_singular":" mA","html_append_plural":" mA"},"style":{"left":"360px","top":"190px","width":"100px","height":"22px","color":"white","text-align":"right","font-family":"Arial, Helvetica, sans-serif","font-style":"normal","font-variant":"normal","font-weight":"bold","font-size":"large","z-index":"20"},"widgetSet":"basic"},{"tpl":"tplValueString","data":{"oid":"nothing_selected","visibility-cond":"==","visibility-val":1,"html_prepend":"Akkukapazität ist"},"style":{"left":"70px","top":"190px","width":"200px","height":"20px","color":"white","text-align":"left","font-family":"Arial, Helvetica, sans-serif","font-style":"normal","font-variant":"normal","font-weight":"bold","z-index":"5"},"widgetSet":"basic"},{"tpl":"tplValueString","data":{"oid":"","visibility-cond":"==","visibility-val":1,"html_prepend":"Saugt gerade"},"style":{"left":"70px","top":"240px","width":"200px","height":"20px","color":"white","text-align":"left","font-family":"Arial, Helvetica, sans-serif","font-style":"normal","font-variant":"normal","font-weight":"bold","z-index":"5"},"widgetSet":"basic"},{"tpl":"tplValueListHtml8","data":{"oid":"node-red.0.Roomba.saugt","visibility-cond":"==","visibility-val":1,"count":"1","value0":"Nein","value1":"Ja","style1":"background-color: green","style0":"background-color: red","value2":"Offen","style2":"background-color: red; padding:4px;","test_list":"0"},"style":{"left":"360px","top":"240px","color":"white","text-align":"center","font-family":"Arial, Helvetica, sans-serif","font-style":"normal","font-variant":"normal","font-weight":"bold","font-size":"large","width":"100px","height":"22px","z-index":"20","overflow-x":""},"widgetSet":"basic"},{"tpl":"tplValueListHtml8","data":{"oid":"node-red.0.Roomba.schmutzbehaelter","visibility-cond":"==","visibility-val":1,"count":"1","value0":"Nein","value1":"Ja","style1":"background-color: red","style0":"background-color: green","value2":"Offen","style2":"background-color: red; padding:4px;","test_list":"0"},"style":{"left":"360px","top":"280px","color":"white","text-align":"center","font-family":"Arial, Helvetica, sans-serif","font-style":"normal","font-variant":"normal","font-weight":"bold","font-size":"large","width":"100px","height":"22px","z-index":"20","overflow-x":""},"widgetSet":"basic"},{"tpl":"tplValueString","data":{"oid":"","visibility-cond":"==","visibility-val":1,"html_prepend":"Staubbehälter voll"},"style":{"left":"70px","top":"280px","width":"200px","height":"20px","color":"white","text-align":"left","font-family":"Arial, Helvetica, sans-serif","font-style":"normal","font-variant":"normal","font-weight":"bold","z-index":"5"},"widgetSet":"basic"},{"tpl":"tplValueString","data":{"oid":"","visibility-cond":"==","visibility-val":1,"html_prepend":"Status"},"style":{"left":"70px","top":"360px","width":"200px","height":"20px","color":"white","text-align":"left","font-family":"Arial, Helvetica, sans-serif","font-style":"normal","font-variant":"normal","font-weight":"bold","z-index":"5"},"widgetSet":"basic"},{"tpl":"tplValueString","data":{"oid":"node-red.0.Roomba.status","visibility-cond":"==","visibility-val":1},"style":{"left":"140px","top":"360px","z-index":"20","color":"rgb(255, 255, 255)","text-align":"right","text-shadow":"none","font-family":"Arial, Helvetica, sans-serif","font-style":"normal","font-variant":"normal","font-weight":"bold","font-size":"16px","line-height":"18px","letter-spacing":"0","word-spacing":"0px","width":"320px","height":"20px"},"widgetSet":"basic"},{"tpl":"tplValueString","data":{"oid":"nothing_selected","visibility-cond":"==","visibility-val":1,"html_prepend":"Gefahrene Strecke"},"style":{"left":"70px","top":"390px","width":"200px","height":"20px","color":"white","text-align":"left","font-family":"Arial, Helvetica, sans-serif","font-style":"normal","font-variant":"normal","font-weight":"bold","z-index":"5"},"widgetSet":"basic"},{"tpl":"tplValueFloat","data":{"oid":"node-red.0.Roomba.strecke","visibility-cond":"==","visibility-val":1,"is_comma":"true","factor":"","html_append_singular":" m","html_append_plural":" m"},"style":{"left":"360px","top":"390px","width":"100px","height":"22px","color":"white","text-align":"right","font-family":"Arial, Helvetica, sans-serif","font-style":"normal","font-variant":"normal","font-weight":"bold","font-size":"large","z-index":"20"},"widgetSet":"basic"},{"tpl":"tplValueString","data":{"oid":"nothing_selected","visibility-cond":"==","visibility-val":1,"html_prepend":"Temperatur"},"style":{"left":"70px","top":"420px","width":"200px","height":"20px","color":"white","text-align":"left","font-family":"Arial, Helvetica, sans-serif","font-style":"normal","font-variant":"normal","font-weight":"bold","z-index":"5"},"widgetSet":"basic"},{"tpl":"tplValueFloat","data":{"oid":"node-red.0.Roomba.temperatur","visibility-cond":"==","visibility-val":1,"is_comma":"true","factor":"","html_append_singular":" ºC","html_append_plural":" ºC"},"style":{"left":"360px","top":"420px","width":"100px","height":"22px","color":"white","text-align":"right","font-family":"Arial, Helvetica, sans-serif","font-style":"normal","font-variant":"normal","font-weight":"bold","font-size":"large","z-index":"20"},"widgetSet":"basic"},{"tpl":"tplValueString","data":{"oid":"node-red.0.Roomba.Statusuhrzeit","visibility-cond":"==","visibility-val":1,"html_prepend":"(Stand : ","html_append":")"},"style":{"left":"130px","top":"66px","color":"black","text-align":"left","width":"250px","height":"20px","z-index":"20","font-family":"Arial, Helvetica, sans-serif","font-style":"normal","font-weight":"bold","font-size":"large"},"widgetSet":"basic"}]
                

                Am node-red-Flow für die Statusinfos habe ich noch was angepasst - die Uhrzeit der Statusabfrage wird nun auch in einen Datenpunkt geschrieben und im Widget mit angezeigt. So sieht man immer, wie alt der angezeigte Status ist.

                Hier der überarbeitete Flow "Roomba Status" (ist auch im Posting oben angepasst):

                [{"id":"a5a2adf.f5a5d5","type":"inject","name":"Full Status jede 1 Minute","topic":"","payload":"","payloadType":"date","repeat":"60","crontab":"","once":true,"x":180,"y":62,"z":"7859072e.87a6f8","wires":[["504181f6.afbe8","182e191.fe7d1e7"]]},{"id":"504181f6.afbe8","type":"http request","name":"Roomba command","method":"GET","ret":"txt","url":"http://192.168.178.55/full_status.xml","x":408,"y":63,"z":"7859072e.87a6f8","wires":[["b7123aff.48edc8","3050ead5.cfaf16","6c22b045.93dd5","c8c15059.373eb","205772fb.dfa88e","bee92f3c.4116d","f8aef704.075108","a899536.f5766b","666e081d.9991f8"]]},{"id":"b7123aff.48edc8","type":"function","name":"Name auswerten","func":"var quelle = msg.payload;\n\nmsg1 = {};\n\nsuche = \"<name>\";\nsuche_laenge = (suche && suche.length);\n\n//  Suchwort \"suche\" finden \n// var daten_startpos = quelle.indexOf('cleaning_distance');\nvar daten_startpos = quelle.indexOf(suche);\nvar daten = quelle.substr(daten_startpos + suche_laenge, 50);\n\n\n// Finde \"<\" und merke dir die Position. Schneide aus von 0 bis Position\nvar daten_endpos = daten.indexOf('<');\ndaten = daten.substring(0, daten_endpos);\nmsg1.payload = daten; // String\n\nreturn [msg1];","outputs":"1","noerr":0,"x":658,"y":63,"z":"7859072e.87a6f8","wires":[["5f503576.a0afcc"]]},{"id":"5f503576.a0afcc","type":"ioBroker out","name":"","topic":"node-red.0.Roomba.name","ack":"false","autoCreate":"true","x":990,"y":64,"z":"7859072e.87a6f8","wires":[]},{"id":"3050ead5.cfaf16","type":"function","name":"Strecke auswerten","func":"var quelle = msg.payload;\n\nmsg1 = {};\n\nsuche = \"<cleaning_distance>\";\nsuche_laenge = (suche && suche.length);\n\n//  Suchwort \"suche\" finden \n// var daten_startpos = quelle.indexOf('cleaning_distance');\nvar daten_startpos = quelle.indexOf(suche);\nvar daten = quelle.substr(daten_startpos + suche_laenge, 50);\n\n\n// Finde \"<\" und merke dir die Position. Schneide aus von 0 bis Position\nvar daten_endpos = daten.indexOf('<');\ndaten = daten.substring(0, daten_endpos);\nmsg1.payload = daten; // String\n\nreturn [msg1];","outputs":"1","noerr":0,"x":664,"y":133,"z":"7859072e.87a6f8","wires":[["b475f945.4b8a08"]]},{"id":"b475f945.4b8a08","type":"ioBroker out","name":"","topic":"node-red.0.Roomba.strecke","ack":"false","autoCreate":"true","x":996,"y":134,"z":"7859072e.87a6f8","wires":[]},{"id":"6c22b045.93dd5","type":"function","name":"Schmutzbehälter auswerten","func":"var quelle = msg.payload;\n\nmsg1 = {};\n\nsuche = \"<bin_status>\";\nsuche_laenge = (suche && suche.length);\n\n//  Suchwort \"suche\" finden \n// var daten_startpos = quelle.indexOf('cleaning_distance');\nvar daten_startpos = quelle.indexOf(suche);\nvar daten = quelle.substr(daten_startpos + suche_laenge, 50);\n\n\n// Finde \"<\" und merke dir die Position. Schneide aus von 0 bis Position\nvar daten_endpos = daten.indexOf('<');\ndaten = daten.substring(0, daten_endpos);\nmsg1.payload = daten; // String\n\nreturn [msg1];","outputs":"1","noerr":0,"x":693,"y":191,"z":"7859072e.87a6f8","wires":[["11db5550.ee24ab"]]},{"id":"11db5550.ee24ab","type":"ioBroker out","name":"","topic":"node-red.0.Roomba.schmutzbehaelter","ack":"false","autoCreate":"true","x":1029,"y":193,"z":"7859072e.87a6f8","wires":[]},{"id":"c8c15059.373eb","type":"function","name":"Akkuladung auswerten","func":"var quelle = msg.payload;\n\nmsg1 = {};\n\nsuche = \"<battery_charge>\";\nsuche_laenge = (suche && suche.length);\n\n//  Suchwort \"suche\" finden \n// var daten_startpos = quelle.indexOf('cleaning_distance');\nvar daten_startpos = quelle.indexOf(suche);\nvar daten = quelle.substr(daten_startpos + suche_laenge, 50);\n\n\n// Finde \"<\" und merke dir die Position. Schneide aus von 0 bis Position\nvar daten_endpos = daten.indexOf('<');\ndaten = daten.substring(0, daten_endpos);\nmsg1.payload = daten; // String\n\nreturn [msg1];","outputs":"1","noerr":0,"x":666,"y":259,"z":"7859072e.87a6f8","wires":[["8c8c5798.7373a8"]]},{"id":"8c8c5798.7373a8","type":"ioBroker out","name":"","topic":"node-red.0.Roomba.akkuladung","ack":"false","autoCreate":"true","x":1030,"y":260,"z":"7859072e.87a6f8","wires":[]},{"id":"205772fb.dfa88e","type":"function","name":"Akkukapazität (Soll) auswerten","func":"var quelle = msg.payload;\n\nmsg1 = {};\n\nsuche = \"<capacity>\";\nsuche_laenge = (suche && suche.length);\n\n//  Suchwort \"suche\" finden \n// var daten_startpos = quelle.indexOf('cleaning_distance');\nvar daten_startpos = quelle.indexOf(suche);\nvar daten = quelle.substr(daten_startpos + suche_laenge, 50);\n\n\n// Finde \"<\" und merke dir die Position. Schneide aus von 0 bis Position\nvar daten_endpos = daten.indexOf('<');\ndaten = daten.substring(0, daten_endpos);\nmsg1.payload = daten; // String\n\nreturn [msg1];","outputs":"1","noerr":0,"x":688,"y":319,"z":"7859072e.87a6f8","wires":[["5c1179c1.a3ee88"]]},{"id":"5c1179c1.a3ee88","type":"ioBroker out","name":"","topic":"node-red.0.Roomba.akkusoll","ack":"false","autoCreate":"true","x":1036,"y":319,"z":"7859072e.87a6f8","wires":[]},{"id":"bee92f3c.4116d","type":"function","name":"Akkukapazität (Ist) auswerten","func":"var quelle = msg.payload;\n\nmsg1 = {};\n\nsuche = \"<charge>\";\nsuche_laenge = (suche && suche.length);\n\n//  Suchwort \"suche\" finden \n// var daten_startpos = quelle.indexOf('cleaning_distance');\nvar daten_startpos = quelle.indexOf(suche);\nvar daten = quelle.substr(daten_startpos + suche_laenge, 50);\n\n\n// Finde \"<\" und merke dir die Position. Schneide aus von 0 bis Position\nvar daten_endpos = daten.indexOf('<');\ndaten = daten.substring(0, daten_endpos);\nmsg1.payload = daten; // String\n\nreturn [msg1];","outputs":"1","noerr":0,"x":690,"y":378,"z":"7859072e.87a6f8","wires":[["334dc150.ccb23e"]]},{"id":"334dc150.ccb23e","type":"ioBroker out","name":"","topic":"node-red.0.Roomba.akkuist","ack":"false","autoCreate":"true","x":1026,"y":380,"z":"7859072e.87a6f8","wires":[]},{"id":"f8aef704.075108","type":"function","name":"Temperatur auswerten","func":"var quelle = msg.payload;\n\nmsg1 = {};\n\nsuche = \"<temperature>\";\nsuche_laenge = (suche && suche.length);\n\n//  Suchwort \"suche\" finden \n// var daten_startpos = quelle.indexOf('cleaning_distance');\nvar daten_startpos = quelle.indexOf(suche);\nvar daten = quelle.substr(daten_startpos + suche_laenge, 50);\n\n\n// Finde \"<\" und merke dir die Position. Schneide aus von 0 bis Position\nvar daten_endpos = daten.indexOf('<');\ndaten = daten.substring(0, daten_endpos);\nmsg1.payload = daten; // String\n\nreturn [msg1];","outputs":"1","noerr":0,"x":692,"y":436,"z":"7859072e.87a6f8","wires":[["2712b369.d8ed4c"]]},{"id":"2712b369.d8ed4c","type":"ioBroker out","name":"","topic":"node-red.0.Roomba.temperatur","ack":"false","autoCreate":"true","x":1028,"y":438,"z":"7859072e.87a6f8","wires":[]},{"id":"a899536.f5766b","type":"function","name":"Status auswerten","func":"var quelle = msg.payload;\n\nmsg1 = {};\n\nsuche = \"<cleaner_state>\";\nsuche_laenge = (suche && suche.length);\n\n//  Suchwort \"suche\" finden \n// var daten_startpos = quelle.indexOf('cleaning_distance');\nvar daten_startpos = quelle.indexOf(suche);\nvar daten = quelle.substr(daten_startpos + suche_laenge, 50);\n\n\n// Finde \"<\" und merke dir die Position. Schneide aus von 0 bis Position\nvar daten_endpos = daten.indexOf('<');\ndaten = daten.substring(0, daten_endpos);\n\nif (daten == \"st_base\"){\n    daten = \"Auf Basis, nicht ladend\";\n}\n\nif (daten == \"st_base_recon\"){\n    daten = \"Auf Basis, Auffrischungsladung\";\n}\n\nif (daten == \"st_base_full\"){\n    daten = \"Auf Basis, normal aufladend\";\n}\n\nif (daten == \"st_base_trickle\"){\n    daten = \"Auf Basis, Erhaltungsladung\";\n}\n\nif (daten == \"st_base_wait\"){\n    daten = \"Auf Basis, wartend\";\n}\n\nif (daten == \"st_plug\"){\n    daten = \"Eingesteckt, nicht ladend\";\n}\n\nif (daten == \"st_plug_recon\"){\n    daten = \"Eingesteckt, Auffrischungsladung\";\n}\n\nif (daten == \"st_plug_full\"){\n    daten = \"Eingesteckt, normal aufladend\";\n}\n\nif (daten == \"st_plug_trickle\"){\n    daten = \"Eingesteckt, Erhaltungsladung\";\n}\n\nif (daten == \"st_plug_wait\"){\n    daten = \"Eingesteckt, wartend\";\n}\n\nif (daten == \"st_stopped\"){\n    daten = \"Angehalten\";\n}\n\nif (daten == \"st_clean\"){\n    daten = \"Reinigung läuft\";\n}\n\nif (daten == \"st_cleanstop\"){\n    daten = \"Reinigung gestoppt\";\n}\n\nif (daten == \"st_clean_spot\"){\n    daten = \"Spot-Reinigung\";\n}\n\nif (daten == \"st_clean_max\"){\n    daten = \"Max-Reinigung\";\n}\n\nif (daten == \"st_delayed\"){\n    daten = \"Reinigung verzögert, startet gleich\";\n}\n\nif (daten == \"st_dock\"){\n    daten = \"Suche Basis\";\n}\n\nif (daten == \"st_pickup\"){\n    daten = \"Roomba hochgehoben\";\n}\n\nif (daten == \"st_remote\"){\n    daten = \"Ferngesteuertes fahren\";\n}\n\nif (daten == \"st_wait\"){\n    daten = \"Warte auf Befehle\";\n}\n\nif (daten == \"st_off\"){\n    daten = \"Aus\";\n}\n\nif (daten == \"st_error\"){\n    daten = \"Fehler\";\n}\n\nif (daten == \"st_locate\"){\n    daten = \"Finde mich\";\n}\n\nif (daten == \"st_unknown\"){\n    daten = \"Status unbekannt\";\n}\n\n\nmsg1.payload = daten; // String\n\nreturn [msg1];","outputs":"1","noerr":0,"x":692,"y":497,"z":"7859072e.87a6f8","wires":[["f6e00de3.091ff"]]},{"id":"f6e00de3.091ff","type":"ioBroker out","name":"","topic":"node-red.0.Roomba.status","ack":"false","autoCreate":"true","x":1028,"y":499,"z":"7859072e.87a6f8","wires":[]},{"id":"666e081d.9991f8","type":"function","name":"Saugt gerade auswerten","func":"var quelle = msg.payload;\n\nmsg1 = {};\n\nsuche = \"<cleaning>\";\nsuche_laenge = (suche && suche.length);\n\n//  Suchwort \"suche\" finden \n// var daten_startpos = quelle.indexOf('cleaning_distance');\nvar daten_startpos = quelle.indexOf(suche);\nvar daten = quelle.substr(daten_startpos + suche_laenge, 50);\n\n// Finde \"<\" und merke dir die Position. Schneide aus von 0 bis Position\nvar daten_endpos = daten.indexOf('<');\ndaten = daten.substring(0, daten_endpos);\nmsg1.payload = daten; // String\n\nreturn [msg1];","outputs":"1","noerr":0,"x":706,"y":556,"z":"7859072e.87a6f8","wires":[["c7157fc8.38ea8"]]},{"id":"c7157fc8.38ea8","type":"ioBroker out","name":"","topic":"node-red.0.Roomba.saugt","ack":"false","autoCreate":"true","x":1042,"y":558,"z":"7859072e.87a6f8","wires":[]},{"id":"182e191.fe7d1e7","type":"function","name":"Status-Uhrzeit ermitteln","func":"msg = {};\n\n\nfunction addZero(i) {\n    if (i < 10) {\n        i = \"0\" + i;\n    }\n    return i;\n}\n\n\nvar currentdate = new Date(); \nvar h = addZero(currentdate.getHours());\nvar m = addZero(currentdate.getMinutes());\nvar s = addZero(currentdate.getSeconds());\n\n\nvar datetime = h + \":\" + m + \":\" + s;\n\nmsg.payload = datetime;\nreturn msg;\n","outputs":1,"noerr":0,"x":701,"y":631,"z":"7859072e.87a6f8","wires":[["57efa4f2.a8105c"]]},{"id":"57efa4f2.a8105c","type":"ioBroker out","name":"","topic":"node-red.0.Roomba.Statusuhrzeit","ack":"false","autoCreate":"true","x":1044,"y":636,"z":"7859072e.87a6f8","wires":[]}]</cleaning></cleaner_state></temperature></charge></capacity></battery_charge></bin_status></cleaning_distance></name>
                

                Viel Spaß damit 🙂

                Gruß,

                Eric

                smarthomegirl 1 Reply Last reply Reply Quote 0
                • Homoran
                  Homoran Global Moderator Administrators last edited by

                  Welche Roombas gehen denn per WLAN? und wo gibt's das WLAN-Modul?

                  Gruß

                  Rainer

                  1 Reply Last reply Reply Quote 0
                  • H
                    hometm last edited by

                    Such mal nach roowifi im Netz. Bestellt habe ich das Modul vor 3 Wochen, aber erhalten habe ich es noch nicht. Daher kann ich noch keine Aussage dazu machen.

                    Gesendet von meinem VT10416-2 mit Tapatalk

                    1 Reply Last reply Reply Quote 0
                    • eric2905
                      eric2905 last edited by

                      Hallo Rainer,

                      @Homoran:

                      Welche Roombas gehen denn per WLAN? und wo gibt's das WLAN-Modul? `
                      derzeit geht die 500/600er-Serie und für die 700/800er-Serie ist gerade auf Kickstarter wieder ein Projekt gestartet => Infos hier : http://www.thinkingcleaner.com

                      In Deutschland kannst Du das WLAN-Modul hier kaufen => http://www.homewizard.de/thinking-clean … 00-eu.html

                      Da habe ich meinen auch bestellt (ohne Versandkosten). Ging sehr zügig.

                      Gruß,

                      Eric

                      1 Reply Last reply Reply Quote 0
                      • T
                        tesso last edited by

                        Ich kann die flows nicht testen. Suche immer noch nach den verlorenen nodes in/out.

                        Noch fehlt mir die Idee für eine Lösung.

                        1 Reply Last reply Reply Quote 0
                        • eric2905
                          eric2905 last edited by

                          Moin,

                          hast Du den node-red-Adapter schon deinstalliert und neu installiert?

                          Gruß,

                          Eric

                          1 Reply Last reply Reply Quote 0
                          • derAuge
                            derAuge last edited by

                            Frage:

                            ist dieser Robi dafür brauchbar?

                            http://onlineshop.real.de/Saugroboter-R … 8947001001

                            oder

                            http://www.comtech.de/Markenshops/iRobo ... augroboter

                            Gruß

                            Jürgen

                            1 Reply Last reply Reply Quote 0
                            • H
                              hometm last edited by

                              Ich habe einen 870 und bin voll zufrieden.

                              Meiner Meinung nach sind die räumlichen Gegebenheiten viel wichtiger als das Modell.

                              Wenn z.B.

                              • Treppen vorhanden sind

                              • Gardinen bis auf den Boden reichen

                              • Kabel herum liegen

                              • Der sauger sich unter niedrigen Möbelstücken verklemmt

                              • Teppichfranzen

                              -…

                              Dann ist der Spass schnell vorbei. Daher sollte man sich so ein Gerät da bestellen, wo man es auch ohne Probleme zurück geben kann

                              Tobias

                              Gesendet von meinem VT10416-2 mit Tapatalk

                              1 Reply Last reply Reply Quote 0
                              • T
                                tesso last edited by

                                Cool, endlich ist der Roomba in der Haussteuerung.

                                1 Reply Last reply Reply Quote 0
                                • A
                                  Arminhh last edited by

                                  moin

                                  ich habe mir gerade eine Szene erstellt wenn der Staubbehälter voll ist, das ich eine Nachricht bekomme. Funktioniert auch soweit, ausser das nach dem leeren die Variable nicht zurückgesetzt wird. Hat der Staubbehälter einen Sensor? Wenn ja wo? Oder wie wird der Füllstand sonst ausgewertet?

                                  mfg

                                  Armin

                                  1 Reply Last reply Reply Quote 0
                                  • eric2905
                                    eric2905 last edited by

                                    Moin,

                                    eh, … bei mir wird die Variable (aus dem Flow) zurückgesetzt ... allerdings habe ich noch nie darauf geachtet, wann.

                                    Evtl. nach dem nächsten Clean-Start?

                                    Mal probieren.

                                    Ist die Verarbeitung über eine Szene einfacher, als über einen Flow?

                                    Ich habe mich noch nicht mit den Szenen befasst, daher meine Frage.

                                    Gruß,

                                    Eric

                                    1 Reply Last reply Reply Quote 0
                                    • smarthomegirl
                                      smarthomegirl @eric2905 last edited by smarthomegirl

                                      @eric2905 sagte in IRobot Roomba Steuerung:

                                      Am node-red-Flow für die Statusinfos habe ich noch was angepasst - die Uhrzeit der Statusabfrage wird nun auch in einen Datenpunkt geschrieben und im Widget mit angezeigt. So sieht man immer, wie alt der angezeigte Status ist.

                                      Hier der überarbeitete Flow "Roomba Status" (ist auch im Posting oben angepasst):

                                      [{"id":"a5a2adf.f5a5d5","type":"inject","name":"Full Status jede 1 Minute","topic":"","payload":"","payloadType":"date","repeat":"60","crontab":"","once":true,"x":180,"y":62,"z":"7859072e.87a6f8","wires":[["504181f6.afbe8","182e191.fe7d1e7"]]},{"id":"504181f6.afbe8","type":"http request","name":"Roomba command","method":"GET","ret":"txt","url":"http://192.168.178.55/full_status.xml","x":408,"y":63,"z":"7859072e.87a6f8","wires":[["b7123aff.48edc8","3050ead5.cfaf16","6c22b045.93dd5","c8c15059.373eb","205772fb.dfa88e","bee92f3c.4116d","f8aef704.075108","a899536.f5766b","666e081d.9991f8"]]},{"id":"b7123aff.48edc8","type":"function","name":"Name auswerten","func":"var quelle = msg.payload;\n\nmsg1 = {};\n\nsuche = \"<name>\";\nsuche_laenge = (suche && suche.length);\n\n//  Suchwort \"suche\" finden \n// var daten_startpos = quelle.indexOf('cleaning_distance');\nvar daten_startpos = quelle.indexOf(suche);\nvar daten = quelle.substr(daten_startpos + suche_laenge, 50);\n\n\n// Finde \"<\" und merke dir die Position. Schneide aus von 0 bis Position\nvar daten_endpos = daten.indexOf('<');\ndaten = daten.substring(0, daten_endpos);\nmsg1.payload = daten; // String\n\nreturn [msg1];","outputs":"1","noerr":0,"x":658,"y":63,"z":"7859072e.87a6f8","wires":[["5f503576.a0afcc"]]},{"id":"5f503576.a0afcc","type":"ioBroker out","name":"","topic":"node-red.0.Roomba.name","ack":"false","autoCreate":"true","x":990,"y":64,"z":"7859072e.87a6f8","wires":[]},{"id":"3050ead5.cfaf16","type":"function","name":"Strecke auswerten","func":"var quelle = msg.payload;\n\nmsg1 = {};\n\nsuche = \"<cleaning_distance>\";\nsuche_laenge = (suche && suche.length);\n\n//  Suchwort \"suche\" finden \n// var daten_startpos = quelle.indexOf('cleaning_distance');\nvar daten_startpos = quelle.indexOf(suche);\nvar daten = quelle.substr(daten_startpos + suche_laenge, 50);\n\n\n// Finde \"<\" und merke dir die Position. Schneide aus von 0 bis Position\nvar daten_endpos = daten.indexOf('<');\ndaten = daten.substring(0, daten_endpos);\nmsg1.payload = daten; // String\n\nreturn [msg1];","outputs":"1","noerr":0,"x":664,"y":133,"z":"7859072e.87a6f8","wires":[["b475f945.4b8a08"]]},{"id":"b475f945.4b8a08","type":"ioBroker out","name":"","topic":"node-red.0.Roomba.strecke","ack":"false","autoCreate":"true","x":996,"y":134,"z":"7859072e.87a6f8","wires":[]},{"id":"6c22b045.93dd5","type":"function","name":"Schmutzbehälter auswerten","func":"var quelle = msg.payload;\n\nmsg1 = {};\n\nsuche = \"<bin_status>\";\nsuche_laenge = (suche && suche.length);\n\n//  Suchwort \"suche\" finden \n// var daten_startpos = quelle.indexOf('cleaning_distance');\nvar daten_startpos = quelle.indexOf(suche);\nvar daten = quelle.substr(daten_startpos + suche_laenge, 50);\n\n\n// Finde \"<\" und merke dir die Position. Schneide aus von 0 bis Position\nvar daten_endpos = daten.indexOf('<');\ndaten = daten.substring(0, daten_endpos);\nmsg1.payload = daten; // String\n\nreturn [msg1];","outputs":"1","noerr":0,"x":693,"y":191,"z":"7859072e.87a6f8","wires":[["11db5550.ee24ab"]]},{"id":"11db5550.ee24ab","type":"ioBroker out","name":"","topic":"node-red.0.Roomba.schmutzbehaelter","ack":"false","autoCreate":"true","x":1029,"y":193,"z":"7859072e.87a6f8","wires":[]},{"id":"c8c15059.373eb","type":"function","name":"Akkuladung auswerten","func":"var quelle = msg.payload;\n\nmsg1 = {};\n\nsuche = \"<battery_charge>\";\nsuche_laenge = (suche && suche.length);\n\n//  Suchwort \"suche\" finden \n// var daten_startpos = quelle.indexOf('cleaning_distance');\nvar daten_startpos = quelle.indexOf(suche);\nvar daten = quelle.substr(daten_startpos + suche_laenge, 50);\n\n\n// Finde \"<\" und merke dir die Position. Schneide aus von 0 bis Position\nvar daten_endpos = daten.indexOf('<');\ndaten = daten.substring(0, daten_endpos);\nmsg1.payload = daten; // String\n\nreturn [msg1];","outputs":"1","noerr":0,"x":666,"y":259,"z":"7859072e.87a6f8","wires":[["8c8c5798.7373a8"]]},{"id":"8c8c5798.7373a8","type":"ioBroker out","name":"","topic":"node-red.0.Roomba.akkuladung","ack":"false","autoCreate":"true","x":1030,"y":260,"z":"7859072e.87a6f8","wires":[]},{"id":"205772fb.dfa88e","type":"function","name":"Akkukapazität (Soll) auswerten","func":"var quelle = msg.payload;\n\nmsg1 = {};\n\nsuche = \"<capacity>\";\nsuche_laenge = (suche && suche.length);\n\n//  Suchwort \"suche\" finden \n// var daten_startpos = quelle.indexOf('cleaning_distance');\nvar daten_startpos = quelle.indexOf(suche);\nvar daten = quelle.substr(daten_startpos + suche_laenge, 50);\n\n\n// Finde \"<\" und merke dir die Position. Schneide aus von 0 bis Position\nvar daten_endpos = daten.indexOf('<');\ndaten = daten.substring(0, daten_endpos);\nmsg1.payload = daten; // String\n\nreturn [msg1];","outputs":"1","noerr":0,"x":688,"y":319,"z":"7859072e.87a6f8","wires":[["5c1179c1.a3ee88"]]},{"id":"5c1179c1.a3ee88","type":"ioBroker out","name":"","topic":"node-red.0.Roomba.akkusoll","ack":"false","autoCreate":"true","x":1036,"y":319,"z":"7859072e.87a6f8","wires":[]},{"id":"bee92f3c.4116d","type":"function","name":"Akkukapazität (Ist) auswerten","func":"var quelle = msg.payload;\n\nmsg1 = {};\n\nsuche = \"<charge>\";\nsuche_laenge = (suche && suche.length);\n\n//  Suchwort \"suche\" finden \n// var daten_startpos = quelle.indexOf('cleaning_distance');\nvar daten_startpos = quelle.indexOf(suche);\nvar daten = quelle.substr(daten_startpos + suche_laenge, 50);\n\n\n// Finde \"<\" und merke dir die Position. Schneide aus von 0 bis Position\nvar daten_endpos = daten.indexOf('<');\ndaten = daten.substring(0, daten_endpos);\nmsg1.payload = daten; // String\n\nreturn [msg1];","outputs":"1","noerr":0,"x":690,"y":378,"z":"7859072e.87a6f8","wires":[["334dc150.ccb23e"]]},{"id":"334dc150.ccb23e","type":"ioBroker out","name":"","topic":"node-red.0.Roomba.akkuist","ack":"false","autoCreate":"true","x":1026,"y":380,"z":"7859072e.87a6f8","wires":[]},{"id":"f8aef704.075108","type":"function","name":"Temperatur auswerten","func":"var quelle = msg.payload;\n\nmsg1 = {};\n\nsuche = \"<temperature>\";\nsuche_laenge = (suche && suche.length);\n\n//  Suchwort \"suche\" finden \n// var daten_startpos = quelle.indexOf('cleaning_distance');\nvar daten_startpos = quelle.indexOf(suche);\nvar daten = quelle.substr(daten_startpos + suche_laenge, 50);\n\n\n// Finde \"<\" und merke dir die Position. Schneide aus von 0 bis Position\nvar daten_endpos = daten.indexOf('<');\ndaten = daten.substring(0, daten_endpos);\nmsg1.payload = daten; // String\n\nreturn [msg1];","outputs":"1","noerr":0,"x":692,"y":436,"z":"7859072e.87a6f8","wires":[["2712b369.d8ed4c"]]},{"id":"2712b369.d8ed4c","type":"ioBroker out","name":"","topic":"node-red.0.Roomba.temperatur","ack":"false","autoCreate":"true","x":1028,"y":438,"z":"7859072e.87a6f8","wires":[]},{"id":"a899536.f5766b","type":"function","name":"Status auswerten","func":"var quelle = msg.payload;\n\nmsg1 = {};\n\nsuche = \"<cleaner_state>\";\nsuche_laenge = (suche && suche.length);\n\n//  Suchwort \"suche\" finden \n// var daten_startpos = quelle.indexOf('cleaning_distance');\nvar daten_startpos = quelle.indexOf(suche);\nvar daten = quelle.substr(daten_startpos + suche_laenge, 50);\n\n\n// Finde \"<\" und merke dir die Position. Schneide aus von 0 bis Position\nvar daten_endpos = daten.indexOf('<');\ndaten = daten.substring(0, daten_endpos);\n\nif (daten == \"st_base\"){\n    daten = \"Auf Basis, nicht ladend\";\n}\n\nif (daten == \"st_base_recon\"){\n    daten = \"Auf Basis, Auffrischungsladung\";\n}\n\nif (daten == \"st_base_full\"){\n    daten = \"Auf Basis, normal aufladend\";\n}\n\nif (daten == \"st_base_trickle\"){\n    daten = \"Auf Basis, Erhaltungsladung\";\n}\n\nif (daten == \"st_base_wait\"){\n    daten = \"Auf Basis, wartend\";\n}\n\nif (daten == \"st_plug\"){\n    daten = \"Eingesteckt, nicht ladend\";\n}\n\nif (daten == \"st_plug_recon\"){\n    daten = \"Eingesteckt, Auffrischungsladung\";\n}\n\nif (daten == \"st_plug_full\"){\n    daten = \"Eingesteckt, normal aufladend\";\n}\n\nif (daten == \"st_plug_trickle\"){\n    daten = \"Eingesteckt, Erhaltungsladung\";\n}\n\nif (daten == \"st_plug_wait\"){\n    daten = \"Eingesteckt, wartend\";\n}\n\nif (daten == \"st_stopped\"){\n    daten = \"Angehalten\";\n}\n\nif (daten == \"st_clean\"){\n    daten = \"Reinigung läuft\";\n}\n\nif (daten == \"st_cleanstop\"){\n    daten = \"Reinigung gestoppt\";\n}\n\nif (daten == \"st_clean_spot\"){\n    daten = \"Spot-Reinigung\";\n}\n\nif (daten == \"st_clean_max\"){\n    daten = \"Max-Reinigung\";\n}\n\nif (daten == \"st_delayed\"){\n    daten = \"Reinigung verzögert, startet gleich\";\n}\n\nif (daten == \"st_dock\"){\n    daten = \"Suche Basis\";\n}\n\nif (daten == \"st_pickup\"){\n    daten = \"Roomba hochgehoben\";\n}\n\nif (daten == \"st_remote\"){\n    daten = \"Ferngesteuertes fahren\";\n}\n\nif (daten == \"st_wait\"){\n    daten = \"Warte auf Befehle\";\n}\n\nif (daten == \"st_off\"){\n    daten = \"Aus\";\n}\n\nif (daten == \"st_error\"){\n    daten = \"Fehler\";\n}\n\nif (daten == \"st_locate\"){\n    daten = \"Finde mich\";\n}\n\nif (daten == \"st_unknown\"){\n    daten = \"Status unbekannt\";\n}\n\n\nmsg1.payload = daten; // String\n\nreturn [msg1];","outputs":"1","noerr":0,"x":692,"y":497,"z":"7859072e.87a6f8","wires":[["f6e00de3.091ff"]]},{"id":"f6e00de3.091ff","type":"ioBroker out","name":"","topic":"node-red.0.Roomba.status","ack":"false","autoCreate":"true","x":1028,"y":499,"z":"7859072e.87a6f8","wires":[]},{"id":"666e081d.9991f8","type":"function","name":"Saugt gerade auswerten","func":"var quelle = msg.payload;\n\nmsg1 = {};\n\nsuche = \"<cleaning>\";\nsuche_laenge = (suche && suche.length);\n\n//  Suchwort \"suche\" finden \n// var daten_startpos = quelle.indexOf('cleaning_distance');\nvar daten_startpos = quelle.indexOf(suche);\nvar daten = quelle.substr(daten_startpos + suche_laenge, 50);\n\n// Finde \"<\" und merke dir die Position. Schneide aus von 0 bis Position\nvar daten_endpos = daten.indexOf('<');\ndaten = daten.substring(0, daten_endpos);\nmsg1.payload = daten; // String\n\nreturn [msg1];","outputs":"1","noerr":0,"x":706,"y":556,"z":"7859072e.87a6f8","wires":[["c7157fc8.38ea8"]]},{"id":"c7157fc8.38ea8","type":"ioBroker out","name":"","topic":"node-red.0.Roomba.saugt","ack":"false","autoCreate":"true","x":1042,"y":558,"z":"7859072e.87a6f8","wires":[]},{"id":"182e191.fe7d1e7","type":"function","name":"Status-Uhrzeit ermitteln","func":"msg = {};\n\n\nfunction addZero(i) {\n    if (i < 10) {\n        i = \"0\" + i;\n    }\n    return i;\n}\n\n\nvar currentdate = new Date(); \nvar h = addZero(currentdate.getHours());\nvar m = addZero(currentdate.getMinutes());\nvar s = addZero(currentdate.getSeconds());\n\n\nvar datetime = h + \":\" + m + \":\" + s;\n\nmsg.payload = datetime;\nreturn msg;\n","outputs":1,"noerr":0,"x":701,"y":631,"z":"7859072e.87a6f8","wires":[["57efa4f2.a8105c"]]},{"id":"57efa4f2.a8105c","type":"ioBroker out","name":"","topic":"node-red.0.Roomba.Statusuhrzeit","ack":"false","autoCreate":"true","x":1044,"y":636,"z":"7859072e.87a6f8","wires":[]}]</cleaning></cleaner_state></temperature></charge></capacity></battery_charge></bin_status></cleaning_distance></name>
                                      

                                      Viel Spaß damit 🙂

                                      Gruß,

                                      Eric

                                      Hallo @eric2905,
                                      beim Importieren des Roomba Status Flows in NodeRed kommt bei mir folgende Fehlermeldung:
                                      479f8357-59e7-432e-b560-48b3598a1392-image.png

                                      Was mache ich da falsch? Wo liegt der Fehler?

                                      EDIT:
                                      Es darf

                                      </cleaning></cleaner_state></temperature></charge></capacity></battery_charge></bin_status></cleaning_distance></name>
                                      

                                      nicht enthalten sein.

                                      Ein Problem habe ich aber trotzdem noch.
                                      Ich habe wie beschrieben unter "Roomba command" meine IP Adresse des Saugroboters eingetragen, aber nach dem Deployen bekommt Node Red keine Verbindung. (siehe Bild) So wie es aussieht ist diese Verbindung nicht möglich.

                                      b071a54d-df05-4b8e-acfc-dd74115bef9f-image.png

                                      Der Aufruf dieses Links http://192.168.178.253/full_status.xml ist nicht möglich.

                                      d5db8c82-88f5-47ce-a043-5aeab60e4d13-image.png

                                      Im Log steht folgende Fehlermeldung:

                                      node-red.0	2020-02-22 21:45:41.561	error	at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1107:14)
                                      node-red.0	2020-02-22 21:45:41.561	error	(2903) 22 Feb 21:45:41 - [error] [http request:Roomba command] Error: connect ECONNREFUSED 192.168.178.253:80
                                      node-red.0	2020-02-22 21:44:41.552	error	at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1107:14)
                                      node-red.0	2020-02-22 21:44:41.552	error	(2903) 22 Feb 21:44:41 - [error] [http request:Roomba command] Error: connect ECONNREFUSED 192.168.178.253:80
                                      node-red.0	2020-02-22 21:43:41.581	error	at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1107:14)
                                      node-red.0	2020-02-22 21:43:41.581	error	(2903) 22 Feb 21:43:41 - [error] [http request:Roomba command] Error: connect ECONNREFUSED 192.168.178.253:80
                                      node-red.0	2020-02-22 21:42:41.561	error	at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1107:14)
                                      node-red.0	2020-02-22 21:42:41.561	error	(2903) 22 Feb 21:42:41 - [error] [http request:Roomba command] Error: connect ECONNREFUSED 192.168.178.253:80
                                      node-red.0	2020-02-22 21:41:41.576	error	at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1107:14)
                                      node-red.0	2020-02-22 21:41:41.576	error	(2903) 22 Feb 21:41:41 - [error] [http request:Roomba command] Error: connect ECONNREFUSED 192.168.178.253:80
                                      node-red.0	2020-02-22 21:41:12.308	error	at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1107:14)
                                      node-red.0	2020-02-22 21:41:12.308	error	(2903) 22 Feb 21:41:12 - [error] [http request:Roomba command] Error: connect ECONNREFUSED 192.168.178.253:80
                                      node-red.0	2020-02-22 21:41:12.138	error	at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1107:14)
                                      node-red.0	2020-02-22 21:41:12.138	error	(2903) 22 Feb 21:41:12 - [error] [http request:Roomba command] Error: connect ECONNREFUSED 192.168.178.253:80
                                      node-red.0	2020-02-22 21:40:12.307	error	at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1107:14)
                                      node-red.0	2020-02-22 21:40:12.307	error	(2903) 22 Feb 21:40:12 - [error] [http request:Roomba command] Error: connect ECONNREFUSED 192.168.178.253:80
                                      node-red.0	2020-02-22 21:40:12.160	error	at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1107:14)
                                      node-red.0	2020-02-22 21:40:12.160	error	(2903) 22 Feb 21:40:12 - [error] [http request:Roomba command] Error: connect ECONNREFUSED 192.168.178.253:80
                                      node-red.0	2020-02-22 21:39:12.353	error	at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1107:14)
                                      node-red.0	2020-02-22 21:39:12.353	error	(2903) 22 Feb 21:39:12 - [error] [http request:Roomba command] Error: connect ECONNREFUSED 192.168.178.253:80
                                      node-red.0	2020-02-22 21:39:12.324	error	at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1107:14)
                                      node-red.0	2020-02-22 21:39:12.324	error	(2903) 22 Feb 21:39:12 - [error] [http request:Roomba command] Error: connect ECONNREFUSED 192.168.178.253:80
                                      

                                      Was ist da falsch? Was muss ich da machen?

                                      1 Reply Last reply Reply Quote 0
                                      • First post
                                        Last post

                                      Support us

                                      ioBroker
                                      Community Adapters
                                      Donate

                                      878
                                      Online

                                      31.8k
                                      Users

                                      80.0k
                                      Topics

                                      1.3m
                                      Posts

                                      7
                                      19
                                      4033
                                      Loading More Posts
                                      • Oldest to Newest
                                      • Newest to Oldest
                                      • Most Votes
                                      Reply
                                      • Reply as topic
                                      Log in to reply
                                      Community
                                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                      The ioBroker Community 2014-2023
                                      logo