Worx Rasenroboter - was gibt die webschnittstelle her

Begonnen von ritter_runkel, 27 Juni 2016, 23:36:10

Vorheriges Thema - Nächstes Thema

fred_feuerstein

Hallo Axel,

wenn Du am schauen bist ;)

vielleicht kannst du bzgl. dem hier auch mal schauen ob es da einen Unterschied zwischen iobroker und fhem im Handling gibt:
https://forum.fhem.de/index.php/topic,55053.msg1044098.html#msg1044098

Ansonsten geht bei mir der workaround vom letzten Jahr wunderbar. Die EdgeCutting Funktion aber scheinbar nicht mehr.

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)

schneider.krombach

Hallo Axel,

bei mir funktioniert bladeTimeCounter nicht, nach einem Restart FHEM hat der Zähler wieder den Wert von totalBladeTime.
Habe die Modul Version 1.7, eben nochmal kontrolliert.

Kannst du bitte mal drüber schauen, Danke.

Grüße
Thomas


Hier ein List vom Device:

Internals:
   DEF        localhost
   FUUID      5c507811-f33f-2b4b-99c1-7e69a36fe9fa5745
   HOST       localhost
   INTERVAL   180
   NAME       mover
   NR         574
   PORT       8001
   STATE      Idle - Battery: 92%
   TYPE       LANDROID
   Helper:
     DBLOG:
       batteryLevel:
         DBLOG:
           TIME       1588089344.38044
           VALUE      92
       wifiQuality:
         DBLOG:
           TIME       1588089344.38044
           VALUE      -52
   READINGS:
     2020-04-28 17:58:28   JSON_Error     
     2020-04-28 17:58:28   areasArea1      0
     2020-04-28 17:58:28   areasArea2      0
     2020-04-28 17:58:28   areasArea3      0
     2020-04-28 17:58:28   areasArea4      0
     2020-04-28 17:58:28   areasAreaActInd 3
     2020-04-28 17:58:28   areasStartSequence 0,0,0,0,0,0,0,0,0,0
     2020-04-28 17:58:28   batteryChargeCycle 1056
     2020-04-28 17:58:28   batteryCharging false
     2020-04-28 17:58:28   batteryLevel    92
     2020-04-28 17:58:28   batteryTemperature 13.7
     2020-04-28 17:58:28   batteryVoltage  18.8
     2020-04-28 17:58:28   bladeTimeCounter 36470
     2020-04-28 17:58:28   calendarWeekday0BorderCut false
     2020-04-28 17:58:28   calendarWeekday0StartTime 12:00
     2020-04-28 17:58:28   calendarWeekday0WorkTime 360
     2020-04-28 17:58:28   calendarWeekday1BorderCut true
     2020-04-28 17:58:28   calendarWeekday1StartTime 12:00
     2020-04-28 17:58:28   calendarWeekday1WorkTime 360
     2020-04-28 17:58:28   calendarWeekday2BorderCut false
     2020-04-28 17:58:28   calendarWeekday2StartTime 12:00
     2020-04-28 17:58:28   calendarWeekday2WorkTime 360
     2020-04-28 17:58:28   calendarWeekday3BorderCut true
     2020-04-28 17:58:28   calendarWeekday3StartTime 12:00
     2020-04-28 17:58:28   calendarWeekday3WorkTime 360
     2020-04-28 17:58:28   calendarWeekday4BorderCut false
     2020-04-28 17:58:28   calendarWeekday4StartTime 12:00
     2020-04-28 17:58:28   calendarWeekday4WorkTime 360
     2020-04-28 17:58:28   calendarWeekday5BorderCut true
     2020-04-28 17:58:28   calendarWeekday5StartTime 12:00
     2020-04-28 17:58:28   calendarWeekday5WorkTime 360
     2020-04-28 17:58:28   calendarWeekday6BorderCut false
     2020-04-28 17:58:28   calendarWeekday6StartTime 12:00
     2020-04-28 17:58:28   calendarWeekday6WorkTime 360
     2020-04-28 17:58:28   changeCfgTimeExtend 0
     2020-04-28 17:58:28   changeRainDelay 0
     2020-04-28 17:58:28   firmware        3.52
     2020-04-28 17:58:28   lastStatusRequestState statusRequest_done
     2020-04-28 17:58:28   mowTimeExtend   0
     2020-04-28 17:58:28   mowerActive     true
     2020-04-28 17:58:28   mowerError      3
     2020-04-28 17:58:28   mowerErrorTxt   Wire missing
     2020-04-28 17:58:28   mowerState      false
     2020-04-28 17:58:28   mowerStatus     0
     2020-04-28 17:58:28   mowerStatusTxt  Idle
     2020-04-28 17:58:28   mowerWaitRain   0
     2020-04-28 17:58:28   serialNumber    xxxxxxxxxxxxxxxxxxxxx
     2020-04-28 17:58:28   state           active
     2020-04-28 17:58:28   totalBladeTime  36470
     2020-04-28 17:58:28   totalDistance   649856
     2020-04-28 17:58:28   totalTime       38597
     2020-04-28 17:58:28   wifiQuality     -52
   helper:
     requestErrorCounter 0
     setErrorCounter 0
