Automower G3 (incl. Gardena) goes online via FHEM

Begonnen von Andi291, 20 März 2016, 17:59:34

Vorheriges Thema - Nächstes Thema

Jojo11

Aaahhhhhhh, das könnte es sein. Da wäre ich nie drauf gekommen  :o

Schöne Grüße
Jo

Jojo11

Also, es scheint zumindest zu funktionieren. Wenn ich event-on.change-reading... lösche und manuell get status anfordere, steht im log sowas wie

2016.04.15 20:56:27.636 3: url http://1xx.xxx.xxx.xxx/json?cmd=status returned: {"successful": true:"status": {"status": 1, "mode": 2, "battery": 65, "hours": 689}:"timer": {"status": 1}}


Aber die readings werden nicht aktualisiert bzw angelegt.

schöne Grüße
Jo

shorty1111

#62
gleiches hier,

ich werf dann jetzt erst mal das andere Modul wieder an.

Andi291

Kannst Du machen - aber wenn DU mir keine detailliertere Fehlermeldung bringst, wird niemals besser werden :-)

Andi291

@Jo:
Das mit dem event-on-change-reading löschen haut nicht hin. Da muss ich mir noch was anderes überlegen.

Probier mal
attr event-on-change-reading inaktiv

Grüße, Andi

Andi291

Ich hab das event-on-Change-reading wieder rausgenommen und einige log5 ergänzt, sowie debug wieder aktiviert. Über Logs wär ich dankbar :-)

Jojo11

#66
Hallo,

mit der letzten Version wird der Status einmal beim Neustart aktualisiert und dann nie wieder. Zumindest werden die readings nicht aktualisiert. Die Werte bekommt er vom Model, soweit ich das sehe. Ich habe hier den log von 2x manuellem "get update" drücken und zweimal autoupdate angehängt. Scheint so, als würde nur das Aktualisieren der Readings nicht klappen.


