Rasenmäherroboter - Gargentor automatisch öffnen

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
maddin2020
Beiträge: 30
Registriert: 29. Sep 2019 11:21
Answers: 0

Rasenmäherroboter - Gargentor automatisch öffnen

Beitrag von maddin2020 »

Hallo ich würde gerne eine Rule erstellen die folgendes macht.

5 Minuten bevor der Roboter mit seinem Zeitplan startet soll das Garagentor der Robotergarage öffnen.

Die Zeit aus dem Zeitplan liegt bei mir in einem DateTime Item vor.

Code: Alles auswählen

Items
Rollershutter ShellyGarageRoboterRollerControl
DateTime RasenmaehernaechsterStart
Folgende Rule hab ich bisher. Irgendwie geht es aber noch nicht und ich glaube es gibt noch eine viel bessere Lösung...

Code: Alles auswählen

rule "Rasenmäher Garagentor vorab öffnen"
when 
      Time cron "0 0/1 * 1/1 * ? *"   // jede Minute prüfen
then
if ( RasenmaehernaechsterStart != NULL){
  val aktuelle_Zeit_millis = now.millis
  val start_zeitplan_millis = (RasenmaehernaechsterStart.state as DateTimeType).calendar.timeInMillis
 if (aktuelle_Zeit_millis - 300000 >= start_zeitplan_millis){
    ShellyGarageRoboterRollerControl.sendCommand(UP)
 }
}
 end
 
Über jeden Tipp bin ich dankbar

Bleibt gesund!

int5749
Beiträge: 1173
Registriert: 4. Nov 2019 22:08
Answers: 9

Re: Rasenmäherroboter - Gargentor automatisch öffnen

Beitrag von int5749 »

Hallo,
in welchem Format liegt denn die Startzeit vor?

Ich würde einmal am Tag

Code: Alles auswählen

when
    Time cron "0 0 0 * * ?" or
    System started
then
Von der Startzeit 5 Min abziehen und in eine neue Variable packen.
Dann kannst Du genau auf diese Zeit triggern und dann das Tor öffnen?

So brauchst Du nicht minütlich zu prüfen ;-)

Gruß
int5749
openHAB 4.1.0 Release mit openHABian in einem Debian Bookworm (LXC) unter Proxmox 8.1.3

violine21
Beiträge: 600
Registriert: 20. Sep 2019 05:49
Answers: 7

Re: Rasenmäherroboter - Gargentor automatisch öffnen

Beitrag von violine21 »

Hallo,
ich würde das auch wie mein Vorredner angehen. Ein Proxy-Item für die berechnete Garagentor-Zeit (GaragentorOeffnen) anlegen.
Dieses noch Persistieren:

Code: Alles auswählen

GaragentorOeffnen: strategy = everyChange, everyDay, restoreOnStartup
Dann wird beim Ändern der RasenmäherStartzeit die berechnete Garagentorzeit in einer Rule ermittelt.

Code: Alles auswählen

when
Item RasenmaehernaechsterStart changed
then
//RasenmaehernaechsterStart - 5 Min = GaragentorOeffnen
//evtl. noch prüfen, ob die Differenz aktuelle Zeit und neue Rasenmäher-Startzeit kleiner ist, als 5 Minuten,
//dann das Garentor sofort öffnen.
end
Dann auf "GaragentorOeffnen" triggern.

Darf ich wissen, was Du für einen Mähroboter hast?

maddin2020
Beiträge: 30
Registriert: 29. Sep 2019 11:21
Answers: 0

Re: Rasenmäherroboter - Gargentor automatisch öffnen

Beitrag von maddin2020 »

Hallo habe einen Gardena Sileno. Danke für die Tips aber wie genau ziehe ich von der Zeit 5 min ab und anscheinend wir RasenmaehernaechsterStart changed nicht akzeptiert da es ja ein item DateTime ist ...

violine21
Beiträge: 600
Registriert: 20. Sep 2019 05:49
Answers: 7

Re: Rasenmäherroboter - Gargentor automatisch öffnen

Beitrag von violine21 »

Ich glaube, wir denken zu kompliziert.
Wie startest Du denn den Rasen-Robi?
Wird das Item

Code: Alles auswählen

DateTime RasenmaehernaechsterStart
nur vom Robi beschrieben?
Oder hast Du die Möglichkeit, den Robi per OH zu starten?

Ich habe einen Worx Landroid, der Ablauf ist bei meinem so:
1. Startzeit erreicht
2. kurze Pause
3. Warnsignal
4. kurze Pause
5. er fährt los
Zwischen 1 und 5 ist noch genug Zeit, das Tor zu öffnen. Vorrausgesetzt, ich hätte eins.

Benutzeravatar
udo1toni
Beiträge: 15269
Registriert: 11. Apr 2018 18:05
Answers: 245
Wohnort: Darmstadt