Attributes:
   DbLogInclude (batteryLevel|wifiQuality):360
   alias      Landroid-Mover
   disable    0
   event-min-interval .*:360
   event-on-change-reading .*
   group      Landroid
   icon       scene_robo_lawnmower
   interval   180
   port       8001
   room       Garten
   stateFormat {sprintf("%s - Battery: %d%%", ReadingsVal("$name","mowerStatusTxt","Unknown"), ReadingsVal("$name","batteryLevel",0))}
FHEM unter Ubuntu 18.04 in einer virtuelle Hyper-V Maschine auf einem Intel Xeon Server - LaCrosse, IT, HM, 1-Wire, ESP8266, Landroid, Home Connect, FTUI, Solarview

Ralli

Zitat von: fred_feuerstein am 28 April 2020, 11:50:22
Die EdgeCutting Funktion aber scheinbar nicht mehr.

Das ist das, was mir momentan auffällt: seit der 3.07 oder 3.08 funktioniert dieser Aufruf über FHEM definitiv nicht mehr. Er fährt ohne Mähwerk los und schreibt auf dem Display "Zonentraining".
Gruß,
Ralli

Proxmox 8.4 Cluster mit HP ED800G2i7, Intel NUC11TNHi7+NUC7i5BNH, virtualisiertes fhem 6.4 dev, virtualisierte RaspberryMatic (3.83.6.20250705) mit HB-RF-ETH 1.3.0 / RPI-RF-MOD, HM-LAN-GW (1.4.1) und HMW-GW, FRITZBOX 7490 (07.59), FBDECT, Siri und Alexa

fred_feuerstein

Hier hat sich also entweder was bei Worx oder dem iobroker Adapter verändert.
Glaube aber bei worx, da im Roboter forum auch berichtet wird, dass es wohl bei iobroker auch nicht mehr geht.

Ich habe heute testweise bei meinem S500 die Firmware von 3.52 auf 3.51 und nun auf 3.45 downgegraded.

Die 3.45 lasse ich jetzt drauf. Die war letztes Jahr bei mir eigentlich super.

Und wegen edgecut hatte ich ja den workaround und der funktioniert bei mir problemlos.
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)

axel.mohnen

Hallo zusammen,

@schneider.krombach:
Hast du den set Befehl "resetBladeTimeCounter" bereits ausprobiert?

@Allgaeuer:
Leider kann ich keinen Fehler mit "areasAreaAct" oder "areasAreaActInd" für Zone 1 (0) feststellen.
Der Source code ist identisch mit dem von MeisterTR vom ioBroker:
that.setStateAsync(mowerSerial + ".areas.actualArea", {
            val: (data.dat ? data.cfg.mzv[data.dat.lz] : null),
            ack: true
        });
        that.setStateAsync(mowerSerial + ".areas.actualAreaIndicator", {
            val: (data.dat && data.dat.lz ? data.dat.lz : null),
            ack: true
        });


FHEM:
$t = "areasAreaAct";
$v = $data_decoded->{'dat'} && $areaAct[$data_decoded->{'dat'}{'lz'}] ? $areaAct[$data_decoded->{'dat'}{'lz'}] : undef;
readingsBulkUpdate( $hash, $t, $v ) if( $t =~ m/[a-z]/s && defined( $t ) && defined( $v ) );

$t = "areasAreaActInd";
$v = $data_decoded->{'dat'} && $data_decoded->{'dat'}{'lz'} ? $data_decoded->{'dat'}{'lz'} : undef;
readingsBulkUpdate( $hash, $t, $v ) if( $t =~ m/[a-z]/s && defined( $t ) && defined( $v ) );


Hat noch jemand das gleiche Problem?

@fred_feuerstein:
Ich habe Firmware 3.45 drauf und hier läuft der Kantenmodus einwandfrei. "Never change a running system" ;-)

