Deluxe Automatiserung für Rasenmäherroboter

Hi,

ich möchte meinen Mähroboter gerne automatisiert mähen lassen und brauche dafür eure Hilfe.

Ein simpler Zeitplan ist mir deutlich zu wenig, ich habe Automatisierungen gesehen, die das Wetter berücksichtigen und nicht fahren wenn es nass ist.

Mir geht das nicht weit genug, ich möchte gerne das Rasenwachstum berücksichtigen.

Ich bin hier alles andere als ein Experte, habe mir das Nachfolgende angelesen. Wenn es jemand besser weiß, dann bitte korrrigieren.

Rasen fängt erst mit dem Wachsen an, wenn es eine gewisse Zeit warm genug ist.

Diesen Wert nennt man Grünlandtemperatursumme (kurz GTS) und er ist je nach Rasen unterschiedlich zwischen 120 und 200.

Man berechnet die GTS so:

Neujahr geht es bei Null los, jeden Tag werden die Tagesmitteltemperaturen, die über 0° liegen, addiert. Januarwerte werden mit 0,5, Februartemperaturen mit 0,75 und alles ab März mit 1 gewichet

Es gibt auch Websites, die den Wert ausgeben (man muss auf den jeweiligen Ort klicken):

Hiermit könnte man also berechnen, ab wann der Rasen beginnt zu wachsen, also ab wann potentiell gemäht werden muss. Je nach Rasensorte liegt die Schwelle hier höher/niedriger.

Aber wie stark wächst der Rasen nun? Wenn er 0,1 mm die Woche wächst, muss man seltener mähen, als wenn es 5 mm sind.

Hierzu habe ich keine Formel gefunden, aber Diagramme die das Wchstum anzeigen:

Leider ist die Legende hier schwach. Ich gehe davon aus, dass das Wachstum in mm angegeben ist:

Januar: 0

Februar: 0

März: 20

April: 45

Mai: 70

Juni: 100

Juli: 95

August: 95

September: 80

Oktober: 60

November: 20

Dezember: 0

Bekommt ihr das in eine Automatisierung, dass der Mähroboter erst losfährt, wenn die GTS über 150 liegt und dann immer mäht, wenn der Rasen 5 mm nachgewchsen ist und das auch nur wenn der Rasen trocken ist?

Trocken würde ich so definieren:

Regenmenge in mm / vergangene Zeit nach Ende des Regens in Stunden < 5

Wenn mähen wegen Feuchtigkeit ausfällt, soll er das Mähen sofort nachholen, wenn es lange genug nicht geregnet hat.

Die Werte kann man natürlich individuell anpassen.

Ich möchte Dir Deine Pläne und Hoffnung jetzt nicht zerstören, :slightly_smiling_face: aber dazu wirst Du wohl auch nichts finden weil sich der GTS auf das Düngen bezieht und nichts darüber aussagt wie stark ein Rasen A, an dem Standort B und unter den Bedingungen C, dann wächst.

Wenn Du so etwas umsetzen wolltest müsstest Du dafür tatsächlich fortlaufend die Länge der Grashalme bei Deinem Rasen messen und das dann auch noch an verschiedenen Stellen, weil der Wuchs auf einer Rasenfläche üblicherweise auch nicht gleichmäßig erfolgt. Sofern die Rasenfläche nicht nur vielleicht 2 qm beträgt. :laughing:

Oder anders gesagt: Wenn Du das irgendwie berechnen wolltest müsstest Du u.a. einbeziehen:

  • Sonneneinstrahlung
  • Regenmenge
  • Lufttemperatur
  • Bodentemperatur
  • Luftfeuchtigkeit
  • Bodenfeuchtigkeit
  • Nähstoffgehalt im Boden (auch fortlaufend da dieser sich fortlaufend ändert)
  • Rasensorte und deren evtl. bekannte, gemittelte Wachstumsrate
  • Ggf. auch noch sonstige Faktoren die den Wuchs des Rasens ggf. behindern oder verhindern könnten. Z.B. Bäume und deren Schattenwurf, Nutzung der Rasenfläche, Moos im Rasen, usw.

Jetzt kannst Du ja für Dich mal selber einschätzen ob und wenn ja, welche Werte Du davon hast, oder irgendwie bekommen kannst.

VG Jim

Schon mal mit einem Gärtner gesprochen ?

Wenn Temperatur Tagsüber über 10°C liegt und Tageslichtdauer größer als (?) , fangt der an zu Wachsen.

Lass den Roboter doch einfach laufen. Meiner läuft von O bis O und gut ist.

Macht ja nichts kaputt. Overengineering ist selten gut.

just my 2 cents

