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

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

Vorheriges Thema - Nächstes Thema

Ellert

Es funktioniert jetzt.

Es lag an der falschgeschrieben Emailadresse im Passworttresor, bei der Einrichtung von BOTVAC am PC habe ich sie kopiert, weil ich Schreibfehler ausschliessen wollte  ;) In der App musste ich sie eintippen, deshalb hat das funktioniert.

Bitte, entschuldige die Unruhe meinetwegen.


vuffiraa

Zitat von: Ellert am 15 April 2019, 15:22:19
Es funktioniert jetzt.

Es lag an der falschgeschrieben Emailadresse im Passworttresor, bei der Einrichtung von BOTVAC am PC habe ich sie kopiert, weil ich Schreibfehler ausschliessen wollte  ;) In der App musste ich sie eintippen, deshalb hat das funktioniert.

Bitte, entschuldige die Unruhe meinetwegen.

Kein Problem  8)

Mich würde dann aber mal ein 'list VR300' interessieren. Und außerdem, ob die jetzt mit dem Modul auch die letzte Reinigungskarte sehen kannst. Wie gesagt, VR300 hatte ich noch nicht.
FHEM 5.8 auf Cubietruck, Raspi B+

Weinzierl KNX IP BAOS 770, Homematic, EnOcean

Ellert

Ja, die MAP lässt sich als Weblink einbinden.

ZitatInternals:
   DEF        <bezeichner>@t-online.de VORWERK
   EMAIL      <bezeichner>@t-online.de
   FUUID      5cb406c5-f33f-a3dc-80d0-9c4aed93deef3658
   INTERVAL   85
   NAME       VR300
   NR         180
   SERVICES   logCopy:basic-1, maps:advanced-1, generalInfo:basic-1, houseCleaning:basic-3, spotCleaning:basic-1, manualCleaning:basic-1, preferences:basic-1, wifi:basic-1, findMe:basic-1, softwareUpdate:basic-1, IECTest:advanced-1, schedule:basic-1
   STATE      Idle
   TYPE       BOTVAC
   VENDOR     vorwerk
   HELPER:
   OLDREADINGS:
   READINGS:
     2019-04-15 15:07:11   action          0
     2019-04-15 15:08:37   batteryAuthorizationStatus genuine
     2019-04-15 15:08:37   batteryManufacturingDate 2018-9-27
     2019-04-15 16:50:35   batteryPercent  96
     2019-04-15 16:47:47   batteryTimeToEmpty 65535
     2019-04-15 16:50:38   batteryTimeToFullCharge 30
     2019-04-15 15:08:37   batteryTotalCharges 3
     2019-04-15 15:08:37   batteryVendor   Panasonic
     2019-04-15 15:07:11   cleaningCategory house
     2019-04-15 15:07:11   cleaningMode    eco
     2019-04-15 15:07:11   cleaningModifier normal
     2019-04-15 15:07:11   cleaningNavigationMode normal
     2019-04-15 15:07:11   cleaningSpotHeight 0
     2019-04-15 15:07:11   cleaningSpotWidth 0
     2019-04-15 15:07:11   firmware        4.2.5-166
     2019-04-15 15:07:10   firmwareLatest  4.2.5-166
     2019-04-15 15:07:14   floorplan_0_id  2019-04-15T10:39:01Z
     2019-04-15 15:07:14   floorplan_0_name OG
     2019-04-15 16:47:45   isCharging      true
     2019-04-15 15:07:11   isDocked        true
     2019-04-15 15:07:10   macAddr         <MAC>
     2019-04-15 15:07:14   map_area        18.0656
     2019-04-15 15:07:14   map_date        2019-04-15 13:00:35
     2019-04-15 15:07:14   map_id          2019-04-15T10:39:01Z
     2019-04-15 15:07:14   map_status      complete
     2019-04-15 15:07:10   model           VR220
     2019-04-15 15:07:10   name            James
     2019-04-15 15:07:10   nucleoUrl       https://nucleo.ksecosys.com:4443
     2019-04-15 15:07:11   result          ok
     2019-04-15 15:07:10   robot           0
     2019-04-15 15:07:13   scheduleType    1
     2019-04-15 15:07:10   serial          <Seriennummer>
     2019-04-15 15:07:11   state           Idle
     2019-04-15 15:07:11   stateId         1
   helper:
     ROBOTS:
       HASH(0x2c130c8)