2016.04.16 11:05:17.024 3: CUL_HM set wz_R5 statusRequest
2016.04.16 11:05:46.171 5: enter update R70LI: R70LI
2016.04.16 11:05:46.172 5: enter get R70LI: R70LI hash: HASH(0x496aa68), attributes: R70LI, status
2016.04.16 11:05:46.179 5: exit update
2016.04.16 11:05:46.237 3: callback - url http://xxx.xxx.xxx.xxx/json?cmd=status returned: {"successful": true:"status": {"status": 1, "mode": 0, "battery": 79, "hours": 689}:"timer": {"status": 1}}
2016.04.16 11:05:46.238 5: decodeContent - NAME: kommunikation, VALUE: 1
2016.04.16 11:05:46.239 5: callback - communication ok
2016.04.16 11:06:08.383 5: enter set R70LI: R70LI hash: HASH(0x496aa68), attributes: R70LI, ?
2016.04.16 11:06:14.020 5: enter set R70LI: R70LI hash: HASH(0x496aa68), attributes: R70LI, ?
2016.04.16 11:06:14.023 5: enter get R70LI: R70LI hash: HASH(0x496aa68), attributes: R70LI, ?
2016.04.16 11:06:23.873 5: enter get R70LI: R70LI hash: HASH(0x496aa68), attributes: R70LI, status
2016.04.16 11:06:23.948 3: callback - url http://xxx.xxx.xxx.xxx/json?cmd=status returned: {"successful": true:"status": {"status": 1, "mode": 0, "battery": 79, "hours": 689}:"timer": {"status": 1}}
2016.04.16 11:06:23.949 5: decodeContent - NAME: kommunikation, VALUE: 1
2016.04.16 11:06:23.950 5: callback - communication ok
2016.04.16 11:06:39.238 5: enter get R70LI: R70LI hash: HASH(0x496aa68), attributes: R70LI, status
2016.04.16 11:06:39.526 3: callback - url http://xxx.xxx.xxx.xxx/json?cmd=status returned: {"successful": true:"status": {"status": 1, "mode": 0, "battery": 79, "hours": 689}:"timer": {"status": 1}}
2016.04.16 11:06:39.527 5: decodeContent - NAME: kommunikation, VALUE: 1
2016.04.16 11:06:39.528 5: callback - communication ok
2016.04.16 11:06:42.058 5: enter set R70LI: R70LI hash: HASH(0x496aa68), attributes: R70LI, ?
2016.04.16 11:06:42.060 5: enter get R70LI: R70LI hash: HASH(0x496aa68), attributes: R70LI, ?
2016.04.16 11:07:16.708 5: enter update R70LI: R70LI
2016.04.16 11:07:16.709 5: enter get R70LI: R70LI hash: HASH(0x496aa68), attributes: R70LI, status
2016.04.16 11:07:16.715 5: exit update
2016.04.16 11:07:16.939 3: callback - url http://xxx.xxx.xxx.xxx/json?cmd=status returned: {"successful": true:"status": {"status": 1, "mode": 0, "battery": 79, "hours": 689}:"timer": {"status": 1}}
2016.04.16 11:07:16.940 5: decodeContent - NAME: kommunikation, VALUE: 1
2016.04.16 11:07:16.941 5: callback - communication ok
2016.04.16 11:07:45.301 5: enter get R70LI: R70LI hash: HASH(0x496aa68), attributes: R70LI, status
2016.04.16 11:07:45.373 3: callback - url http://xxx.xxx.xxx.xxx/json?cmd=status returned: {"successful": true:"status": {"status": 1, "mode": 0, "battery": 79, "hours": 689}:"timer": {"status": 1}}
2016.04.16 11:07:45.375 5: decodeContent - NAME: kommunikation, VALUE: 1
2016.04.16 11:07:45.375 5: callback - communication ok
2016.04.16 11:07:46.567 5: enter set R70LI: R70LI hash: HASH(0x496aa68), attributes: R70LI, ?
2016.04.16 11:07:46.571 5: enter get R70LI: R70LI hash: HASH(0x496aa68), attributes: R70LI, ?
2016.04.16 11:08:46.745 5: enter update R70LI: R70LI
2016.04.16 11:08:46.747 5: enter get R70LI: R70LI hash: HASH(0x496aa68), attributes: R70LI, status
2016.04.16 11:08:46.755 5: exit update
2016.04.16 11:08:46.806 3: callback - url http://xxx.xxx.xxx.xxx/json?cmd=status returned: {"successful": true:"status": {"status": 1, "mode": 0, "battery": 79, "hours": 689}:"timer": {"status": 1}}
2016.04.16 11:08:46.808 5: decodeContent - NAME: kommunikation, VALUE: 1
2016.04.16 11:08:46.809 5: callback - communication ok
2016.04.16 11:10:16.797 5: enter update R70LI: R70LI
2016.04.16 11:10:16.799 5: enter get R70LI: R70LI hash: HASH(0x496aa68), attributes: R70LI, status
2016.04.16 11:10:16.807 5: exit update
2016.04.16 11:10:17.026 3: callback - url http://xxx.xxx.xxx.xxx/json?cmd=status returned: {"successful": true:"status": {"status": 1, "mode": 0, "battery": 79, "hours": 689}:"timer": {"status": 1}}
2016.04.16 11:10:17.027 5: decodeContent - NAME: kommunikation, VALUE: 1
2016.04.16 11:10:17.028 5: callback - communication ok


Ach ja, "STATE" und "state" sind nach wie vor immer "offline", obwohl das Modul erreichbar ist.

schöne Grüße
Jo

Andi291

Schick mit nochmal Traces mit der Version, bitte.

Du bekommst eine andere Antwort, als ich. Da in der 5b json aktuell kaputt ist, reparier ich das notdürftig. Scheinbar passt das bei Deiner Antowrt nicht.

Jojo11

Leider noch keine Änderung:


2016.04.16 13:13:22.279 5: enter set R70LI: R70LI hash: HASH(0x3c15b28), attributes: R70LI, ?
2016.04.16 13:13:22.282 5: enter get R70LI: R70LI hash: HASH(0x3c15b28), attributes: R70LI, ?
2016.04.16 13:13:27.272 5: enter update R70LI: R70LI
2016.04.16 13:13:27.273 5: enter get R70LI: R70LI hash: HASH(0x3c15b28), attributes: R70LI, status
2016.04.16 13:13:27.282 5: exit update
2016.04.16 13:13:27.338 3: callback - url http://xxx.xxx.xxx.xxx/json?cmd=status returned: {"successful": true:"status": {"status": 1, "mode": 0, "battery": 66, "hours": 689}:"timer": {"status": 1}}
2016.04.16 13:13:27.339 3: callback - url http://xxx.xxx.xxx.xxx/json?cmd=status repaired: {"successful": true,"status": {"status": 1, "mode": 0, "battery": 66, "hours": 689},"timer": {"status": 1}}
2016.04.16 13:13:27.339 5: decodeContent - NAME: kommunikation, VALUE: 1
2016.04.16 13:13:27.340 5: callback - communication ok
2016.04.16 13:13:37.080 5: enter get R70LI: R70LI hash: HASH(0x3c15b28), attributes: R70LI, status
2016.04.16 13:13:37.143 3: callback - url http://xxx.xxx.xxx.xxx/json?cmd=status returned: {"successful": true:"status": {"status": 1, "mode": 0, "battery": 66, "hours": 689}:"timer": {"status": 1}}
2016.04.16 13:13:37.145 3: callback - url http://xxx.xxx.xxx.xxx/json?cmd=status repaired: {"successful": true,"status": {"status": 1, "mode": 0, "battery": 66, "hours": 689},"timer": {"status": 1}}
2016.04.16 13:13:37.146 5: decodeContent - NAME: kommunikation, VALUE: 1
2016.04.16 13:13:37.146 5: callback - communication ok
2016.04.16 13:14:03.796 5: enter get R70LI: R70LI hash: HASH(0x3c15b28), attributes: R70LI, status
2016.04.16 13:14:03.916 3: callback - url http://xxx.xxx.xxx.xxx/json?cmd=status returned: {"successful": true:"status": {"status": 1, "mode": 0, "battery": 66, "hours": 689}:"timer": {"status": 1}}
2016.04.16 13:14:03.917 3: callback - url http://xxx.xxx.xxx.xxx/json?cmd=status repaired: {"successful": true,"status": {"status": 1, "mode": 0, "battery": 66, "hours": 689},"timer": {"status": 1}}
2016.04.16 13:14:03.918 5: decodeContent - NAME: kommunikation, VALUE: 1
2016.04.16 13:14:03.918 5: callback - communication ok
2016.04.16 13:14:05.115 5: enter set R70LI: R70LI hash: HASH(0x3c15b28), attributes: R70LI, ?
2016.04.16 13:14:05.117 5: enter get R70LI: R70LI hash: HASH(0x3c15b28), attributes: R70LI, ?
2016.04.16 13:14:06.923 5: enter set R70LI: R70LI hash: HASH(0x3c15b28), attributes: R70LI, ?
2016.04.16 13:14:06.925 5: enter get R70LI: R70LI hash: HASH(0x3c15b28), attributes: R70LI, ?
2016.04.16 13:14:09.511 5: enter set R70LI: R70LI hash: HASH(0x3c15b28), attributes: R70LI, ?
2016.04.16 13:14:09.514 5: enter get R70LI: R70LI hash: HASH(0x3c15b28), attributes: R70LI, ?
2016.04.16 13:14:57.288 5: enter update R70LI: R70LI
2016.04.16 13:14:57.289 5: enter get R70LI: R70LI hash: HASH(0x3c15b28), attributes: R70LI, status
2016.04.16 13:14:57.292 5: exit update
2016.04.16 13:14:57.340 3: callback - url http://xxx.xxx.xxx.xxx/json?cmd=status returned: {"successful": true:"status": {"status": 1, "mode": 0, "battery": 66, "hours": 689}:"timer": {"status": 1}}
2016.04.16 13:14:57.341 3: callback - url http://xxx.xxx.xxx.xxx/json?cmd=status repaired: {"successful": true,"status": {"status": 1, "mode": 0, "battery": 66, "hours": 689},"timer": {"status": 1}}
2016.04.16 13:14:57.342 5: decodeContent - NAME: kommunikation, VALUE: 1
2016.04.16 13:14:57.342 5: callback - communication ok
2016.04.16 13:16:27.303 5: enter update R70LI: R70LI
2016.04.16 13:16:27.305 5: enter get R70LI: R70LI hash: HASH(0x3c15b28), attributes: R70LI, status
2016.04.16 13:16:27.315 5: exit update
2016.04.16 13:16:27.367 3: callback - url http://xxx.xxx.xxx.xxx/json?cmd=status returned: {"successful": true:"status": {"status": 1, "mode": 0, "battery": 66, "hours": 689}:"timer": {"status": 1}}
2016.04.16 13:16:27.368 3: callback - url http://xxx.xxx.xxx.xxx/json?cmd=status repaired: {"successful": true,"status": {"status": 1, "mode": 0, "battery": 66, "hours": 689},"timer": {"status": 1}}
2016.04.16 13:16:27.369 5: decodeContent - NAME: kommunikation, VALUE: 1
2016.04.16 13:16:27.369 5: callback - communication ok
2016.04.16 13:16:46.617 5: enter get R70LI: R70LI hash: HASH(0x3c15b28), attributes: R70LI, status
2016.04.16 13:16:46.787 3: callback - url http://xxx.xxx.xxx.xxx/json?cmd=status returned: {"successful": true:"status": {"status": 1, "mode": 0, "battery": 66, "hours": 689}:"timer": {"status": 1}}
2016.04.16 13:16:46.788 3: callback - url http://xxx.xxx.xxx.xxx/json?cmd=status repaired: {"successful": true,"status": {"status": 1, "mode": 0, "battery": 66, "hours": 689},"timer": {"status": 1}}
2016.04.16 13:16:46.689 5: decodeContent - NAME: kommunikation, VALUE: 1
2016.04.16 13:16:46.689 5: callback - communication ok
2016.04.16 13:16:47.860 5: enter set R70LI: R70LI hash: HASH(0x3c15b28), attributes: R70LI, ?
2016.04.16 13:16:47.862 5: enter get R70LI: R70LI hash: HASH(0x3c15b28), attributes: R70LI, ?