Ich habe das mit der GTS so verstanden, dass Rasen erst ab einem bestimmten Wert anfängt zu wachsen.

Wie stark er wächst, möchte ich aus dem Diagramm unten entnehmen. Die absolute Höhe ist eigentlich egal. Ich habe 5 mm für die Automatisierung vorgeschlagen. Das könnte man einfahc auf weniger anpassen, wenn zu selten gemäht wird.

Im Diagramm sieht man, dass Rasen im Juni 5x so viel wächst, wie im November.

Das ist schon klar, aber trotzdem kommen dann die ganzen Faktoren ins Spiel die ich beispielhaft aufgelistet habe. Du solltest ja selber wissen das es auch im Juni und eben auch in den anderen Monaten - die Winterzeit mal ausgenommen - Tage und Wochen gibt in denen der Rasen schneller oder langsamer wächst. Eben weil sich der ein oder andere der o.g. Faktoren in der Woche ggf. geändert hat. Also kannst Du GTS und/oder irgendwelche Diagramme oder Tabellen, nur als grobe Orientierung für das Wachstum von Rasen nutzen. Du wirst damit aber niemals vorhersagen oder feststellen können um wie viele mm Dein Rasen bei Dir in der Woche x, y oder z ggf. wächst, sodass Dein Robi dann mähen muss oder soll weil der Rasen inzwischen um x mm gewachsen ist.

Ganz ehrlich: Setzt Deinen Robi so ein wie es andere User auch machen und es üblich ist und berücksichtige bei irgendwelchen Automatisierungen die Faktoren die Du auch sicher weißt, bzw. wissen könntest (Uhrzeit, Regen, zeitlicher Abstand) und vergiss Deine “Deluxe-Vorstellung”. Denn letztendlich spielt es ja nicht wirklich eine Rolle ob Dein Rasen seit dem letzten mähen um z.B. 3 mm, oder 5 mm, oder vielleicht schon 10 mm gewachsen ist. :wink:

VG Jim

Ich habe auch einen Mähbot.

Wenn ich im Frühjahr das Gefühl habe man sollte langsam mal wieder mähen, dann hole ich ihn aus dem Schuppen, lege den Akku ein, setzte ihn auf die Basisstation und starte ihn. Fertig.

Gemäht wird über die Logik vom Mähbot:

  • Uhrzeit
  • Regen
  • Schnitthöhe 5 cm
  • sonst nichts

Ich habe in den Einstellungen des Mähbots mit der Fläche meines Gartens maßlos übertrieben, jetzt mäht immer 1 (!) mm ab. Da ist es egal, wenn er eine Stelle mal 2 Tage “übersieht”

Kann mir denn jemand bei der Automatisierung helfen, auch wenn ihr der Meinung seid, dass es überflüssig ist?

Das wäre sehr nett.