Attributes:
   room       0_Test
   verbose    5
   webCmd     startCleaning:stop:sendToBase

INTERVAL   85, ist dies das Defaultintervall (85 Sekunden)?

vuffiraa

Zitat von: Ellert am 15 April 2019, 17:11:30
Ja, die MAP lässt sich als Weblink einbinden.

INTERVAL   85, ist dies das Defaultintervall (85 Sekunden)?

Danke für die Infos.
Ja, 85 ist das Defaultintervall und es sind Sekunden. Die Zahl ist etwas krumm, damit sich nicht immer alle Intervalle aller Geräte zur gleichen Zeit treffen ;-)
FHEM 5.8 auf Cubietruck, Raspi B+

Weinzierl KNX IP BAOS 770, Homematic, EnOcean

Ellert

Gibt es eine Möglichkeit die Daten der letzten Maps im Modul bereitzustellen, die über die Beehive API abgerufen werden können.

Es wird zwar der Service maps:basic-1 nicht als verfügbar gelistet, aber der Robot (VR300) sendet die Daten trotzdem zum Account, denn sie sind in der Kobold Roboter App verfügbar.

Mit den Daten könnte man z.B. den Stand und die Entwicklung der Akkuqualität im Verhältnis zur versprochenen Qualität beobachten. Das könnte bestimmt interessant sein.

the ratman

ich hätt auch noch dumme fragen:

ich würd gern auch die no go's und zonen in fhem über der karte abbilden. hat da schon wer was zu gebastelt?
oder noch dümmer: hat sich vielleicht sogar schon jemand was waf-freundliches zum linien/zonen-basteln gebaut und würde das mit mir teilen?
btw - warscheinlich nicht möglich, aber ich frag trotzden: bei meinem alten lg konnt ich auf der (gehackten) karte sehen, wie und wo der bot gefahren ist. ist das beim neato auch möglich? vielleicht sogar in echtzeit ... der waf, ihr wissts ...

ich hab im modul 3 cleaningmodes zur auswahl: normal, extra care und deep
von den ersten 2 erzählt mir auch der sauger, aber was ist deep?

thx für eventuelle antworten ...
→do↑p!dnʇs↓shit←

vuffiraa

Zitat von: Ellert am 18 April 2019, 08:57:56
Gibt es eine Möglichkeit die Daten der letzten Maps im Modul bereitzustellen, die über die Beehive API abgerufen werden können.

Es wird zwar der Service maps:basic-1 nicht als verfügbar gelistet, aber der Robot (VR300) sendet die Daten trotzdem zum Account, denn sie sind in der Kobold Roboter App verfügbar.

Mit den Daten könnte man z.B. den Stand und die Entwicklung der Akkuqualität im Verhältnis zur versprochenen Qualität beobachten. Das könnte bestimmt interessant sein.

Welche Daten zur Karte fehlen dir im Modul? Grundsätzlich sollten die Daten, die man in der App sieht, verfügbar sein. Einzige Ausnahmen wäre, wenn Vorwerk hier was komplett neues erfunden hat, obwohl das macht nur mehr Aufwand  ;)
FHEM 5.8 auf Cubietruck, Raspi B+

Weinzierl KNX IP BAOS 770, Homematic, EnOcean

vuffiraa

#502
Zitat von: the ratman am 18 April 2019, 09:38:27
ich hätt auch noch dumme fragen:

ich würd gern auch die no go's und zonen in fhem über der karte abbilden. hat da schon wer was zu gebastelt?
oder noch dümmer: hat sich vielleicht sogar schon jemand was waf-freundliches zum linien/zonen-basteln gebaut und würde das mit mir teilen?
btw - warscheinlich nicht möglich, aber ich frag trotzden: bei meinem alten lg konnt ich auf der (gehackten) karte sehen, wie und wo der bot gefahren ist. ist das beim neato auch möglich? vielleicht sogar in echtzeit ... der waf, ihr wissts ...

