NEWS
[neuer Adapter] smartgarden adapter for Gardena smart system
-
@jpgorganizer
Vielen Dank. Hatte gerade mit der Entwicklung eines Adapters begonnen und kann das nun sein lassenEine Sache habe ich aber, die ich anregen möchte: Könnte man vielleicht bei "SERVICE_XXX" die ID weglassen? Die entspricht ja der vom Device, weil es eine Abhängigkeit davon ist, macht es aber schwieriger, bspw auf alle Devices zu lauschen.
Also bspw:
smartgarden.0.LOCATION_xxxxxxxxxxxxx.DEVICE_yyyyyyyyyyy.SERVICE_COMMON
stattsmartgarden.0.LOCATION_xxxxxxxxxxxxx.DEVICE_yyyyyyyyyyy.SERVICE_COMMON_yyyyyyyyyyyyy
Viele Grüße
-
Ich habe auch gerade einen Absturz gehabt:
host.nexus 2020-03-25 17:52:19.168 info instance system.adapter.smartgarden.0 terminated with code 0 (NO_ERROR) host.nexus 2020-03-25 17:52:19.168 error Caught by controller[0]: at process._tickCallback (internal/process/next_tick.js:68:7) host.nexus 2020-03-25 17:52:19.168 error Caught by controller[0]: at promise.then (/opt/iobroker/node_modules/standard-as-callback/built/index.js:19:49) host.nexus 2020-03-25 17:52:19.168 error Caught by controller[0]: at tryCatcher (/opt/iobroker/node_modules/standard-as-callback/built/utils.js:11:23) host.nexus 2020-03-25 17:52:19.168 error Caught by controller[0]: at client.get (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:572:33) host.nexus 2020-03-25 17:52:19.168 error Caught by controller[0]: at /opt/iobroker/node_modules/iobroker.smartgarden/lib/api.js:1068:35 host.nexus 2020-03-25 17:52:19.167 error Caught by controller[0]: TypeError: Cannot read property 'val' of null smartgarden.0 2020-03-25 17:52:18.627 info (13040) Terminated (NO_ERROR): Without reason smartgarden.0 2020-03-25 17:52:18.624 info (13040) terminating smartgarden.0 2020-03-25 17:52:18.613 info (13040) cleaned everything up... smartgarden.0 2020-03-25 17:52:18.612 error (13040) TypeError: Cannot read property 'val' of null at /opt/iobroker/node_modules/iobroker.smartgarden/lib/api.js:1068:35 at client.get (/opt/iobroker/node_modules/iobroker.js-controller/lib smartgarden.0 2020-03-25 17:52:18.612 error (13040) uncaught exception: Cannot read property 'val' of null smartgarden.0 2020-03-25 17:52:18.595 info (13040) on_pong: ++ pong'ed ++```
-
@StrathCole sagte in [neuer Adapter] smartgarden adapter for Gardena smart system:
habe auch gerade einen Absturz gehabt:
auf welchem Wert steht in deiner Config des Adapters die Variable
useTestVariable
?@StrathCole sagte in [neuer Adapter] smartgarden adapter for Gardena smart system:
Könnte man vielleicht bei "SERVICE_XXX" die ID weglassen? Die entspricht ja der vom Device
es ist nicht immer die gleiche ID, z.B. bei den VALVEs.
Grüße
jpgorganizer -
@jpgorganizer sagte in [neuer Adapter] smartgarden adapter for Gardena smart system:
auf welchem Wert steht in deiner Config des Adapters die Variable useTestVariable?
Hab sie nicht verändert.
-
@StrathCole und steht deshalb auf ????
-
@jpgorganizer sagte in [neuer Adapter] smartgarden adapter for Gardena smart system:
@StrathCole und steht deshalb auf ????
true
-
@jpgorganizer Ich glaube hier:
https://github.com/jpgorganizer/ioBroker.smartgarden/blob/master/lib/api.js#L1066
fehlt die Prüfung:
if(!err && state) ...
-
@jpgorganizer Die Prüfung auf Error und obj/state fehlt auch an vielen anderen Stellen, an denen getState verwendet wird. Dadurch crasht der Adapter, sobald einer der States nicht existiert/gelesen werden kann, beispielweise hier: https://github.com/jpgorganizer/ioBroker.smartgarden/blob/master/lib/api.js#L188
-
du hast zwar recht, dass die Prüfung fehlt, aber die Frage ist eine ganz andere, nämlich warum sollte der State nicht da sein.
Grüße
jpgorganizer -
@jpgorganizer
Sorry, wenn ich dich gerade zuspamme hier. Ich hätte für zukünftige Versionen noch zwei Wünsche für die MOWER devices:-
Voraussichtlicher nächster Start des Mähers
Das müsste ja prognostizierbar sein, indem man misst, wie schnell die Batterieladung voranschreitet, solange er auf OK_CHARGING steht. Dann könnte man die Restladedauer bis 100% schätzen. Natürlich funktioniert das nur, solange das Mähen laut Timer gerade aktiv ist und nicht in den Ruhephasen. Da liefert die API leider keinen Wert der Schedules. -
Voraussichtliche Rest-Mähdauer
Das müsste auch wieder anhand der Restbatterieladung ermittelbar sein, indem man historisch misst und speichert, bei welcher Restladung der Mäher in die Station fährt und wie lange es bis zu dieser Restladung dauert.
Ist natürlich für den Betrieb nicht essentiell, aber wäre schon cool
Danke auf jeden Fall schon mal für die Arbeit bis hierher. Wenn du möchtest, dass ich gewisse Dinge selbst einbaue und als Pull Request im Git mache, gib mir einfach Bescheid.
-
-
@jpgorganizer sagte in [neuer Adapter] smartgarden adapter for Gardena smart system:
du hast zwar recht, dass die Prüfung fehlt, aber die Frage ist eine ganz andere, nämlich warum sollte der State nicht da sein.
Das Object
smartgarden.0.testVariable
existiert bei mir. Es ist allerdings "leer", hat also keinen Wert. Vermutlich ist daher "state" als Variablenull
.Du legst das Objekt ja mit
adapter.setObjectAsync(
an. Ich weiß nicht, ob das vielleicht nur das Objekt anlegt, aber keinen State wie escreateState
odersetState
machen würde. -
@jpgorganizer Habe es gerade getestet, indem ich dem State via Admin einfach einen Wert zugewiesen habe. Schon ist der Fehler weg. Problem scheint wirklich zu sein, dass du nur ein Objekt anlegst, aber keinen State.
-
@jpgorganizer
Noch eine Sache (leider): Der StatelastErrorCode_value
existiert scheinbar nur, wenn er das erste Mal von der API gesendet wurde. Vielleicht kannst du den vorab schon anlegen, sonst kann ich ihn nicht korrekt in meiner Vis einbinden. -
@StrathCole sagte in [neuer Adapter] smartgarden adapter for Gardena smart system:
Das Object smartgarden.0.testVariable existiert bei mir. Es ist allerdings "leer", hat also keinen Wert. Vermutlich ist daher "state" als Variable null.
ja, genau das wird es sein, und deshalb wollte ich ja auch wissen auf welcher Wert in der Config steht ....
Die anderen Vorschläge muss ich mir mal ansehen. Grundsätzlich finde ich es sehr gut, wenn Ideen benannt werden. Damit kann der Adapter nur "besser" werden.
Grüße
jpgorganizer -
@jpgorganizer sagte in [neuer Adapter] smartgarden adapter for Gardena smart system:
Die anderen Vorschläge muss ich mir mal ansehen. Grundsätzlich finde ich es sehr gut, wenn Ideen benannt werden. Damit kann der Adapter nur "besser" werden.
Wie gesagt, wenn ich etwas als Pull Request selbst umsetzen soll, gib Bescheid. Habe inzwischen selbst ein paar Adapter gebaut.
-
Version 0.3.0 ist auf github
@dslraser
das Problem mit readonly States sollte nun gefixed sein. Ich kann es bei mir nicht testen, da das Problem bei mir nicht auftritt. Bitte testen@StrathCole
Problem mit testVariable sollte gefixed sein. Bitte testen@StrathCole
deine Ideen mit den Vorhersagen zur Laufzeit etc. des Mähers und auch für die Pre-Definition von States bitte je einen Request in github aufmachen. Dann geht es uns nicht verloren. Insbesondere die Vorhersage gefällt mir. Ich denke am WoEnde kann ich da was machen. Morgen/Übermorgen muss ich erst meine Bewässerungsanlage fertigstellen und kann erst am Abend wieder was machen.Grüße
jpgorganizer -
@jpgorganizer sagte in [neuer Adapter] smartgarden adapter for Gardena smart system:
das Problem mit readonly States sollte nun gefixed sein. Ich kann es bei mir nicht testen, da das Problem bei mir nicht auftritt. Bitte testen
Version 0.3.0
funktioniert jetzt bei mir auch ohne Expertenmodus.einzelne Ventile stoppen funktioniert, aber der DP
.stop_all_valves_i
mitSTOP_UNTIL_NEXT_TASK
funktioniert bei mir nicht. -
@jpgorganizer sagte in [neuer Adapter] smartgarden adapter for Gardena smart system:
bitte je einen Request in github aufmachen
Danke, hab ich gemacht. Den Test mit der neuen Version werde ich bei Gelegenheit machen, vielleicht warte ich aber noch bis nach dem Wochenende Falls es bis dahin schon wieder ne neue Version gibt.
-
Habe noch ein Issue angelegt für die Objekttypen etc.
-
@StrathCole sagte in [neuer Adapter] smartgarden adapter for Gardena smart system:
Habe noch ein Issue angelegt für die Objekttypen etc.
Das wäre wirklich Sinnvoll, da ich im Moment in meinem Blockly für die Bewässerung immer erst umformatieren muß in Zahlen. Ich wollte das gestern schon schreiben, aber das hast Du ja nun schon getan.