[Modul] Gardena (6.0+)

Ich bin da immer ein Freund von SetSummary.
https://www.symcon.de/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/module/setsummary/

Dann sieht man gleich im Objektbaum, um welches konkrete Gerät es sich handelt.

1 „Gefällt mir“

Das stimmt, das wäre zumindest eine Option da schon mal die Seriennummer beim anlegen der Instanz reinzuschreiben.

Nichts desto trotz wenn ich die Seriennummer auch im Webfront oder in einer externen Visualisierung anzeigen will, brauche ich dafür eine Variable. Ich würde nur ungern den Weg gehen wollen dann wieder mit einem Skript das Beschreibungsfeld auslesen zu müssen nur um das in eine Variable zu schreiben. Dann lieber generell eine Variable mehr, nachdem wir ja nicht die Freiheit haben selber auszusuchen was wir genau brauchen bzw. als Variable auch nutzten wollen :wink:

Das ist sicherlich ein Spezialfall. Dann müsste man ja konsequenterweise auch bei anderen Geräten (z.B. Homematic) die Seriennummer als Variable anbieten. :thinking:

Ich habe mal gerade geschaut was die „Konkurrenz“ sprich Online Dienste wie IFTTT so anbieten.

Das wäre was als Vorlage für mögliche Aktionen

  • Bewässerung beenden wenn der Wind zu stark ist
  • Bewässerung unterbrechen wenn Regen erkannt wird
  • Rasenmäher bei Regen automatisch zum Ladestation zurückfahren

Ansonsten fällt mir gerade noch ein das ich gerne eine Variable für die Restlaufzeit der Bewässerung hätte. Dann könnte man nämlich auch Alexa oder andere Dienste fragen wie lange die Bewässerung noch läuft.

So sehe ich das auch. SetSummary finde ich nicht verkehrt - aber in eine Variable passt nicht in unser Konzept. Da müsstest du dir selber etwas bauen, und die Seriennummer per Hand eintragen.

Icons passen wir an. Guter Einwand.

paresy

Wo wir wieder beim Punkt das war schon immer so wären :wink:.
Bisher musste ich also immer wenn ich so was will selber eine Variable anlegen und dann den Wert dort halt reinschreiben wenn ich so was brauche.

Warum man nicht generell darüber nachdenkt bestimmte Information optional dem Benutzer zu überlassen ob er diese nutzten will bzw. angezeigt haben will sollte doch möglich sein. Wenn es Module gibt, die die Anzahl der Variablen, die man benötigt, aussuchen lassen kann, ist das durchaus hilfreich. Wenn das IP-Symcon so nicht anbieten will, weil man dann dem Kunden zu viel Selbstbestimmung zugesteht, von mir aus auch ok, ich feilsche nicht um eine Variable mehr oder weniger.
Aber wenn diese Variable schon existiert, habe ich zumindest die Möglichkeit wie bei anderen Geräten in IP-Symcon auch, diese einfach auzublenden, so das ich diese nicht im Webfront angezeigt bekomme.

Von mir aus, dazu sollte man diese dann aber auch angezeigt bekommen, in dem Konfigurationsformular selber bzw. auslesen können aus einem Feld wie der Beschreibung.

Genau. Wenn es über SetSummary gesetzt ist, bekommst du es über

IPS_GetObject ($ObjektID)['ObjectSummary']

Ja wenn, zur Zeit ist die Seriennummer aber nirgends enthalten. Von mir aus würde mir auch eine separate Methode
GARDENA_GetSerialnumber($instanceid);
vollkommen reichen, dann lese ich diese eben mit einem Skript aus.

Kannst du mir ein wenig mehr Informationen geben wofür die Seriennummer in einem Skript/einer Variable so wichtig ist? Vielleicht habe ich den Use-Case noch nicht verstanden.

paresy

Ich bin einfach ein neugieriger Mensch, nein Spaß beiseite. Da gibt es sicher unterschiedliche Denkweisen und Ansätze. Die einen nutzten am Schluss doch verschiede Apps um etwas zu machen oder nachzuschlagen und haben auch nicht den Anspruch die Original App des Hersteller im Funktionsumfang nachzubauen.

Ich betrachte IP-Symcon als System das mir von unterschiedlichen Herstellern die notwendigen Informationen zur Verfügung stellt um mit dieser mit einer einzigen Bedienungsoberfläche nutzten zu können. Dazu möchte ich aber nach Möglichkeit eben in dieser Oberfläche auch bei Bedarf die gleichen Informationen angezeigt bekommen, wie ich das auch in der Original App habe. Das ist letztlich alles. Wenn solche Informationen in der Gardena App einsehbar sind und die API diese Informationen auch liefert, dann möchte ich das auch in einer eigenen Visualisierung nutzten können, ich beabsichtige dann nämlich die Gardena App im Alltag kaum noch zu nutzten, dazu habe ich ja IP-Symcon.

Und den Zeitpunkt der Letzen Übertragung finde ich auch durchaus relevant. Weil der Zeitpunkt der Variablenaktualisierung nicht mit dem Zeitpunkt übereinstimmt wann das Gerät das letzte mal Aktiv Daten an das Gardena Gateway geschickt hat.

Bei Versuch auf Befehle testen zu gehen kommt ein Abbruch und eine Fehlermeldung
Undefinied offset 0 in Line 88

Die Daten aktualisieren sich gerade bei mir auch nicht mehr.

Ist der WebSocket noch korrekt aktiv?

paresy

Woran sehe ich das? Ein rotes Ausrufezeichen hat er zumindest nicht aber Daten kommen im Debug keine rein, außer Ping steht da nichts

Ändert sich denn aktiv etwas? Es kommen ja nur Änderungen dadrüber.

paresy

Na ja das Licht z.B. ist ja inzwischen dunkel, nach IP-Symcon aber noch hell draußen.

Du kannst ja mal in der Cloud Instanz die Web Socket Verbindung zurücksetzen. Dann wird alles aktualisiert.

Sofern der WebSocket nicht rot ist, kann es sein dass die API dies nicht korrekt empfängt oder wir es falsch auswerten :slight_smile:

paresy

Jetzt kommt wieder was, die Frage ist also eher warum „schläft“ die Verbindung ein. Ist ja unschön wenn man den Websocket zurücksetzten muss. Wenn sollte das automatisch gehen.

In der App habe ich jetzt eine Frostwarnung am Sensor, keine Ahnung ob das mit der API auch übergeben wird.