ich hab im modul 3 cleaningmodes zur auswahl: normal, extra care und deep
von den ersten 2 erzählt mir auch der sauger, aber was ist deep?

thx für eventuelle antworten ...

Bei Neato sieht man leider nur hinterher auf der Karte, wo er überall gewesen ist. Während der Reinigung werden keine Bewegungsdaten geliefert.

Der Deep-Mode ist nur für eine Reinigung im Modus Turbo relevant. Nach meiner Interpretations ist das wohl das Gegenteil von Eco/Extra Care. Also eine Reinigung extragründlich und -stark.

Bei den Linien in der Karte bin ich skeptisch, wobei ich mir das immer nur theoretischen ansehen kann. Die Reinigungskarte wird als PNG geliefert. Die kann sich auch mal drehen und enthält keinen Bezugspunkt für die NoGo-Linien. Vielleicht ist das bei den gespeicherten Grundrissen besser. Aber trotzdem lassen sich die Linien nicht so einfach direkt ins PNG einziehen, wie es z.B. mit einer SVG-Grafik möglich wäre... 
FHEM 5.8 auf Cubietruck, Raspi B+

Weinzierl KNX IP BAOS 770, Homematic, EnOcean

Ellert

#503
Zitat von: vuffiraa am 18 April 2019, 10:12:27
Welche Daten zur Karte fehlen dir im Modul? Grundsätzlich sollten die Daten, die man in der App sieht, verfügbar sein. Einzige Ausnahmen wäre, wenn Vorwerk hier was komplett neues erfunden hat, obwohl das macht nur mehr Aufwand  ;)

Ich dachte an hier beschriebenen Daten https://developers.neatorobotics.com/api/beehive unter Maps/Index

Zitatversion integer: The map format version.
    id string: The map identifier.
    url string: The temporary map url.
    url_valid_for_seconds integer: The expiration time (in seconds) of the url.
    run_id string: The run unique identifier.
    status string: Can be: complete, incomplete, canceled.
    launched_from string: Defines if the cleaning event has been launched from robot, schedule or app.
    error string: Must be null if there are no errors. See Error Codes here below for a list of possible errors.
    category integer: Fixed to 2 for house cleaning.
    mode integer: 1 eco 2 turbo.
    modifier integer: The cleaning frequency. 1 normal 2 double.
    start_at string: The ISO8601 formatted GMT date & time stating when the run was started.
    end_at string: The ISO8601 formatted GMT date & time stating when the run was stoped.
    end_orientation_relative_degrees integer: The robot orientation when the run was finished or errored out. The value can be 0-360 indicating the degrees in clockwise rotation, where 0 is looking rightwards on the map.
    run_charge_at_start integer: The battery charge (in percentage) when the run was started.
    run_charge_at_end integer: The battery charge (in percentage) when the run was finished or errored out.
    suspended_cleaning_charging_count integer: The number of times the batteries were recharged during the run.
    time_in_suspended_cleaning integer: Expresses the total time spent in suspended cleaning during the run (in seconds).
    time_in_error integer: Expresses the total time spent in error state during the run (in seconds).
    time_in_pause integer: Expresses the total time spent in paused state during the run (in seconds).
    cleaned_area: float: The area cleaned during the run (in square meters).
    base_count: integer: The number of bases seen.
    is_docked boolean: Is the robot docket at the end of the run.
    delocalized: boolean: Defines if the robot was unable of properly relocalizing during the run (for instance, when picked up and moved by user).

Es würde reichen, wenn die Daten als JSON per get abrufbar wären, dann könnte ich eine Statistik erstellen. Diese Daten sehe ich in der Form nicht im Modul.

Daher meine Frage, ob es möglich ist diese Daten abzurufen.

Im Modul sehe ich nur
map_area
map_date
map_id
map_status

Edit:
Diese Daten sind in der App nicht alle zu sehen.
In der App werden Laufzeit, Laufzeit und Ladezeit und Fläche je gefahrener Map angezeigt, daher vermute ich, dass wenigstens start_at, end_at, cleaned_area für die letzten 20 Maps zur Verfügung stehen muss.

