NEWS
[neuer Adapter] Gardena Smart System API
-
@Stefan1984 Hallo, wenn ich mir die Bedienungsanleitung meins Sileno Life 750 so ansehen, dann steht da auf Seite 33 ein Hinweis, dass jeder Mäher eine sogenannte "Mindest-Stand-By-Zeit" hat. Diese ist abhängig von der Flächen-Größe, für die der Mäher ausgelegt ist.
Modell Stand-by-Zeit, Mindestanzahl Stunden pro Tag
1250 m2 => 3 Stunden
1.000 m2 => 8 Stunden
500 m2 => 13 Stunden
250 m2 => 19 StundenWie man an dieser Tabelle sehen kann, kann ein Mähroboter, der von Gardena für eine Rasenfläche von 500 m² ausgelegt ist, also pro Tag nur maximal 11 Stunden mähen. Einer der für 250 m² ausgelegt ist demnach nur 5 Stunden. Was ich daran aber nicht verstehe ist, warum die Ladezeiten nicht als Stand-By-Zeit gerechnet werden. Denn in dieser Zeit mäht er ja nicht. Wenn man mal davon ausgeht, dass der Mäher vielleicht eine Stunde mäht und dann wieder für eine Stunde aufgeladen werden muss, dann reduziert sich die reine Mähzeit im Grunde genommen auf maximal 6 Stunden für ein 500 m² Modell. Warum Gardena das so macht kann sich ja sicherlich jeder denken
Mal eine andere Frage: Kann man mit diesem Adapter eigentlich auch eine Art "Log" auslesen/anzeigen, aus denen die wirklichen Mäh- bzw. Ladezeiten hervorgehen? Wenn ja, wie kann man das "bauen"?
-
@Franklin
Ja klar. Du könntest einfach den Status-DP loggen und aus den Uhrzeiten, wann der Mäher den Status wechselt, die jeweils vergangenen Zeiten berechnen.Oder du nutzt die Datenpunkte, die dir die kumulierten Werte für Laufzeit und Mähzeit liefern. Dort fehlt dann jedoch die Ladezeit.
-
Hmm, ja das ist eine Möglichkeit. Ich möchte schon gerne eine Liste haben, aus der genau hervorgeht, wann das E-Schaf was gemacht hat. z.B. in dieser Form:
08:00 Uhr => Mähen
09:10 Uhr => Laden
10:15 Uhr => Mähen
....Da ist der Vorschlag mit dem Abgreifen des Status-DP schon mal ein guter Ansatz. Bei einem Wechsel müsste ich diesen dann irgendwie in eine Art Datenbank schreiben, damit ich die Daten dann dort wieder auslesen kann. Wie bekommt man denn mit, dass sich z.B. der Status-Datenpunkt geändert hat? Muss ich den immer wieder abfragen oder gibt es da eine andere Möglichkeit?
Wie ihr schon merkt habe ich gerade erst angefangen, mich mit ioBroker zu beschäftigen. Von daher auch meine vielen Fragen.
Also muss ich mich dann jetzt mal ein wenig mehr mit dem Scripten beschäftigen. Zwei kleine erste Scripte, um mein E-Schaf per Knopfdruck zum Mähen raus zu schicken und ihn wieder zurück in die Ladestation zu schicken habe ich schon erfolgreich erstellt. Allerdings kämpfe ich im Moment gerade damit, ein Script zu erstellen, mit dem ich auf Knopfdruck den aktuellen Status meines E-Schafes auslesen kann. Da bekomme ich im Moment immer nur eine Fehlermeldung und habe noch nicht heraus gefunden warum. Aber wie gesagt, ich habe gerade erst angefangen, mich mit dem ganzen Thema zu beschäftigen.
Mal eine andere Frage. In der Gardena APP meines E-Schafes (Sileno Life 750) kann ich als Status auch sehen, wenn das E-Schaf wegen dem Sensor-Control (Rasen braucht nicht gemäht zu werden) in die Ladestation gefahren ist. Kann ich diese Information auch mit dem Adapter irgendwie abgreifen? Habe bisher allerdings keinen Datenpunkt gefunden, der mir diese Info liefert.
-
So, ich habe das in der Zwischenzeit hin bekommen und die Zeiten werden in eine Datenbank geschrieben. Dafür habe ich mir eine InfluxDB installiert und nutze dann den entsprechenden Adapter, um die Werte in eine Datenbank zu schreiben. Das klappt schon mal ganz gut. Jetzt würde ich aber zu den Zeiten auch noch jeweils zusätzliche Informationen in die Datenbank schreiben wollen (z.B. den Ladestand des Akkus oder das aktuelle Wetter). Hat da jemand eine Idee, wie man das hinbekommen könnte?
-
@Franklin
Wenn du einfach nur die Werte haben willst, dann kannst du sie ja ganz normal über die Log-Funktion in die Datenbank schreiben.Sollen sie jedoch zusammenhängend und Listentauglich sein - zum Beispiel, dass du dir eine Liste ausgibst, mit welchem Akkustand der Mäher wann genau in die Ladestation gefahren ist - dann würde ich ein Script schreiben:
Als Trigger den Status nutzen. Wenn der sich nach OK_searching ändert, dann den Status und den Ladestand in separate Datenpunkte schreiben.
Ob du die Datenpunkte dann loggst, oder dir eine HTML-Liste mit den letzten 10 Werten erzeugst, hängt von deiner Anwendung ab. -
So, ich bin jetzt schon ein ganzes Stück weiter mit dem Adapter. Aber eine Sache kommt mir echt komisch vor und ich denke mal, dass da ein kleiner Bug in dem Adapter ist. Ich möchte mir die Zeit anzeigen lassen, zu der der Mähroboter das nächste mal die Ladestation verlässt, um wieder zu mähen, Wenn ich bei dem Objekt nachsehe (unter "timestamp_next_start") dann steht dort auch der richtige Wert drin (z.B. "2019-09-25T06:00Z"). Das heißt der Mähroboter wird morgen früh um 08:00 Uhr wieder die Ladestation verlassen, um zu mähen. Wenn ich genau diesen Wert aber in meiner Oberfläche im VIS anzeigen lassen, steht da immer die Uhrzeit drin, an dem die Anzeige das letzte mal aktualisiert worden ist und nicht der Wert aus dem Objekt.
Das kann doch eigentlich nicht richtig sein, oder?
-
@Franklin Also bei mir funktioniert das in VIS. Wie hast Du das denn in VIS realisiert? Vielleicht hast Du den timestamp von dem Datenpunkt benutzt, wann der Datenpunkt aktualisiert wurde und nicht den Value.
-
@klausiob Hmm, ja du hattest Recht. Das ist wirklich der Timestamp gewesen Jetzt zeigt er den nächsten Startpunkt richtig an.
Da ich mich noch nicht so lange mit dem ioBroker beschäftige, wird mir jetzt aber nach und nach immer mehr klar, wie das Ding funktioniert. Man kann da echt super viele Dinge machen und es macht echt Spaß.
-
Hmm, jetzt noch mal eine andere Frage. Ich habe unter "gardena.0.datapoints.....abilities.xxxx." eigene Datenpunkte angelegt. Diese verschwinden aber nach einiger Zeit von dort und sind weg. Kann man das verindern? Es muss doch irgendwie möglich sein, eigene Datenpunkte anzulegen. In anderen Adapatern (z.B. "Tankerkoenig" und "Homepilot" (Rademacher) bleiben die eigenen Datenpunkte erhalten und werden nicht nach einiger Zeit gelöscht (bis jetzt zumindest nicht). Das scheint also irgendwie mit dem "Gardena"-Adapter zusammen zu hängen.
Gibt es keine Möglichkeit einen eigenen Bereich direkt im Root des Objekt-Baumes anzulegen, in dem man dann alle möglichen eigenen Datenpunkte ablegen kann? Oder wie kann ich das sonst für den Gardena-Adapter umsetzen, dass die eigenen Datenpunkte nicht nach einiger Zeit einfach wieder gelöscht werden?
-
@Franklin Es sieht bei mir so aus, als würde bei jeder Abfrage der Objekt-Baum neu erstellt. Aber das kann wahrscheinlich nur einer bestätigen, der sich mit dem Adapter-Code auskennt. Ein Hinweis ist evtl., wenn ich den Sileno-Baum zuklappe, klappt er sich nach der Abfrage automatisch auf.
Ich habe unter der javascript.0 Instanz ein Objekt javascript.0.Eigene_Datenpunkte.gardena.mower und darunter eigene Objekte angelegt. -
@klausiob Hmm, das ist eine gute Idee. Das habe ich jetzt auch so gemacht und die Datenpunkte bleiben dort erhalten und werden nicht mehr gelöscht. Ich werde das dann jetzt auch mal für alle anderen von mir erstellten Datenpunkte machen und alle in diesen neuen Ordner unter "javascript.0" verschieben.
Gibt es eigentlich eine Möglichkeit ein Widget per Script/Befehl dazu zu bringen, sich zu aktualisieren? Oder vielleicht auch eine ganze View (alle Widgets darauf)? Ich kämpfe im Moment noch damit, dass in den Widgets nicht immer sofort die geänderten Werte der Datenpunkte angezeigt werden. Das dauert manchmal recht lange bis die neuen Werte angezeigt werden und manchmal hilft auch nur ein Reload der Webseite.
-
@Franklin Bist Du noch bei dem Gardena-Adapter? In der Konfiguration von der Instanz wird ja ein Abrufintervall eingestellt. Ich habe da 60s. In diesem Intervall werden die Daten von dem Husqvuarna-Server abgefragt. Mehr Real-Time geht nicht, es sei denn du benutzt den trigger_poll-Button. Die Widget und Views sollten eigentlich auf die Datenpunkte eventgesteuert reagieren.
-
Guten Morgen zusammen,
ich habe eine Frage.
Möchte mir für meine VIS die Anzeige einbauen, wann der Roboter wieder rausfährt, wenn er gerade lädt.
Das gibt es ja: timestamp_next_start
Das Objekt wird auch erzeugt.
Leider wird mir die Uhrzeit immer mit 2 Stunden Abzug angezeigt.
Steht in der Gardena App: Nächster Start 11:30 Uhr, wird in dem ioBroker Objekt 09:30 Uhr angezeigt.Wie zeigt man dann in der VIS trotzdem den richtigen Wert an? Müsste a 120 Min draufrechnen.
Vielen Dank für die Hilfe.
-
Hi,
du kannst den Wert formatieren, dann passt die Anzeige. Z.B.:valueStartzeitOut = (formatDate(value, "TT.MM.JJ SS:mm"));
siehe:
https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/javascript.md#formatdate -
@Kaiman55 Das ist die Zeitzone UTC+2.
Entweder in einem basic-HTML-Widget:{gardena.0.datapoints.xxxxx;date(DD.MM.YY hh:mm)}
oder im Skript mit einer Funktion function convertISOdate(isodate).
-
-
@Kaiman55 Wie zeigst Du denn jetzt den Wert in VIS an (Widget)?
-
Hi,
bin komplett neu in dem Thema. Da mein Sileno und meine IC aufgrund der Jahreszeit außer Betrieb sind, wollte ich einfach mal mit der Smart Steckdose beginnen.
Aber irgendwie bekomme ich nicht raus, ob diese eingeschaltet oder ausgeschaltet ist. Schalten selbst habe ich noch nicht versucht, das wäre dann der nächste Schritt, aber dafür muss ich ja wissen, welchen Datenpunkt ich brauche. Und genau daran scheint es zu scheitern.
Der Adapter ansich scheint zu laufen. Ich sehe zumindest Werte, die ich nachvollziehen kann.Es wäre nett, wenn mir einer sagen könnte (evtl. reicht ein Hinweis auf eine Doku), wie ich die richtigen Datenpunkte finde?
Adapter: v2.5.2 (frisch installiert)
Viele Grüße
Jpgorganizer -
Hallo, Ich weiss nicht wie ihr das macht, aber ich bekomme den Adapter nicht zum laufen. Kann es sein das der Server down ist?
Unter https://sg-api.dss.husqvarnagroup.net/#/session/new bekomme ich eine Server Fehlermeldung. -
@Mainframe
Der Server, von dem du sprichst, bringt bei mir auch einen Fehler, aber der Adapter läuft bei mir (scheinbar). Ich kann es nur nicht komplett testen, weil mein Robi noch im Winterschlaf ist