Neues Modul: BOTVAC (für Neato BotVac Connected)

Begonnen von vuffiraa, 02 April 2016, 22:12:29

Vorheriges Thema - Nächstes Thema

Timmäää

Hi VuffiRaa,

danke für die Rückmeldung, das hört sich gut an.

Danke dir,
Tim

HausHH


abc2006

Gude,

ich hab (mal wieder) Probleme mit der Konnektivität.
Befehle wie findMe werden mit viel Verzögerung ausgeführt, startCleaning funktioniert gar nicht. Das bedeutet im einzelnen:
- ich drücke StartCleaning in der App
- der Befehl stopCleaning wird verfügbar
- es passiert sonst nichts, der Sauger fährt nicht los.
- Wenn ich manuell etwas ändere (z.b. den Sauger in die Station stelle), dann bekomme ich wohl updates (z.B. der Readings batteryPercent und batteryTimeToFullCharge.

Zur Fehlersuche hätte ich jetzt ein paar Fragen:
a) In den Logs habe ich sehr oft "Die Wartezeit für die Verbindung ist abgelaufen" stehen. Ist das normal? Für mein Gefühl kommt die Meldung sehr oft ...

b) in den logs stehen links, wie zb "https://nucleo.neatocloud.com:4443/vendors/neato/robots/OPS18718-74E182986D21/messages ({"reqId":"0","cmd":"getGeneralInfo"})".
Wenn ich das ganze in den Browser kopiere, erhalte ich die Antwort
"{"message":"Route not found"}".
Ist das normal, oder sollte da auch über den Browser eine sinnvolle Antwort kommen?

neueste Version des Modules hab ich installiert.
Hier noch ein stück log:

Date: Sun, 27 Jan 2019 20:52:14 GMT
Authorization: NEATOAPP 1cf75ced36da8bc0dae94d6f0569a522850e2ecc58a78f2c87e64dd37fb7fc26
2019.01.27 21:52:29.946 5: BOTVAC NEATO2: called function GetStatus()
2019.01.27 21:52:29.948 4: BOTVAC NEATO2: Read password from file
2019.01.27 21:52:29.949 5: BOTVAC NEATO2: called function SendCommand()
2019.01.27 21:52:29.949 4: BOTVAC NEATO2: REQ messages/getRobotState
2019.01.27 21:52:29.949 4: BOTVAC NEATO2: REQ successors 0: messages,getSchedule 1: messages,getGeneralInfo
2019.01.27 21:52:29.949 5: BOTVAC NEATO2: POST https://nucleo.neatocloud.com:4443/vendors/neato/robots/OPS18718-74E182986D21/messages ({"reqId":"0","cmd":"getRobotState"})
2019.01.27 21:52:29.950 5: BOTVAC NEATO2: header Accept: application/vnd.neato.nucleo.v1
Content-Type: application/json
Date: Sun, 27 Jan 2019 20:52:29 GMT
Authorization: NEATOAPP 54baf4b90deba6ae9c157a92078b5e3c3d31d986cdcb706b348a7213822fb94a
2019.01.27 21:52:36.961 5: BOTVAC NEATO2: called function ReceiveCommand() rc: HASH(0xd728010) err: nucleo.neatocloud.com: Die Wartezeit f<FC>r die Verbindung ist abgelaufen data: 
2019.01.27 21:52:36.961 4: BOTVAC NEATO2:messages/getRobotState RCV nucleo.neatocloud.com: Die Wartezeit f<FC>r die Verbindung ist abgelaufen
2019.01.27 21:52:36.962 4: BOTVAC NEATO2: Read password from file
2019.01.27 21:52:36.963 5: BOTVAC NEATO2: called function SendCommand()
2019.01.27 21:52:36.964 4: BOTVAC NEATO2: REQ messages/getSchedule
2019.01.27 21:52:36.964 4: BOTVAC NEATO2: REQ successors 0: messages,getGeneralInfo
2019.01.27 21:52:36.964 5: BOTVAC NEATO2: POST https://nucleo.neatocloud.com:4443/vendors/neato/robots/OPS18718-74E182986D21/messages ({"reqId":"0","cmd":"getScheduleEvents"})
2019.01.27 21:52:36.964 5: BOTVAC NEATO2: header Accept: application/vnd.neato.nucleo.v1
Content-Type: application/json
Date: Sun, 27 Jan 2019 20:52:36 GMT
Authorization: NEATOAPP b7fd4a77ff2364f8d379411779452704d937aebb9a8bd946b68a96b84aee1602
2019.01.27 21:52:44.162 5: BOTVAC NEATO2: called function ReceiveCommand() rc: HASH(0xc6d19c8) err: nucleo.neatocloud.com: Die Wartezeit f<FC>r die Verbindung ist abgelaufen data: 
2019.01.27 21:52:44.162 4: BOTVAC NEATO2:messages/getScheduleEvents RCV nucleo.neatocloud.com: Die Wartezeit f<FC>r die Verbindung ist abgelaufen
2019.01.27 21:52:44.163 4: BOTVAC NEATO2: Read password from file
2019.01.27 21:52:44.164 5: BOTVAC NEATO2: called function SendCommand()
2019.01.27 21:52:44.165 4: BOTVAC NEATO2: REQ messages/getGeneralInfo
2019.01.27 21:52:44.165 4: BOTVAC NEATO2: REQ successors
2019.01.27 21:52:44.165 5: BOTVAC NEATO2: POST https://nucleo.neatocloud.com:4443/vendors/neato/robots/OPS18718-74E182986D21/messages ({"reqId":"0","cmd":"getGeneralInfo"})
2019.01.27 21:52:44.165 5: BOTVAC NEATO2: header Accept: application/vnd.neato.nucleo.v1
Content-Type: application/json
Date: Sun, 27 Jan 2019 20:52:44 GMT
Authorization: NEATOAPP fc728f5bdcd9004b60b3bd1dbe9eb940aa1a34f85c445811478b7804cf662154
2019.01.27 21:52:48.481 5: BOTVAC NEATO2: called function ReceiveCommand() rc: HASH(0xb356bf8) err: nucleo.neatocloud.com: Die Wartezeit f<FC>r die Verbindung ist abgelaufen data: 
2019.01.27 21:52:48.482 4: BOTVAC NEATO2:messages/getGeneralInfo RCV nucleo.neatocloud.com: Die Wartezeit f<FC>r die Verbindung ist abgelaufen
2019.01.27 21:52:51.041 5: BOTVAC NEATO2: called function ReceiveCommand() rc: HASH(0xd517c18) err: nucleo.neatocloud.com: Die Wartezeit f<FC>r die Verbindung ist abgelaufen data: 
2019.01.27 21:52:51.041 4: BOTVAC NEATO2:messages/getGeneralInfo RCV nucleo.neatocloud.com: Die Wartezeit f<FC>r die Verbindung ist abgelaufen
2019.01.27 21:52:56.250 5: BOTVAC NEATO1: called function GetStatus()
2019.01.27 21:52:56.252 4: BOTVAC NEATO1: Read password from file
2019.01.27 21:52:56.253 5: BOTVAC NEATO1: called function SendCommand()
2019.01.27 21:52:56.253 4: BOTVAC NEATO1: REQ messages/getRobotState
2019.01.27 21:52:56.253 4: BOTVAC NEATO1: REQ successors 0: messages,getSchedule
2019.01.27 21:52:56.254 5: BOTVAC NEATO1: POST https://nucleo.neatocloud.com:4443/vendors/neato/robots/OPS18718-74E18292814C/messages ({"reqId":"0","cmd":"getRobotState"})
2019.01.27 21:52:56.254 5: BOTVAC NEATO1: header Accept: application/vnd.neato.nucleo.v1
Content-Type: application/json
Date: Sun, 27 Jan 2019 20:52:56 GMT
Authorization: NEATOAPP 7cfd8b021c2c84886764692a539d860f6dff026ee31ff012c84b485d7897ead2


Grüße,
Stephan
FHEM nightly auf Intel Atom (lubuntu) mit VDSL 50000 ;-)
Nutze zur Zeit OneWire und KNX

vuffiraa

Hallo Stephan,

da scheint dein Sauger aber etwas zickig zu sein  ;)

Grundsätzlich erfolgt die Kommunikation über die Server von Neato. Das heißt, dass da mehrere Sachen Probleme machen können. Erstmal sie die Server auch nicht immer 100% erreichbar und dann muss Neato deinen Sauger erreichen können, um die entsprechenden Befehle an den Sauger zu senden. Ist da vielleicht eine Firewall im Spiel? Das beschriebene Verhalten könnte man vielleicht so erklären, wenn der Sauger an der Station steht, sendet er selber Daten zum Neato-Server (Akkuladung), aber ein Befehl vom Neato-Server kommt nicht an.