Re: Rasenmäherroboter - Gargentor automatisch öffnen

Beitrag von udo1toni »

maddin2020 hat geschrieben: 29. Mär 2020 15:54 anscheinend wir RasenmaehernaechsterStart changed nicht akzeptiert da es ja ein item DateTime ist ...
Der Trigger funktioniert, allerdings nur für den Zeitpunkt, wenn der Mäher die Zeit das nächste Mal setzt. Du müsstest also auf jeden Fall noch ein System started als Trigger hinzufügen, damit beim Systemstart bzw. wenn die Rules neu geladen werden ebenfalls eine Berechnung angestoßen wird.
maddin2020 hat geschrieben: 29. Mär 2020 15:54 wie genau ziehe ich von der Zeit 5 min ab
Es handelt sich ja um ein DateTime Item. Die Berechnung ist also leider etwas umständlich.

Code: Alles auswählen

rule "Rasenmäher Garage Update"
when
    System started or
    Item RasenmaehernaechsterStart changed 
then
    if(RasenmaehernaechsterStart.state == NULL) {
        logWarn("lawngarage","Berechnung Rasenmähergaragenöffnung fehlgeschlagen!")
        // evtl. weitere Warnung über telegram, mail, Warmlampe, whatever...
        return;
    }
    val nextStart = new DateTime(RasenmaehernaechsterStart.state.toString)
    GarageNaechsteOeffnung.postUpdate(nextStart.minusMinutes(5).toString)
end
Diese Rule berechnet aber nur den Zeitpunkt, zum berechneten Zeitpunkt passiert aber nichts. Dazu braucht es noch etwas mehr:

Code: Alles auswählen

// globale Variablen werden zu Beginn der Datei definiert!
var Timer tlawnMowerGarage = null

rule "Rasenmäher Garage Update"
when
    System started or
    Item RasenmaehernaechsterStart changed 
then
    if(RasenmaehernaechsterStart.state == NULL) {
        logWarn("lawngarage","Berechnung Rasenmähergaragenöffnung fehlgeschlagen!")
        // evtl. weitere Warnung über telegram, mail, Warmlampe, whatever...
        return;
    }
    val nextStart = new DateTime(RasenmaehernaechsterStart.state.toString)
    GarageNaechsteOeffnung.postUpdate(nextStart.minusMinutes(5).toString)
    if(nextStart.minusMinutes(5).isAfter(now)) {
        tlawnMowerGarage?.cancel
        tlawnMowerGarage = createTimer(nextStart.minusMinutes(5),[|
            LawnMowerGarage.sendCommand(UP)
        ])
    } else {
        logWarn("lawngarage","Berechnung Öffnungszeitpunkt liegt in der Vergangenheit!")
    }
end
So sollte es funktionieren.
openHAB4.3.6 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet

Brauni74
Beiträge: 2
Registriert: 12. Apr 2020 22:24
Answers: 0

Re: Rasenmäherroboter - Gargentor automatisch öffnen

Beitrag von Brauni74 »

Hallo zusammen,
Ich bin absolut neu hier und hab von openHAB noch keine richtige Ahnung.
Ich würde sehr gern auch das Tor meines Mähers automatisch öffnen und schließen.
Das Tor kann ich bereits über einen Shelly 2.5 mit openHAB bewegen.
Ich habe einen Husqvarna automower 315x.
Kann ich irgendwie die nächste Startzeit auslesen um so das Tor zu öffnen?
Würde mich über jede Hilfe freuen.

Danke im vorraus

violine21
Beiträge: 600
Registriert: 20. Sep 2019 05:49
Answers: 7

Re: Rasenmäherroboter - Gargentor automatisch öffnen

Beitrag von violine21 »

Brauni74 hat geschrieben: 13. Apr 2020 11:25 Ich habe einen Husqvarna automower 315x.
Schau Dir mal das Binding an:
https://www.openhab.org/addons/bindings/robonect/

Brauni74
Beiträge: 2
Registriert: 12. Apr 2020 22:24
Answers: 0

Re: Rasenmäherroboter - Gargentor automatisch öffnen

Beitrag von Brauni74 »

Danke für die schnelle Antwort.
Das hab ich schon gesehen aber leider ist mein Mäher nicht per wlan zu erreichen.
Ich hab Automower Connect.
Dafür hab ich leider noch kein binding gefunden.

Manni300DW124
Beiträge: 1
Registriert: 5. Mai 2021 10:17
Answers: 0

Re: Rasenmäherroboter - Gargentor automatisch öffnen

Beitrag von Manni300DW124 »

Hallo
Würde mich Interessieren ob die Lösung von udo1ton funktioniert hat.
Über eine Antwort würde ich mich freuen.

Antworten