Viele Grüsse und bleibt Gesund!
Axel

schneider.krombach

Hallo Axel,

ich habe mit dem set Befehl "resetBladeTimeCounter" den Zähler auf 0 gesetzt, nach Restart FHEM steht der Zähler auf totalBladeTime.
Habe mir ein DOIF gebastelt das Alarm gibt wenn die Messer erneuert werden müssen, wäre schön wenn resetBladeTimeCounter bei mir funktionieren würde.

Trotzdem ein großes Lob für deine Arbeit.

Grüße
Thomas
FHEM unter Ubuntu 18.04 in einer virtuelle Hyper-V Maschine auf einem Intel Xeon Server - LaCrosse, IT, HM, 1-Wire, ESP8266, Landroid, Home Connect, FTUI, Solarview

hanswerner1

Zitat von: schneider.krombach am 08 Mai 2020, 11:43:26
ich habe mit dem set Befehl "resetBladeTimeCounter" den Zähler auf 0 gesetzt, nach Restart FHEM steht der Zähler auf totalBladeTime.

Ist bei mir genauso, nach FHEM Neustart ist der Zähler wieder auf totalBladeTime.

VG HW1

Allgaeuer

@axel mohnen
Eventuell ist das Problem in beiden Codes drin. Meine Vermutung: Wenn lz == 0, dann wird $v zu "undef "und dann wird "readingsBulkUpdate" nicht ausgeführt.

$v = $data_decoded->{'dat'} && $areaAct[$data_decoded->{'dat'}{'lz'}] ? $areaAct[$data_decoded->{'dat'}{'lz'}] : undef;
..
readingsBulkUpdate( $hash, $t, $v ) if( $t =~ m/[a-z]/s && defined( $t ) && defined( $v ) );


Entschuldige bitte, wenn ich hier Pearl-Code falsch interpretiere, ich bin noch nicht so fit darin :)

axel.mohnen

Hallo,

ich nutze im Module eine verstecktes Reading Names ".bladeTimeOffset".
Readings die mit einem Punkt (.) anfangen, sind als Permanentspeicher für kleine Datenmengen zusehen.
Interessant wäre jetzt zusehen was im Reading .bladeTimeOffset nach einen Restart drin steht.

Dazu bitte mal den Befehl "list [LANDROID Device name]" ausführen.
Bei mir sieht das so aus:
READINGS:
     2020-04-30 21:56:14   .bladeTimeOffset 0

Ich vermute das das Reading nicht permanent gespeichert wird. Ansonsten muss ich die Funktion setKeyValue() einsetzen.

Viele Grüsse
Axel

axel.mohnen

Hallo Allgaeuer,

ich habe mal zum Testen ein neuen Branch "version18" im Github angelegt.
Im Coding habe ich "undef" mit "0" ersetzt.
Normalerweise sollte "0" als Wert erkannt werden und im IF Statement ein "true" liefern.

$t = "areasAreaAct";
$v = $data_decoded->{'dat'} && $areaAct[$data_decoded->{'dat'}{'lz'}] ? $areaAct[$data_decoded->{'dat'}{'lz'}] : 0;
readingsBulkUpdate( $hash, $t, $v ) if( $t =~ m/[a-z]/s && defined( $t ) && defined( $v ) );

$t = "areasAreaActInd";
$v = $data_decoded->{'dat'} && $data_decoded->{'dat'}{'lz'} ? $data_decoded->{'dat'}{'lz'} : 0;
readingsBulkUpdate( $hash, $t, $v ) if( $t =~ m/[a-z]/s && defined( $t ) && defined( $v ) );


Könntest du bitte die version18 (nur Module 74_LANDROID.pm) in FHEM ersetzten.

Vielen Dank,
Gruss
Axel

Allgaeuer

Hallo Axel,

habs gestest und funktioniert.

Vielen Dank  :)

schneider.krombach

Hallo Axel,

hab auch getestet und bei mir funktioniert es nicht.
Wenn es bei Allgaeuer funktioniert, wo muss ich ansetzen um Fehleranalyse zu betreiben?
Hab schon auf Verbose 5 gestellt, aber im Log steht nicht viel was mir weiterhilft.

Grüße
Thomas
FHEM unter Ubuntu 18.04 in einer virtuelle Hyper-V Maschine auf einem Intel Xeon Server - LaCrosse, IT, HM, 1-Wire, ESP8266, Landroid, Home Connect, FTUI, Solarview