Die Meldungen wegen der Wartezeit sollten nach 3 Minuten kommen, bis dahin würde mein Modul die Antworten noch erwarten und verarbeiten. Wie groß ist dein Abfrageintervall? Nicht, dass sich die einzelnen Anfragen gegenseitig behindern.

Im Browser funktionieren die Links nicht so einfach. Da Fehler der Http-Header und die Nachricht, die der Neato-Server erwartet. Das bekommt man im Browser nicht hin. Mein Werkzeug für solchen Tests ist Postman, falls du in der Richtung weitergehen willst.

Gruß VuffiRaa
FHEM 5.8 auf Cubietruck, Raspi B+

Weinzierl KNX IP BAOS 770, Homematic, EnOcean

abc2006

Hi,
zu meinen Geräten:

NEATO1:
Internals:
   CHANGED   
   DEF        abc2006@gmx.de neato 300
   EMAIL      abc2006@gmx.de
   INTERVAL   300
   NAME       NEATO1
   NR         566
   STATE      Couldn't find robot
   TYPE       BOTVAC
   VENDOR     neato
   HELPER:
   READINGS:
     2019-01-28 00:01:27   accessToken     072c1c88a9dd988aaa7161594754b3df
     2019-01-25 16:01:24   action          0
     2019-01-27 00:06:29   batteryAuthorizationStatus HASH(0x753efb0)
     2018-12-29 21:05:15   batteryManufacturingDate 2090-2-12
     2019-01-27 13:51:23   batteryPercent  2
     2019-01-27 13:01:25   batteryTimeToEmpty 1
     2019-01-25 15:51:26   batteryTimeToFullCharge 0
     2018-12-29 21:05:15   batteryVendor   Panasonic
     2019-01-25 15:51:24   cleaningCategory house
     2018-12-18 15:41:41   cleaningMode    eco
     2018-12-18 14:50:07   cleaningModifier normal
     2019-01-09 07:46:19   cleaningNavigationMode normal
     2018-12-18 14:50:07   cleaningSpotHeight 0
     2018-12-18 14:50:07   cleaningSpotWidth 0
     2019-01-23 12:01:50   dockHasBeenSeen 0
     2018-12-19 10:13:16   error           
     2018-12-24 15:16:19   firmware        4.4.0-72
     2018-12-28 12:51:52   firmwareLatest  4.4.0-72
     2018-12-28 14:01:02   floorplan_0_boundaries {"type":"polyline","vertices":[[0.4596,0.3887],[0.5287,0.3883]],"name":"","color":"#000000","enabled":true},{"type":"polyline","vertices":[[0.6062,0.5533],[0.6053,0.6085]],"name":"","color":"#000000","enabled":true},{"type":"polyline","vertices":[[0.5563,0.4883],[0.6111,0.5408]],"name":"","color":"#000000","enabled":true}
     2018-12-28 12:51:54   floorplan_0_id  2018-12-25T16:20:17Z
     2018-12-28 12:51:54   floorplan_0_name Bad OG
     2019-01-25 15:51:24   isCharging      0
     2019-01-25 15:51:24   isDocked        0
     2018-12-18 14:50:07   isScheduleEnabled 0
     2018-12-18 15:36:34   macAddr         74e18292814c
     2019-01-25 16:01:27   map_area        11.504
     2019-01-25 16:01:27   map_date        2019-01-25 16:01:51
     2019-01-25 16:01:27   map_id          2019-01-25T14:50:29Z
     2018-12-18 15:36:19   map_status      complete
     2018-12-18 14:50:06   model           BotVacD7Connected
     2018-12-18 18:37:08   name            Turi
     2018-12-18 14:50:06   nucleoUrl       https://nucleo.neatocloud.com:4443
     2018-12-18 14:50:07   result          ok
     2018-12-18 15:36:34   robot           0
     2018-12-18 14:50:08   scheduleEnabled 0
     2018-12-18 15:36:34   secretKey       4E02EA20C696BEE90CAA0626BCDF6431
     2018-12-18 15:36:34   serial          OPS18718-74E18292814C
     2019-01-27 14:21:23   state           Couldn't find robot
     2019-01-25 16:01:24   stateId         1
   helper:
Attributes:
   actionInterval 30
   room       neato
   verbose    5
   webCmd     startCleaning:stop:sendToBase



NEATO2:

Internals:
   CHANGED   
   DEF        abc2006@gmx.de neato 30
   EMAIL      abc2006@gmx.de
   INTERVAL   30
   NAME       NEATO2
   NR         567
   SERVICES   manualCleaning:basic-1, generalInfo:basic-1, IECTest:advanced-1, wifi:basic-1, maps:basic-2, spotCleaning:basic-3, preferences:basic-1, logCopy:basic-1, houseCleaning:basic-4, softwareUpdate:basic-1, schedule:basic-2, findMe:basic-1
   STATE      Idle
   TYPE       BOTVAC
   VENDOR     neato
   HELPER:
   READINGS:
     2019-01-28 00:01:27   accessToken     e276fe226376d6193363ef903bd68bbf
     2019-01-27 22:35:10   action          0
     2018-12-28 14:12:52   alert           
     2019-01-27 21:59:39   batteryAuthorizationStatus genuine
     2018-12-29 21:04:20   batteryManufacturingDate 2090-10-12
     2019-01-28 20:45:19   batteryPercent  99
     2019-01-28 21:10:06   batteryTimeToEmpty 3522
     2019-01-28 20:26:00   batteryTimeToFullCharge 0
     2019-01-28 09:23:18   batteryTotalCharges 60
     2018-12-29 21:04:20   batteryVendor   Panasonic
     2019-01-27 22:01:01   cleaningCategory house
     2019-01-27 21:32:28   cleaningMode    turbo
     2018-12-18 18:35:24   cleaningModifier normal
     2018-12-18 18:35:24   cleaningNavigationMode normal
     2019-01-22 08:20:40   cleaningSpotHeight 0
     2019-01-22 08:20:40   cleaningSpotWidth 0
     2019-01-27 22:35:10   dockHasBeenSeen 0
     2019-01-27 22:53:45   error           
     2018-12-24 15:19:24   firmware        4.4.0-72
     2018-12-28 12:52:29   firmwareLatest  4.4.0-72
     2019-01-27 22:35:17   floorplan_0_boundaries {"type":"polyline","vertices":[[0.5504,0.4404],[0.6038,0.4401]],"name":"","color":"#E54B1C","enabled":true},
{"type":"polyline","vertices":[[0.4496,0.6178],[0.3756,0.6169]],"name":"","color":"#E54B1C","enabled":true},
{"type":"polyline","vertices":[[0.4516,0.4946],[0.4513,0.5657]],"name":"","color":"#E54B1C","enabled":true},
{"type":"polyline","vertices":[[0.5601,0.4995],[0.6091,0.4974]],"name":"","color":"#000000","enabled":true}
     2018-12-18 18:37:36   floorplan_0_id  2018-10-11T16:57:08Z
     2018-12-18 18:37:36   floorplan_0_name EG
     2019-01-27 22:35:17   floorplan_0_zones {"id":"d6068298-9cf4-4372-aa8a-db2a3cdce469","type":"polygon","vertices":[[0.2039,0.4305],[0.4555,0.4305],[0.4555,0.62],[0.2039,0.62]],"name":"Küche","color":"#E06A83","enabled":true},
{"id":"031fba32-ed67-44cd-9504-38907184f648","type":"polygon","vertices":[[0.1864,0.218],[0.3861,0.218],[0.3861,0.4285],[0.1864,0.4285]],"name":"Esszimmer","color":"#7BB472","enabled":true},
{"id":"99c58c5d-2c58-40a1-a4ab-44bfb586193e","type":"polygon","vertices":[[0.3946,0.214],[0.6702,0.214],[0.6702,0.4469],[0.3946,0.4469]],"name":"Wohnzimmer","color":"#5B7BA5","enabled":true},
{"id":"61f27bf0-b67c-46e1-a0e8-bf37ff8eba7a","type":"polygon","vertices":[[0.4484,0.4358],[0.7552,0.4358],[0.7552,0.5983],[0.4484,0.5983]],"name":"Flur","color":"#E49770","enabled":true}
     2019-01-28 20:25:46   isCharging      0
     2019-01-27 22:35:10   isDocked        1
     2018-12-18 18:35:24   isScheduleEnabled 0
     2018-12-18 18:36:00   macAddr         74e182986d21
     2019-01-27 22:35:13   map_area        23.9408
     2019-01-27 22:35:13   map_date        2019-01-27 22:32:52
     2019-01-27 22:35:13   map_id          2019-01-27T21:01:00Z
     2019-01-22 14:00:26   map_status      complete
     2018-12-18 18:35:23   model           BotVacD7Connected
     2018-12-18 18:36:00   name            Nippi
     2018-12-18 18:35:23   nucleoUrl       https://nucleo.neatocloud.com:4443
     2018-12-18 18:37:53   result          ok
     2018-12-18 18:36:00   robot           1
     2018-12-18 18:35:25   scheduleEnabled 0
     2018-12-18 18:36:00   secretKey       A637B9B87FCB786BAC8A4348509852D5
     2018-12-18 18:36:00   serial          OPS18718-74E182986D21
     2019-01-28 01:42:22   state           Idle
     2019-01-27 22:53:45   stateId         1
   helper:
Attributes:
   comment    nippi
   room       neato
   verbose    5
   webCmd     startCleaning:stop:sendToBase


Ah ja, dann macht es vllt sinn, das Interval auf 300 und das ActionInterval (fehlt beim 2er ja ganz) auf 30 zu setzen.
Ich beobachte mal, obs dann besser wird.

Zu deinem Vorschlag mit Postman: reizen würd es mich ja schon... aber ich hab hier so viel um die Ohren, dass es hinterher keinem was bringt, wenn ich nicht vorwärts komme ... Vielleicht hab ich ja am Wochenende mal ne Stunde, um da reinzuschauen...

Grüße,
Stephan
FHEM nightly auf Intel Atom (lubuntu) mit VDSL 50000 ;-)
Nutze zur Zeit OneWire und KNX

vuffiraa

Hi,

also beim NEATO1 scheint was im Argen zu sein. Der Status "Couldn't find robot" kommt, wenn Neato den Sauger nicht (mehr) kennt. Das kenne ich nur bei leerem Akku, Netzproblemen oder wenn der Sauger einfach ausgestellt ist.

Ein 300er Intervall ist natürlich sicher, ich selber habe 85 Sekunden eingestellt. Ich dachte eher, wenn du ein Intervall mit nur einer Ziffer eingestellt hättest.

Gruß VuffiRaa
FHEM 5.8 auf Cubietruck, Raspi B+

Weinzierl KNX IP BAOS 770, Homematic, EnOcean

Schlimbo

@JojoK
Vielen Dank für die Integration der Zonen Reinigung.
Ich kam erst jetzt dazu das zu testen und es klappt super  :)
Finde es Klasse wie sich das Modul hier durch die Zusammenarbeit immer weiter entwickelt.

Wie hast du das jetzt eigentlich herausgefunden? Hast du einfach blind probiert, bis es geklappt hat? Die API Doku ist ja leider noch immer nicht aktualisiert worden.

Ist es damit auch möglich mehrere Zonen gleichzeitig anzugeben? Oder können die Zonen nur separat gereinigt werden?

Noch ein kleiner Verbesserungswünsch:
Die Zonen anstatt über die ID mit dem Namen Vorwahlen und dann für das set nextCleaningZone eine dropdown Liste mit allen verfügbaren Zonen Namen.

Gruß Schlimbo

Timmäää

Danke fürs offizielle Einchecken.
Ich wurde heute Morgen beim Update überrascht :)

Beste Grüße,
Tim

vuffiraa

Zitat von: Timmäää am 01 Februar 2019, 08:45:12
Danke fürs offizielle Einchecken.
Ich wurde heute Morgen beim Update überrascht :)

Beste Grüße,
Tim

Hallo Tim,

dabei wollte ich doch die Ankündigung noch schreiben, dass es ab dem 1.2.2019 per FHEM-Update verteilt wird  :)

Damit gehört das Modul jetzt offiziell zu Fhem. Vielen Dank an alle, die dazu beigetragen haben, egal ob durch direkte Entwicklung, Testen, Kommentieren und auch einfach Benutzen!

Die Version im Git werde ich nicht direkt löschen, damit besteht weiterhin die Möglichkeit direkt am Modul zu arbeiten. Was dort dann stabil läuft, wird direkt ins Fhem-SVN übernommen.

Gruß VuffiRaa

FHEM 5.8 auf Cubietruck, Raspi B+

Weinzierl KNX IP BAOS 770, Homematic, EnOcean

ph1959de

Zitat von: vuffiraa am 01 Februar 2019, 15:14:08
dabei wollte ich doch die Ankündigung noch schreiben, dass es ab dem 1.2.2019 per FHEM-Update verteilt wird  :)

Ohne das zu wissen, habe ich vorhin die Wiki Seite schon etwas angepasst. Müsstest Du aber vielleicht noch mal überfliegen / überarbeiten.