schöne Grüße
Jo

Andi291

Ich verstehs nicht...Hast Du sonst noch Json aufm Rechner? Ich habe nur jsonlibs-perl.

Bei Dir wird dem key "successful" = "Kommunikation" der Wert "1" und nicht der Wert "true" zugewiesen.

2016.04.16 13:13:37.146 5: decodeContent - NAME: kommunikation, VALUE: 1

Ich vermute, er nimmt irgendwas aus den anderen Elementen. Hau doch bitte mal bei Zeile 397 ein paar prints mit answer und dessen unerelementen rein. Die Unterelemente müssten sinngemäß diese sein:

http://www.robonect.de/viewtopic.php?f=11&t=38&sid=060bcdc33e706e5ed38c42373bfd28dd

Ich kann's mir wirklich grad nicht erklären...In der decode_json hab ich 0,0 Aktien...


shorty1111

Ich hätte dann auch noch nen Log für dich, wie das hier mit code geht finde ich nicht deshalb als Textdatei im Anhang. Auch hier die gleichen Symptome die Readings werden nicht upgedatet.

Jojo11

#71
Ich schau mir das gleich noch mal an. Ich meine ich habe JSON für fronthem/smartVISU installiert:

sudo cpanm JSON

http://www.fhemwiki.de/wiki/Installation_Fronthem

Das habe ich noch  installiert:

libjson-c2:armhf
libjson-perl


schöne Grüße
Jo

Andi291

Hm. Sieht ähnlich aus wie bei Jo. Ist die Version von gestern, oder?

shorty1111


Jojo11

Zitat von: Andi291 am 16 April 2016, 16:51:21
...
Hau doch bitte mal bei Zeile 397 ein paar prints mit answer und dessen unerelementen rein.
...

:o
Mach ich sofort, aber ich versteh' nur Bahnhof  ;D
Hast Du ein Beispiel?

Was ich immer noch nicht verstehe: In der ursprünglichen AutoMower hat das Status-Auslesen ja bestens funktioniert...? Hast Du da grundlegend etwas geändert?

schöne Grüße
Jo