Ich brauche dafür wahrscheinlich zwei Helfer:

  1. Helfer: zählt die GTS (Summe der positiven Tagesdurchschnittstemperaturen mit den Gewichtungen für Januar (50 %) und Februar (75 %) und setzt sie am 31.12 eines jeden Jahrs zurück
  2. Helfer: addiert das durchschnittliche tägliche Wachstum auf und setzt es direkt nach jedem Mähen wieder auf 0.

Ich habe bei 2. schon aus der monatlichen Summe das tägliche Wachstum errechnet. Das sind ab dem GTS jeden Tag andere Werte.

Mir ist schon klar, dass das nicht ganz stimmt, da das Wetter einen Einfluss hat. Nach festem Plan (z.B. 2x die Woche mähen ist für mich aber viel grober falsch, da der Rasen im Juni 5x so stark wächst, wie im März.

Bei Deinen Automationen kann ich Dir leider nicht helfen, weil ich mich mit den dafür benötigten und von Dir eingesetzten Daten und Datenquellen noch nicht weiter befasst habe und mir das jetzt - da bin ich ehrlich - :slightly_smiling_face: auch zu viel Aufwand wäre. Aber vielleicht gibt es hier ja einen User der so etwas Ähnliches, anhand der von Dir genannten/genutzen Datenquellen, für sich schon mal gemacht hat.

Wie gesagt will ich Dir Dein Vorhanden ganz sicher nicht ausreden, oder es gar schlecht machen, aber

wäre es in dem Fall nicht vielleicht viel einfacher einfach HA Automationen zu erstellen die eben nur den Monat und die in dem Monat unterschiedliche Wachstumsrate des Rasens als Faktor beinhalten und berücksichtigen? Also z.B. ganz einfach: Im März mähe z.B. 1 x die Woche und im Juni mähe z.B. 3 x die Woche. :wink:

VG Jim

Kannst Du denn inzwischen sagen wenn welchen Werten Du es überhaupt fest machen willst?

Damit hast Du doch schon Mal etwas. :wink:

Mein Problem ist, dass ich mit Home Assistant nicht rechnen kann. Ich habe keine Ahnung wie das geht

Oh, dem Mann kann geholfen werden! Das geht in YAML problemlos:

# Taschenrechner v0.1 :D
{{ (2 + 4) / 2 }}

# Achtung! Ist ein STRING. Damit kann man nicht rechnen!
{{ states.sensor.sonoff_snzb_02wd_aussen_temperature.state }}

# Umwandeln nach float ...
{{ (states.sensor.sonoff_snzb_02wd_aussen_temperature.state|float) }}

# ... oder INT. Dann aber ohne Nachkommastellen. ;)
{{ (states.sensor.sonoff_snzb_02wd_aussen_temperature.state|int) }}

# Durchschnitt zweier Temperaturen
{{ ((states.sensor.sonoff_snzb_02d_gz_temperature.state|float) + (states.sensor.sonoff_snzb_02wd_aussen_temperature.state|float)) / 2 }}

Schau mal unter Templating auf HA.io und direkt bei jinja. :wink:

Hmm ich weiß überhaupt nicht was ich jetzt machen soll.

Bei den Entwicklerwerkzeugen kann ich beim Template etwas eingeben. Aber was mache ich damit?

Ich habe jetzt berechnet, dass der Rasen im Mittel am 29.09 2,006 mm wächst.

Morgen sind es 2,002 mm, am 01. Oktober 1,998 mm.

Die Werte habe ich für jeden Tag.

Ich vermute, dass ich eine Entität erstellen muss, die, irgendwie einen Zusammenhang zu dem Templatelink von dir hat, und das Tageswchstum als Zahl ausgibt.

Wie das geht, weiß ich nicht. Ich habe insgesamt 262 Werte fürs Rasenwachstum an verschiedenen Tagen. Den Rest des Jahres wächst der Rasen nicht.

Geh doch mal logisch an die Sache ran. Der Rasen wächst (u.a.!) abhängig von der Außentemperatur?! Also musst Du jede Stunde die Außentemperatur „irgendwo“ auslesen. Das summierst Du für den ganzen Tag, also 24 mal. Am Ende des Tages, also um 23:59:59 teilst Du die Summe durch 24. Et voilát: Tagesdurchschnittstemperatur Nummer 1.

Für das Auslesen brauchst Du die Außentemperatur, also ein Thermometer draußen. Und für die Summe bietet sich ein Helfer an, der mit Zahlen umgehen kann. :wink:

So wie ich das verstanden habe möchte @JHA das aber (nur) anhand der oben erwähnten Diagramme und Tabellen (GTS und Temperatursumme) ausrechnen und somit nicht noch irgendwelche selbst gemessenen Werte da mit einfließen lassen.

Somit müssten die Werte über die externen Datenquellen zur Verfügung gestellt werden, damit er diese auch verwenden kann. Das hier

ist ja nur ein Beispiel dafür was er dann selber ausgerechnet hat, in dem er sich wohl zwei Werte aus den Datenquellen herangezogen hat.

VG Jim

Ich habe wie oben bereits geschrieben, Probleme mit den Rechnungen.

Ich habe kein Außenthermometer, aber die Integration ”Meteorologisk institutt (Met.no)”

Die hat einen Sensor “weather.forecast_home”, die aber nicht nur die Temperatur, sondern auch den Luftdruck anzeigt.

Ich habe einen Helfer “Statistik” angelegt, da kommt ein Fehler:

Entity weather.forecast_home belongs to domain weather, expected [‘binary_sensor’, ‘sensor’]

Wie gesagt, ich habe keine Ahnung und ich verstehe von der configuration eigentlich recht viel, hier hilft es mir aber echt null weiter.

Ich wäre euch sehr dankbar, wenn wir das Schritt für Schritt machen könnten:

Schritt 1:

Durchschnittstemperatur eines Tages errechnen

Schritt 2:

Summe der Durchschnittswerte errechnen

Schritt 3:

Rasenwachstum anhand “meiner” Werte (tägliches Wachtum) ausgeben.

Entschuldigung aber die Probleme möchte ich haben. Ich such auch immer um

etwas neues zu automatisieren.

Aber ehrlich ob das Gras jetzt, gemessen an der 3 Nachkommastelle wäschst….. ufff

Mein Mamotion fährt jeden Tag und wenn das gras nicht hoch genug ist, dann halt um sonst.

Im Sommer immer etwas Höher damit das Gas nicht verbrennt und gut ist

Sorry das war mein Kommentar dazu

Danke für deinen konstruktiven Beitrag. Hart mir sehr geholfen.

Mein Senf dazu:

Mit 2 oder weniger Nachkommastellen passt das tägliche Wachstum über den Monat nicht zum Gesamtwachstum.

Mir gehts hier um den Spaß und darum, etwas zu lernen - nämlich wie man mit Messwerten und Absolutwerten rechnet.

Mit …

… war nicht explizit gemeint, dass Du persönlich ein Außenthermometer haben musst. Wobei (D)ein eigenes Thermometer den Charme hätte, dass es unabhängig von externen Quellen funktioniert. Dein Provider hat eine Störung und das Internet liegt für mehrere Stunden lahm? Für mehrere Tage? Das Meteorologische Institut stellt den Dienst ein? So what? Dein Thermometer hängt ja draussen, ist 100% lokal und Du musst Dich nur um die Batterien kümmern! :wink:

Ein weiterer Charme ist, dass genau die Temperaturen in Deinem Garten in die Rechnung einfließen. Hier mal die Situation bei mir:

In der Mitte links die Temperatur meines Aussenthermometers, 15,1°C. Daneben die aktuelle Temperatur aus der Integration des … tadaaa … Meteorologisk institutt (Met.no), 14,1°C :laughing:

Ein (Aussen)thermometer kostet jetzt auch nicht die Welt. Ich nutze z.B. ein Sonoff SNZB-02WD dafür. Kostet keine 20,- Öre. Und jedes Jahr eine Batterie. Dafür reicht sogar mein Taschengeld! :wink:

Also … Du brauchst “irgendwo her” die Aussentemperatur. Die Integration des Meteorologisk institutt hast Du ja bereits. Schau mal unter Entwicklerwerkzeuge → Zustände und gib bei Entitäten filtern “weather” ein.

Bingo! Die Temperatur wird als Attribut von weather.forcast_home bereitgestellt. :wink:

Jetzt schnell rüber ins Template und da im Template-Editor …

{{ states.weather.forecast_home.attributes.temperature }}
{{state_attr('weather.forecast_home', 'temperature')}}

… eingeben, dann bekommst Du das heraus:

Die Temperatur haben wir also. Die muss nun jede Stunde ausgelesen und aufsummiert werden. Dazu brauchen wir einen Helfer. Schauen wir uns doch mal bei den Integrationen der Kategorie Helfer bei HA.io um:

Input number

The Input number integration allows the user to define values that can be controlled via the frontend and can be used within conditions of automation.

Passt. Die nehmen wir!

Einstellungen → Geräte & Dienste → Helfer → + Helfer erstellen

Fehlt noch eine Automation, die jede Stunde die aktuelle Temperatur addiert.

Einstellungen → Automationen & Szenen → + Automation erstellen → neue Automation erstellen

Auslöser soll jede Minute sein. Das ändern wir später auf jede Stunde. Aber zum Testen jeweils eine Stunde warten müssen ist … laaang und weilig! :laughing:

Bei Minuten kommt /1 rein, weil … jede “gerade” Minute durch 1 teilbar ist, d.h. die Automation wird jede “gerade” Minute, also 00:01:00, 00:02:00, 00:03:00, usw. (im Format hh.mm.ss) ausgelöst.:wink:

Jede Minute soll diese Temperatur addiert werden. Aber nur dann, wenn sie größer Null ist! Das ist eine (bzw. die) Bedingung:

{{ states.weather.forecast_home.attributes.temperature | float > 0}}

… | float? Das dient dazu den Wert von states.weather.forecast_home.attributes.temperature in eine Fließkommawert (Kommazahl) umzuwandeln. Das ist nämlich von Haus aus ein String! Den Tip gibt es kostenlos - es hat mich Stunden gekostet, bis ich das raus hatte! :angry: :wink:

Gleich mal testen:

Yup. Sieht gut aus! :smiling_face_with_sunglasses:

In der Automation mit + Bedingung → … Andere Bedingungen → {} Template die Bedingung …

{{ states.weather.forecast_home.attributes.temperature | float > 0}}

… zufügen:

Jetzt muss nur noch der Wert addiert werden. Das ist die Aktion:

Korrektur!

Hier hat sich ein Fehler eingeschlichen! Statt …

Aktion → Zahl → Festlegen

… musst es korrekt …

Aktion → Helfer → Zahlenwert-Eingabe → Festlegen

… lauten! :grimacing:

Bei Ziele + Entität anklicken und tagestemperatur_summe_jede_stunde auswählen. Da sollen die Werte ja addiert werden.

Und bei Wert muss folgendes rein:

{{ states('input_number.tagestemperatur_summe_jede_stunde') | float + state_attr('weather.forecast_home', 'temperature') | float }}

Was macht das? Zur input_number.tagestemperatur_summe_jede_stunde (umgewandelt von string zu float!) wird das Attribut temperatur von weather.forecast_home(ebenfalls umgewandelt von string zufloat!) addiert. Jede Minute!

Fast fertig! Nur noch …

… und einen passenden Namen vergeben, z.B. Temperatur jede Stunde addieren.

Hm, wo sieht man jetzt was passiert? Lass die Automation geöffnet und guck eine Weile zu. Jede Minute passiert das:

Auf dem auslösenden Trigger wird AUSGELÖST angezeigt.

Da passiert was! Natürlich ist es unpraktisch die ganze zeit auf die Trigger glotzen zu müssen. Schau Dir die traces an. Da siehst Du, ob, warum, wie und wann die Automation ausgelöst wurde und was ggf. passiert ist.

Zudem kannst Du unter

Einstellungen → Geräte & Dienste → Helfer → tagestempertur_summe_jede_stunde

den aktuellen Zustand des Helfers anschauen:

He, moment mal! Das sieht aber komisch aus! Was ist da passiert? :thinking:

Entwicklerwerkzeuge → Zustände → “tages” bei Eintitäten filtern eingeben → input_number.tagestemperatur_summe_jede_stunde anklicken → irgendeine Zahl in Zustand eingeben und Zustand setzen klicken. BÄM, Zustand gesetzt. Mit anderen Worten: Wert geändert. So kann man gut Dinge testen! :wink:

So weit, so gut … WTF? … Das nennt man jetzt mal perfektes Timing! :laughing:

Deshalb: einiges Thermometer! :wink:

Die fertige Automation sieht folgenderma… ne, Moment. Du baust das jetzt nach und zeigst dann Deine Automation und wir vergleichen die dann. :winking_face_with_tongue:

Das ist Teil 1 der Hausaufgabe.

Teil 2: Die vorhin erstellte Automation addiert die Werte jede Minute. Das muss noch auf jede Stunde geändert werden. Das sollte eigentlich easy peasy sein.

Teil 3: Leg einen Helfer für den Durchschnittswert an. Das ist eine Zahl, deshalb wird es ein …?! Identisch mit Teil 5. :man_facepalming:

Teil 4: Eine weitere Automation namens durchschnitt_berechnen anlegen, die um 00:01 (hh:mm) den Wert von tagestemperatur_summe_jede_stunde durch 24 teilt und …

Teil 5: … in einem input_number-Helfer namens tagesdurchschnittstemperatur speichert.

Teil 6: Was muss dann mit dem tagestemperatur_summe_jede_stunde passieren, damit die nächste Berechnung stimmt? Das auch einbauen.

Falls Du irgendwo hängen bleibst:

Integration input number bei HA.io

Automation Templates bei HA.io

Templating bei HA.io

state object bei HA.io

Es gibt halt Leute, die sowas machen, weil sie die Herausforderung mögen. Manche machen das auch einfach, weil sie es können! Du kannst ja gerne weiter Deine Suppe in der Tüte kaufen. Aber lass das bloß nicht Deine Mutter hören! Oder noch besser: Deine Oma! Die wird Dir was erzählen. :zany_face:

Bin ich voll bei Dir! Und wo wir gerade beim Thema sind: Vorlage hast Du jetzt ja erstmal mehr als genug! Also, ran an die Hausaufgaben! :winking_face_with_tongue:

Das muss übrigens nicht morgen fertig werden. Lass Dir ruhig Zeit. Ob es nächste Woche oder nächsten Monat läuft macht kaum einen Unterschied. Nimm Dir Simon als Beispiel. Der hat an seinem neuen Dashboard Monate gebastelt! :zany_face:

Fragen? Fragen!

Tja ich versuche auch viele Dinge zu lösen aber für solch komplexe Ansätze fehlt mir als Pensionist ganz einfach die Zeit

Ich hab sicher eine schöne Homesteuerung, besonders für den Pool bzw. Schaltungen z. B. Wenn Wama an dann im Sommer Poolpumpe aus

Das war’s sonst wirds vielleicht OT

Schönen Abend und viel Spaß beim exakten Mähen

< offtopic >

Das kenn ich. Mein Vater ist Rentner und der hat auch nie Zeit! :laughing:

Stimmt! Jetzt lassen wir @JHA erstmal werkeln. Ich bin gespannt. :blush:

< /offtopic >

Nachtrag:

Gerade eben aufgenommen