IRobot Roomba mit Roowifi steuern

Begonnen von 2P4u, 06 Januar 2014, 20:33:59

Vorheriges Thema - Nächstes Thema

2P4u

Hey Christian,
shit, darum habe ich meinen in den Roomba eingebaut.
Bei 770 ist hinten rechts neben dem Stromstecker genug Platz.
Einfach Kabel angelötet und diese dann direkt auf die Platine gelötet.
Er hat super Empfang und ihm kann so nichts mehr passieren.

Hast den Roowifi noch? Hat es Bauteile abgerissen? Ich kann dir den auch gerne wieder richten!

Aktuell habe ich noch folgendes Problem aber ich komm nicht auf die Lösung.
Der Roomba soll nur unter dem Schrank vorfahren um ihn zu leeren.
Roombaleeren:start {
fhem("set wz_Roomba on");;
fhem("define RooWach at +00:00:01 {GetFileFromURL("http://192.168.178.45/rwr.cgi?exec=h")}");;
fhem("define RooBack at +00:00:03 {GetFileFromURL("http://192.168.178.45/rwr.cgi?exec=l")}");;
fhem("define RooStop at +00:00:06 {GetFileFromURL("http://192.168.178.45/rwr.cgi?exec=l")}");;
}


Leider motzt fhem an der Stelle:
2015.05.29 09:55:56 1: PERL WARNING: Bareword found where operator expected at (eval 10307) line 3, near ""define RooBack at +00:00:03 {GetFileFromURL("http"
2015.05.29 09:55:56 3: eval: {{GetFileFromURL("http://192.168.178.45/rwr.cgi?exec=h")};
fhem("set wz_Roomba on");
fhem("define RooBack at +00:00:03 {GetFileFromURL("http://192.168.178.45/rwr.cgi?exec=l")};");}
2015.05.29 09:55:56 1: PERL WARNING: String found where operator expected at (eval 10307) line 3, near "l")};""
2015.05.29 09:55:56 3: eval: {{GetFileFromURL("http://192.168.178.45/rwr.cgi?exec=h")};
fhem("set wz_Roomba on");
fhem("define RooBack at +00:00:03 {GetFileFromURL("http://192.168.178.45/rwr.cgi?exec=l")};");}
2015.05.29 09:55:56 3: Roombaleer2 return value: syntax error at (eval 10307) line 3, near ""define RooBack at +00:00:03 {GetFileFromURL("http"
Unknown regexp modifier "/1" at (eval 10307) line 3, at end of line
Unknown regexp modifier "/9" at (eval 10307) line 3, at end of line
Unknown regexp modifier "/2" at (eval 10307) line 3, at end of line


Ich seh aktuell nicht, wo ich hier ein Zeichenproblem habe.
wenn ich die so eingebe:
define RooBack at +00:00:03 {GetFileFromURL("http://192.168.178.45/rwr.cgi?exec=l")}
laufen die, aber eben in dem Noti hab ich irgendwo n Bock.

Vielleicht sieht es ja jem von euch?

Danke für eure Hilfe

Daniel
1x Ubuntu Server
1x LaCrosse Gateway für PCA301 /1x HMLAN /1x HMLGW
2x HueBridge mit Devices/ 1x Logitech Harmony Ultimate

stoxx

Hi,

probiere doch mal Hochkomma statt Anführungszeichen innerhalb des GetFileFromURL-Befehls.
z.B.

fhem("define RooWach at +00:00:01 {GetFileFromURL('http://192.168.178.45/rwr.cgi?exec=h')}");

Grüße
stoxx
Raspberry mit CUL, FS20, FHT, HMS, BLE, Z-Wave, Zigbee ..

2P4u

Danke stoxx!

So klappts:
Roombaleeren:start {
     fhem("set wz_Roomba on");;
     fhem("define RooWach at +00:00:01 {GetFileFromURL('http://192.168.178.45/rwr.cgi?exec=h')}");;
     fhem("define RooBack at +00:00:03 {GetFileFromURL('http://192.168.178.45/rwr.cgi?exec=l')}");;
     fhem("define RooStop at +00:00:06 {GetFileFromURL('http://192.168.178.45/rwr.cgi?exec=l')}");;
}
1x Ubuntu Server
1x LaCrosse Gateway für PCA301 /1x HMLAN /1x HMLGW
2x HueBridge mit Devices/ 1x Logitech Harmony Ultimate

2P4u

Hey Leute.
Ich hab ne Frage. Ich habe den Roomba mit meinem Google Kalender verknüpft. So kann ich die Termine des putzens super steuern.
Jetzt möchte ich, dass er nur dann losfährt wenn niemand zuhause ist.

Es soll so sein:
Kalender sagt Roomba start.
Es ist aber noch jemand anwesend, also wir der Startbefehl nochmal um 30 min verschoben.
Er soll den Startbefehl 5mal verschieben, wenn bis dahin niemand das haus verlassen hat, soll er den Startbefehl ignorieren.

Hat jemand von euch ne Idee wie ich das lösen könnte?
Mit dem verschieben komme ich nicht ganz klar.

Danke und lieben Gruss
Daniel
1x Ubuntu Server
1x LaCrosse Gateway für PCA301 /1x HMLAN /1x HMLGW
2x HueBridge mit Devices/ 1x Logitech Harmony Ultimate

2P4u

Ich habe den Titel mal eben umbenannt. So kann man das Thema einfacher finden.
1x Ubuntu Server
1x LaCrosse Gateway für PCA301 /1x HMLAN /1x HMLGW
2x HueBridge mit Devices/ 1x Logitech Harmony Ultimate

2P4u

Ich hab mal was gebastelt, aber wie verschiebe ich den Termin 5 mal?

define RoombaStartCal Notify RoombaCal:modeStarted.*googlecom.* {
  if (ReadingsVal("DaniHandy", "state", "undef") eq "absent") {
    fhem ("set roombabef start");
    fhem ("set WhatsApp send 491xxxxxxxxxx Roomba gestartet");
  }
  else {
    fhem ("define Roomba_spaeter at +00:30:00 set roombabef start");
fhem ("set WhatsApp send 491xxxxxxxxxx Roomba Start verschoben");
  }
}
1x Ubuntu Server
1x LaCrosse Gateway für PCA301 /1x HMLAN /1x HMLGW
2x HueBridge mit Devices/ 1x Logitech Harmony Ultimate

franky08

Hallo, ich hole den Thread mal aus der Versenkung  :)
Heute ist nun auch mein RooWifi Teil gekommen und funktioniert auch. Leider habe ich immer noch das Problem, dass der Roomba nach ca. 10min einschläft, habt ihr das irgendwie gelöst bekommen?

VG
Frank
Debian Bookworm auf HUNSN / Debian Bullseye auf 2.ter HUNSN F2F an 2x RaspiB
mit FHEM aktuell
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu, raspmatic_rpi3, HMIP-HCU1

daduke

Hi Frank,

wie weiter oben erwähnt kann ich den Roomba über

http://<Roowifi-IP>/rwr.cgi?exec=1

mittels DD-Pin aus dem Schlafen aufwecken.

Gruß,
-Christian
fhem auf pcengines apu, Philips Hue, MAX!, div. HomeMatic, Spark Core, panstamp, div. eigene Hardware

franky08

Ahh, danke, hatte ich sicher überlesen. Das werde ich heute mal testen.

VG
Frank
Debian Bookworm auf HUNSN / Debian Bullseye auf 2.ter HUNSN F2F an 2x RaspiB
mit FHEM aktuell
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu, raspmatic_rpi3, HMIP-HCU1

Erby

Hallo zusammen,

ich habe seit gestern Abend das RooWifi Modul. Es wurde in Betrieb genommen und läuft soweit. Die dazugehörigen Apps sind aber wenig ausgereift finde ich.

Nach dem Durchlesen sämtlicher Foren bin ich immer nur auf einzelne Codeschnipsel, Anregungen und Ideen gestoßen.

Hat jemand eine kompletten Code für die wesentlichen Funktionen für mein Fhem den ich nutzen kann?

Vielen Dank !!

franky08

Da sitz ich auch gerade dran  ;)

VG
Frank
Debian Bookworm auf HUNSN / Debian Bullseye auf 2.ter HUNSN F2F an 2x RaspiB
mit FHEM aktuell
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu, raspmatic_rpi3, HMIP-HCU1

Erby

Dann will ich nicht länger stören und freue mich auf das Ergebnis :-)

Krokofant

Würdest Du dafür vielleicht auch einen Wiki-Artikel schreiben?
Dabei helfe ich gern mit, habe aber (noch?) keinen Roomba und kann deswegen nur bei Wiki-Syntax etc. Hilfestellung geben.

LG, Markus

franky08

#58
Irgendwie fehlt in HTTPMOD das Reading 'State' im buffer?
ZitatHTTP/1.1 200 OK Connection: close Content-Type: text/xml Cache-Control: no-cache <response> <r0><name>'Bumps Wheeldrops'</name><value>0</value></r0> <r1><name>'Wall'</name><value>0</value></r1> <r2><name>'Cliff Left'</name><value>0</value></r2> <r3><name>'Cliff Front Left'</name><value>0</value></r3> <r4><name>'Cliff Front Right'</name><value>0</value></r4> <r5><name>'Cliff Right'</name><value>0</value></r5> <r6><name>'Virtual Wall'</name><value>0</value></r6> <r7><name>'Motor Overcurrents'</name><value>0</value></r7> <r8><name>'Dirt Detector - Left'</name><value>0</value></r8> <r9><name>'Dirt Detector - Right'</name><value>0</value></r9> <r10><name>'Remote Opcode'</name><value>0</value></r10> <r11><name>'Buttons'</name><value>0</value></r11> <r12><name>'Distance'</name><value>0</value></r12> <r13><name>'Angle'</name><value>0</value></r13> <r14><name>'Charging State'</name><value>0</value></r14> <r15><name>'Voltage'</name><value>16003</value></r15> <r16><name>'Current'</name><value>-227</value></r16> <r17><name>'Temperature'</name><value>31</value></r17> <r18><name>'Charge'</name><value>2594</value></r18> <r19><name>'Capacity'</name><value>2696</value></r19> </response>

Aus dem Grund komm ich jetzt irgendwie nicht weiter, da für die Auswertung ChState gebraucht wird. Habe mich größtenteils an das Coding von stoxx in Antwort #24 gehalten. kann mich jemand erhellen?

Hier noch ein list vom HTTMOD:
Internals:
   BUSY       0
   DEF        http://192.168.2.226/roomba.xml 180
   Interval   180
   LASTSEND   1458747634.89924
   MainURL    http://192.168.2.226/roomba.xml
   NAME       RoombaStat
   NR         1927
   STATE      ???
   TRIGGERTIME 1458747814.89752
   TRIGGERTIME_FMT 2016-03-23 16:43:34
   TYPE       HTTPMOD
   addr       http://192.168.2.226:80
   buf        HTTP/1.1 200 OK

Connection: close

Content-Type: text/xml

Cache-Control: no-cache



<response>

<r0><name>'Bumps Wheeldrops'</name><value>0</value></r0>

<r1><name>'Wall'</name><value>0</value></r1>

<r2><name>'Cliff Left'</name><value>1</value></r2>

<r3><name>'Cliff Front Left'</name><value>1</value></r3>

<r4><name>'Cliff Front Right'</name><value>1</value></r4>

<r5><name>'Cliff Right'</name><value>1</value></r5>

<r6><name>'Virtual Wall'</name><value>0</value></r6>

<r7><name>'Motor Overcurrents'</name><value>0</value></r7>

<r8><name>'Dirt Detector - Left'</name><value>0</value></r8>

<r9><name>'Dirt Detector - Right'</name><value>0</value></r9>

<r10><name>'Remote Opcode'</name><value>168</value></r10>

<r11><name>'Buttons'</name><value>0</value></r11>

<r12><name>'Distance'</name><value>0</value></r12>

<r13><name>'Angle'</name><value>1</value></r13>

<r14><name>'Charging State'</name><value>0</value></r14>

<r15><name>'Voltage'</name><value>15530</value></r15>

<r16><name>'Current'</name><value>-94</value></r16>

<r17><name>'Temperature'</name><value>41</value></r17>

<r18><name>'Charge'</name><value>2473</value></r18>

<r19><name>'Capacity'</name><value>2696</value></r19>

</response>
   code       200
   conn
   data
   displayurl http://192.168.2.226/roomba.xml
   header
   host       192.168.2.226
   httpheader HTTP/1.1 200 OK

Connection: close

Content-Type: text/xml

Cache-Control: no-cache
   httpversion 1.0
   hu_blocking 0
   hu_filecount 11
   ignoreredirects 0
   loglevel   4
   path       /roomba.xml
   protocol   http
   redirects  0
   timeout    2
   url        http://192.168.2.226/roomba.xml
   value      0
   Helper:
     Dblog:
       Current:
         Mydblog:
           TIME       1458747635.13073
           VALUE      -94
       Distance:
         Mydblog:
           TIME       1458747635.13073
           VALUE      0
   QUEUE:
   Readings:
     2016-03-23 16:05:29   ChState         0
     2016-03-23 16:40:35   Current         -94
     2016-03-23 16:40:35   Distance        0
   Request:
     data
     header
     ignoreredirects 0
     retryCount 0
     type       update
     url        http://192.168.2.226/roomba.xml
     value      0
   Defptr:
     Readingbase:
       ChState    reading
       Current    reading
       Distance   reading
     Readingnum:
       ChState    02
       Current    01
       Distance   03
     Readingoutdated:
     Readingsubnum:
       Current
       Distance
   Helper:
     Bm:
       Httpmod_attr:
         cnt        9
         dmx        0
         max        2
         tot        16
         mAr:
           set
           RoombaStat
           userattr
           reading01Name reading01Regex reading02Name reading02Regex reading03Name reading03Regex
       Httpmod_define:
         cnt        1
         dmx        0
         mAr
         max        0
         tot        0
       Httpmod_get:
         cnt        3
         dmx        0
         mAr
         max        0
         tot        0
       Httpmod_set:
         cnt        34
         dmx        0
         mAr
         max        0
         tot        0
   Sslargs:
Attributes:
   enableControlSet 1
   reading01Name Current
   reading01Regex 'Current'</name><value>([\D]?[\d]+)
   reading02Name ChState
   reading02Regex 'State'</name><value>([\d])
   reading03Name Distance
   reading03Regex 'Distance'</name><value>([\D]?[\d]+)
   room       Unsorted
   userattr   reading01Name reading01Regex reading02Name reading02Regex reading03Name reading03Regex


VG
Frank
Debian Bookworm auf HUNSN / Debian Bullseye auf 2.ter HUNSN F2F an 2x RaspiB
mit FHEM aktuell
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu, raspmatic_rpi3, HMIP-HCU1

stoxx

Hi franky08,

hast Du die Readings im HTTPMOD gesetzt? Da ist doch die definition von ChState:

attr RoombaStat readingsName3 ChState

Oder habe ich Dein Problem nicht richtig verstanden?

Grüße
stoxx
Raspberry mit CUL, FS20, FHT, HMS, BLE, Z-Wave, Zigbee ..