Landroid-S Mähdauer pro Akkuladung anzeigen

Begonnen von iceman, 16 April 2019, 20:16:00

Vorheriges Thema - Nächstes Thema

iceman

Hallo zusammen,

ich spiele gerade mit meinem Landroid-S und dem LANDROID device rum. Hab schon einiges wie die Berechnung der gemähten Fläche hinbekommen.

Jetzt würde ich mir gern anzeigen lassen, wie lang der Mäher mit einer Akkuladung fährt. Dazu müsste ich die Zeit messen ab dem Moment, wenn das Attribute MowerState auf "mowing" wechselt bis das Attribut batteryCharging auf "true" wechselt.

Hat jemand hier sowas schonmal gemacht? Bzw. hat jemand eine Idee, wie ich das anstelle?

Vielen Dank schonmal für Eure Hilfe.

fred_feuerstein

Falls Du das noch probierst:

lege Dir 2 User-Readings unter dem Landroid-Device an: Startzeit und Endzeit.
Dann kannst Du Dir ein DOIF anlegen, was beim Status Mowing den Wert des Startzeit Readings mit der aktuellen Uhrzeit füllt. Bspw so: { fhem 'setreading shaun startzeit '.strftime('%H:%M:%S', localtime) } und gleichzeit die Endzeit leerst.
Alternativ kannst Du auch den Timestamp des Statustext-Readings nehmen: {ReadingsTimestamp($name,'reading','')}

Wenn der Status wieder auf Charging geht, dann gleiches Spiel mit den Endzeit. Nun kannst Du die Differenz zwischen Start und Endzeit in einem 3. Reading Mähzeit ausgeben lassen.

In einem anderen Fall nutze ich das Modul HourCounter. Das kannst Du Dir auch mal anschauen.


Aber ich hätte auch eine Frage. Wie hast Du das mit der Berechnung der gemähten Fläche gemacht?
Gruß, Fred

NEU: FHEM auf Raspberry PI 5, OS: Bookworm, mit Z-Wave RaZberry-Modul, 868CUL (WMBUS), LaCrosseCUL (Temp) und knapp 300 Devices aller Art
ALT: FHEM auf Raspberry PI 3B+ im 7Zoll TouchDisplay Gehäuse, OS: Bullseye, mit Z-Wave RaZberry-Modul, 868CUL (WMBUS), LaCrosseCUL (Temp)

iceman

Im lawnmower Device ein UserReading angelegt in dem ich die gefahrene Strecke mal der Schneidebreite nehme:

totalSurface {sprintf("%.2f",((ReadingsVal("lawnmower","totalDistance",0)/ReadingsVal("lawnmower","totalTime",0))*ReadingsVal("lawnmower","bladeTimeCounter",0))*0.18)}