Peter
Aktives Mitglied des FHEM e.V. | Moderator im Forenbereich "Wiki"

Gast45

Ich habe heute das Modul installiert und eingerichtet. Ich habe mich dabei an der offiziellen Hilfe orientiert. Dort wird Großschreibung für [NEATO|VORWERK] verlangt. Es funktioniert aber nur die Kleinschreibung.

Hier sollte die Anleitung an das Modul oder das Modul an die Anleitung angepasst werden ;)
Meist liegt der Fehler vor der Tastatur

vuffiraa

Zitat von: Gast45 am 02 Februar 2019, 18:11:33
Ich habe heute das Modul installiert und eingerichtet. Ich habe mich dabei an der offiziellen Hilfe orientiert. Dort wird Großschreibung für [NEATO|VORWERK] verlangt. Es funktioniert aber nur die Kleinschreibung.

Hier sollte die Anleitung an das Modul oder das Modul an die Anleitung angepasst werden ;)

Danke für den Hinweis. Das Modul wurde so geändert, dass jegliche Schreibweise der beiden Hersteller akzeptiert wird. Das sollte eine gute Lösung des Problems sein  :D

Gruß VuffiRaa
FHEM 5.8 auf Cubietruck, Raspi B+

Weinzierl KNX IP BAOS 770, Homematic, EnOcean

schnuddel

Hallo!

Erstmal tausend Dank, dass es so ein tolles Modul gibt!

Seitdem ich auf die per FHEM-Update verteilte Version upgegraded habe, funktioniert leider die Karte nicht mehr.  :'(
Hier die Fehlermeldung:
Undefined subroutine &main::BOTVAC_ShowMap called at (eval 110) line 1.

Und hier das listing:

Internals:
   DEF        htmlCode { BOTVAC_ShowMap("Neato") }
   FUUID      [...]
   LINK       { BOTVAC_ShowMap("Neato") }
   NAME       NeatoWl
   NR         122
   STATE      initialized
   TYPE       weblink
   WLTYPE     htmlCode
Attributes:
   room       Wohnzimmer


Die Definition der Map müsste eigentlich genau so sein, wie im Wiki beschrieben. Habe ich irgendwas falsch gemacht?
Kann ich noch mit weiteren Infos zur Fehlereingrenzung helfen?

Grüße!
Raspi, ZWave, HUE, Neato Botvac, Squeezebox

vuffiraa

#448
Zitat von: schnuddel am 04 Februar 2019, 10:11:42
Hallo!

Erstmal tausend Dank, dass es so ein tolles Modul gibt!

Seitdem ich auf die per FHEM-Update verteilte Version upgegraded habe, funktioniert leider die Karte nicht mehr.  :'(
Hier die Fehlermeldung:
Undefined subroutine &main::BOTVAC_ShowMap called at (eval 110) line 1.

Und hier das listing:

Internals:
   DEF        htmlCode { BOTVAC_ShowMap("Neato") }
   FUUID      [...]
   LINK       { BOTVAC_ShowMap("Neato") }
   NAME       NeatoWl
   NR         122
   STATE      initialized
   TYPE       weblink
   WLTYPE     htmlCode
Attributes:
   room       Wohnzimmer


Die Definition der Map müsste eigentlich genau so sein, wie im Wiki beschrieben. Habe ich irgendwas falsch gemacht?
Kann ich noch mit weiteren Infos zur Fehlereingrenzung helfen?

Grüße!

Hallo schnuddel,

da gab es vor kurzem eine Änderung im Modul. Das Modul hat ein eigenes Paket bekommen, daher ist die Definition des Weblinks leicht anzupassen:
define NeatoWl weblink htmlCode { BOTVAC::ShowMap("Neato") }
Wichtig und neu sind die beiden Doppelpunkte.

Ich werde es in der Doku nochmal hervorheben :)

Gruß VuffiRaa
FHEM 5.8 auf Cubietruck, Raspi B+

Weinzierl KNX IP BAOS 770, Homematic, EnOcean

schnuddel

Zitat von: vuffiraa am 04 Februar 2019, 12:48:21
Wichtig und neu sind die beiden Doppelpunkte.

Das war's! Der Link im Wiki verweist noch auf einen Artikel mit der alten Definition des Weblinks.

Vielen Dank,
schnuddel
Raspi, ZWave, HUE, Neato Botvac, Squeezebox