vuffiraa

Zitat von: Ellert am 18 April 2019, 12:18:19
Ich dachte an hier beschriebenen Daten https://developers.neatorobotics.com/api/beehive unter Maps/Index

Es würde reichen, wenn die Daten als JSON per get abrufbar wären, dann könnte ich eine Statistik erstellen. Diese Daten sehe ich in der Form nicht im Modul.

Daher meine Frage, ob es möglich ist diese Daten abzurufen.

Im Modul sehe ich nur
map_area
map_date
map_id
map_status

Diese Daten ruft das Modul sogar schon ab, bisher habe ich sie nur noch nicht in passende Readings verabeitet.
Da schau ich aber mal, wie man das gut aufbereitet  ;)

Vielleicht kannst du bei deinem VR300 mal schauen, ob dort das gleiche Format benutzt wird. Mit verbose = 5 mal set VR300 reloadMaps aufrufen und die Daten im Log vergleichen.
FHEM 5.8 auf Cubietruck, Raspi B+

Weinzierl KNX IP BAOS 770, Homematic, EnOcean

Ellert

#505
Ja, das Format müsste stimmen. Sind die Daten im Geräte-Hash verfügbar? Sind sie nicht, habe ich soeben gesehen.

Zitat"id":"2019-04-17T15:10:27Z",
"url":"https://vorwerk.s3.eu-west-1.amazonaws.com/user-maps/...",
"url_valid_for_seconds":300,
"version":1,
"generated_at":"2019-04-17T15:17:54Z",
"status":"complete",
"launched_from":"app",
"error":null,
"modifier":1,
"start_at":"2019-04-17T15:10:27Z",
"end_at":"2019-04-17T15:17:54Z",
"end_orientation_relative_degrees":48,
"run_charge_at_start":28,
"run_charge_at_end":19,
"persistent_map_id":null,
"cleaned_with_persistent_map_id":null,
"suspended_cleaning_charging_count":0,
"time_in_suspended_cleaning":0,
"time_in_error":0,
"time_in_pause":0,
"cleaned_area":6.8192,
"base_count":0,
"is_docked":false,
"delocalized":false,
"valid_as_persistent_map":false,
"category":2,
"mode":1,
"navigation_mode":1

Die fett markierten sind in der API nicht beschrieben.

vuffiraa

Zitat von: Ellert am 18 April 2019, 13:27:41
Ja, das Format müsste stimmen. Sind die Daten im Geräte-Hash verfügbar? Sind sie nicht, habe ich soeben gesehen.

Die fett markierten sind in der API nicht beschrieben.

Bisher sind nur die map-Readings gefüllt. Die anderen Daten werden (noch) nicht beachtet.
FHEM 5.8 auf Cubietruck, Raspi B+

Weinzierl KNX IP BAOS 770, Homematic, EnOcean

Ellert

#507
Ein sehr einfacher Kennwert zur Beurteilung der Akkuqualität, könnte sein.

expected_area = cleaned_area * 100/(run_charge_at_start - run_charge_at_end)  / qm

Damit hätte man die erwartete Fläche für 100% Ladungsverbrauch. Die kann man dann mit der vom Hersteller spezifizierten Fläche vergleichen.

Das auch kann man auch mit der Laufzeit machen.

expected_runtime = (end_at - start_at) * 60 / (run_charge_at_start - run_charge_at_end) / min

Damit hätte man die erwartete Laufzeit für 100% Ladungsverbrauch. Die kann man dann ebenfalls mit der vom Hersteller spezifizierten Laufzeit vergleichen.

Wenn das für die letzten 5 Maps in Readings gepackt wird, dann bleibt es noch übersichtlich

Ellert

@vuffiraa: Ich habe mal einen Vorschlag ins Modul eingebaut, es wäre nett, wenn Du Dir das ansehen könntest. Man könnte dann ggf. eine Statistik für die letzen 20 Maps nachrüsten, die per get angezeigt wird.

Ellert

Ein Report könnte dann aussehen, wie im Anhang dargestellt.