moonsorrox

ich hatte zwischenzeitlich auf die Version 1.7 geupdatet aber bei mir tut sich gar nichts.
So sieht das list jetzt aus, was müßte ich denn noch machen um es wieder zum laufen zu bekommen, stecke da grad nicht so in der Materie, da er ja letztes Jahr damit lief.

Internals:
   CFGFN      ./FHEM/Aussen.cfg
   DEF        localhost
   FUUID      5c4319dc-f33f-a6c6-5977-525ade3fef411c3b
   HOST       localhost
   INTERVAL   180
   NAME       Landy
   NR         1097
   PORT       8001
   STATE      Unknown - Battery: 0%
   TYPE       LANDROID
   READINGS:
     2020-05-09 12:05:25   lastStatusRequestError localhost: Verbindungsaufbau abgelehnt (111)
     2020-05-09 12:05:25   lastStatusRequestState statusRequest_error
     2020-05-04 14:12:24   state           initialized
   helper:
     requestErrorCounter 2357
     setErrorCounter 0
Attributes:
   alias      Landy
   group      Rasenmäher - Landy
   icon       scene_robo_lawnmower@blue
   interval   180
   room       Draußen
   sortby     05
   stateFormat {sprintf("%s - Battery: %d%%", ReadingsVal("$name","mowerStatusTxt","Unknown"), ReadingsVal("$name","batteryLevel",0))
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

Ralli

Nimm dir doch einfach mal die Installationsanleitung insbesondere vom "FHEM Landroid-S Adapter" vor und kontrolliere die bestehende Installation und die Log-Dateien vom Daemon.
Gruß,
Ralli

Proxmox 8.4 Cluster mit HP ED800G2i7, Intel NUC11TNHi7+NUC7i5BNH, virtualisiertes fhem 6.4 dev, virtualisierte RaspberryMatic (3.83.6.20250705) mit HB-RF-ETH 1.3.0 / RPI-RF-MOD, HM-LAN-GW (1.4.1) und HMW-GW, FRITZBOX 7490 (07.59), FBDECT, Siri und Alexa

hanswerner1

Zitat von: axel.mohnen am 08 Mai 2020, 13:13:00
Hallo,

ich nutze im Module eine verstecktes Reading Names ".bladeTimeOffset".
Readings die mit einem Punkt (.) anfangen, sind als Permanentspeicher für kleine Datenmengen zusehen.
Interessant wäre jetzt zusehen was im Reading .bladeTimeOffset nach einen Restart drin steht.

Dazu bitte mal den Befehl "list [LANDROID Device name]" ausführen.
Bei mir sieht das so aus:
READINGS:
     2020-04-30 21:56:14   .bladeTimeOffset 0

Ich vermute das das Reading nicht permanent gespeichert wird. Ansonsten muss ich die Funktion setKeyValue() einsetzen.

Viele Grüsse
Axel


Internals:
   DEF        localhost
   FUUID      5ce29b9d-f33f-8133-dd6f-10ffac81e4c7f86a
   HOST       localhost
   INTERVAL   60
   NAME       Landroid_M500
   NR         876
   PORT       8001
   STATE      Status: Mowing <br>
Ges. Weg: 123.4 km<br>
Messer: 111.8 h<br>
Batterie: 100 % <br>
Wifi: -72 db<br>
No error
   TYPE       LANDROID
   READINGS:
     2020-05-04 17:14:35   FTUI_popup      off
     2020-05-09 17:28:46   JSON_Error     
     2020-05-09 17:28:46   areasArea1      0
     2020-05-09 17:28:46   areasArea2      0
     2020-05-09 17:28:46   areasArea3      0
     2020-05-09 17:28:46   areasArea4      0
     2019-07-13 13:18:05   areasAreaAct    1
     2020-05-09 17:28:46   areasAreaActInd 2
     2020-05-09 17:28:46   areasStartSequence 0,0,0,0,0,0,0,0,0,0
     2020-05-09 17:28:46   batteryChargeCycle 98
     2020-05-09 17:28:46   batteryCharging false
     2020-05-09 17:28:46   batteryLevel    100
     2020-05-09 17:28:46   batteryTemperature 30.6
     2020-05-09 17:28:46   batteryVoltage  19.18
     2020-05-09 17:28:46   bladeTimeCounter 6706
     2020-05-09 17:28:46   bladeTimeCounterhour 111.8
     2020-05-09 17:28:46   calendarWeekday0BorderCut false
     2020-05-09 17:28:46   calendarWeekday0StartTime 19:00
     2020-05-09 17:28:46   calendarWeekday0WorkTime 0
     2020-05-09 17:28:46   calendarWeekday1BorderCut true
     2020-05-09 17:28:46   calendarWeekday1StartTime 17:00
     2020-05-09 17:28:46   calendarWeekday1WorkTime 90
     2020-05-09 17:28:46   calendarWeekday2BorderCut false
     2020-05-09 17:28:46   calendarWeekday2StartTime 18:00
     2020-05-09 17:28:46   calendarWeekday2WorkTime 0
     2020-05-09 17:28:46   calendarWeekday3BorderCut false
     2020-05-09 17:28:46   calendarWeekday3StartTime 17:00
     2020-05-09 17:28:46   calendarWeekday3WorkTime 90
     2020-05-09 17:28:46   calendarWeekday4BorderCut false
     2020-05-09 17:28:46   calendarWeekday4StartTime 18:00
     2020-05-09 17:28:46   calendarWeekday4WorkTime 0
     2020-05-09 17:28:46   calendarWeekday5BorderCut true
     2020-05-09 17:28:46   calendarWeekday5StartTime 17:00
     2020-05-09 17:28:46   calendarWeekday5WorkTime 90
     2020-05-09 17:28:46   calendarWeekday6BorderCut false
     2020-05-09 17:28:46   calendarWeekday6StartTime 17:00
     2020-05-09 17:28:46   calendarWeekday6WorkTime 90
     2020-05-09 17:28:46   changeCfgTimeExtend 0
     2020-05-09 17:28:46   changeRainDelay 120
     2020-05-09 17:28:46   firmware        3.08
     2020-05-04 12:04:56   lastSetCommandMsg MowerTimeExtend set to : 0
     2020-05-04 12:04:56   lastSetCommandState cmd_done
     2020-05-08 11:05:18   lastStatusRequestError http://localhost:8001/getMessage: empty answer received
     2020-05-09 17:28:46   lastStatusRequestState statusRequest_done
     2020-05-09 17:28:46   mowTimeExtend   0
     2020-05-09 17:28:46   mowerActive     true
     2020-05-09 17:28:46   mowerError      0
     2020-05-09 17:28:46   mowerErrorTxt   No error
     2020-05-09 17:28:46   mowerState      true
     2020-05-09 17:28:46   mowerStatus     7
     2020-05-09 17:28:46   mowerStatusTxt  Mowing
     2020-05-09 17:28:46   mowerWaitRain   120
     2020-05-09 17:28:46   serialNumber    2019301984010263919A
     2020-05-09 17:28:46   state           active
     2020-05-09 17:28:46   status          Mowing
     2020-05-09 17:28:46   totalBladeTime  6706
     2020-05-09 17:28:46   totalBladeTimehour 111.8
     2020-05-09 17:28:46   totalDistance   123431
     2020-05-09 17:28:46   totalDistancekm 123.4
     2020-05-09 17:28:46   totalTime       7235
     2020-05-09 17:28:46   totalTimehour   120.6
     2020-05-09 17:28:46   wifiQuality     -72
   helper:
     requestErrorCounter 0
     setErrorCounter 0
Attributes:
   cmdIcon    startMower:rc_PLAY pauseMower:rc_PAUSE stopMower:rc_STOP
   disable    0
   event-min-interval mowerStatusTxt.*:300
   event-on-update-reading .*
   group      Maehroboter
   icon       scene_robo_lawnmower
   interval   60
   room       16_Aussen
   sortby     1
   stateFormat Status: status <br>
Ges. Weg: totalDistancekm km<br>
Messer: bladeTimeCounterhour h<br>
Batterie: batteryLevel % <br>
Wifi: wifiQuality db<br>
mowerErrorTxt
   userReadings totalBladeTimehour {sprintf("%.1f", ReadingsVal("Landroid_M500","totalBladeTime",0)/60) ;;;; },
totalTimehour {sprintf("%.1f", ReadingsVal("Landroid_M500","totalTime",0)/60) ;;;; },
bladeTimeCounterhour {sprintf("%.1f", ReadingsVal("Landroid_M500","bladeTimeCounter",0)/60) ;;;; },
totalDistancekm {sprintf("%.1f", ReadingsVal("Landroid_M500","totalDistance",0)/1000) ;;;; },

   verbose    3
   webCmd     changeCfgTimeExtend:Regenp.:changeRainDelay:startMower:pauseMower:stopMower