Mähroboter pausieren und restore
- PeterA
- Beiträge: 1106
- Registriert: 8. Feb 2019 12:12
Re: Mähroboter pausieren und restore
Fast:
Ich habe das ITEM DenonCommand als String das mit dem {channel="denonmarantz:avr:0005cd3a0e8e:general#command"} verbunden ist.
Und in der Sitemap ein SWITCH Widget welches einen Butten hat der als "ENTER" zu sehen ist und dahinter ist der Befehl "MNENT" gemapped.
Wenn ich nun den "ENTER" Button in der Sitemap betätige wird der Befehl "MNENT" OpenHab intern an das String Item DenonCommand übergeben und an den Channel geschickt.
Ich habe das ITEM DenonCommand als String das mit dem {channel="denonmarantz:avr:0005cd3a0e8e:general#command"} verbunden ist.
Und in der Sitemap ein SWITCH Widget welches einen Butten hat der als "ENTER" zu sehen ist und dahinter ist der Befehl "MNENT" gemapped.
Wenn ich nun den "ENTER" Button in der Sitemap betätige wird der Befehl "MNENT" OpenHab intern an das String Item DenonCommand übergeben und an den Channel geschickt.
- OpenHab 2.4
#PWRUP
#PWRUP
-
- Beiträge: 1173
- Registriert: 4. Nov 2019 22:08
Re: Mähroboter pausieren und restore
Ja, genau so habe ich das auch verstanden.
Aber ich möchte um bei Deinem Beispiel zu bleiben
MNENT ist selber ein Item und enthält den Wert -30
Wenn also nun ENTER drückt, soll -30 übergeben werden
Aber ich möchte um bei Deinem Beispiel zu bleiben
MNENT ist selber ein Item und enthält den Wert -30
Wenn also nun ENTER drückt, soll -30 übergeben werden
openHAB 4.1.0 Release mit openHABian in einem Debian Bookworm (LXC) unter Proxmox 8.1.3
- PeterA
- Beiträge: 1106
- Registriert: 8. Feb 2019 12:12
-
- Beiträge: 1173
- Registriert: 4. Nov 2019 22:08
Re: Mähroboter pausieren und restore
Na genau das geht nicht :-/ da dieser Wert variieren kann.
Es handelt sich dabei quasi um den vorherigen Wert von LandroidScheduleTimeExtension, welchen ich in LandroidRestoreTime zwischenspeichere.
Eine andere Möglichkeit - da LandroidScheduleTimeExtension persistiert ist - wäre es den vorherigen Wert aus der MapDB zu lesen, aber sicher auch nicht direkt aus der Sitemap möglich?
openHAB 4.1.0 Release mit openHABian in einem Debian Bookworm (LXC) unter Proxmox 8.1.3
- PeterA
- Beiträge: 1106
- Registriert: 8. Feb 2019 12:12
-
- Beiträge: 1173
- Registriert: 4. Nov 2019 22:08
Re: Mähroboter pausieren und restore
Bisher mache ich dies über eine Rule, dachte bzw. hoffte, dies vereinfachen zu können :-/
Dennoch besten Dank für Geduld und Tipp

openHAB 4.1.0 Release mit openHABian in einem Debian Bookworm (LXC) unter Proxmox 8.1.3
-
- Beiträge: 1173
- Registriert: 4. Nov 2019 22:08
Re: Mähroboter pausieren und restore
Ein weitere Ansatz dazu, um ein Dummy Item zu sparen.
Eigentlich sollte ja genau dafür auch Persistance nutzbar sein? Ich persistiere die Werte in der MapDB
Derzeit versuche ich mir die beiden Stati (Aktuell und Vorher) erst einmal anzeigen zu lassen
Der aktuelle Status entspricht natürlich dem aktuellen Wert => alles gut
Bei der vorherigen Wert gibt es "nur" eine DB Meldung => org.openhab.core.persistence.internal.QueryablePersistenceServiceDelegate$1@15d2612
Da sich das hinter dem @ Zeichen verändert könnte dies die Datensatzbezeichnug sein? Aber wie komme ich an den Wert??
Viele Grüße,
Jörg
Eigentlich sollte ja genau dafür auch Persistance nutzbar sein? Ich persistiere die Werte in der MapDB
Code: Alles auswählen
Strategies {
everyHour : "0 0 * * * ?"
everyDay : "0 0 0 * * ?"
default = everyChange
}
Items {
LandroidRestoreTime : strategy = everyChange,restoreOnStartup
LandroidRainDelay : strategy = everyChange,restoreOnStartup
LandroidStandBy : strategy = everyChange,restoreOnStartup
LandroidScheduleTimeExtension : strategy = everyChange,restoreOnStartup
gLandroidScheduleDay* : strategy = everyChange,restoreOnStartup
gLandroidScheduleDuration* : strategy = everyChange,restoreOnStartup
}
Code: Alles auswählen
pushNotification("Shaun Landroid aktuell", LandroidScheduleTimeExtension.state.toString)
pushNotification("Shaun Landroid vorher", LandroidScheduleTimeExtension.previousState(false, "mapdb").state.toString)
pushNotification("Shaun Landroid vorher", LandroidScheduleTimeExtension.previousState(false, "mapdb").toString)
Bei der vorherigen Wert gibt es "nur" eine DB Meldung => org.openhab.core.persistence.internal.QueryablePersistenceServiceDelegate$1@15d2612
Da sich das hinter dem @ Zeichen verändert könnte dies die Datensatzbezeichnug sein? Aber wie komme ich an den Wert??
Viele Grüße,
Jörg
openHAB 4.1.0 Release mit openHABian in einem Debian Bookworm (LXC) unter Proxmox 8.1.3
- udo1toni
- Beiträge: 15249
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Mähroboter pausieren und restore
Du nutzt mapDB, welche entgegen der landläufigen Meinung keinen previousState liefern kann. mapBD liefert exakt den letzten Wert, das ist aber nicht der vorherige, sondern der aktuelle Wert. Du musst also auf eine andere Persistence umsteigen, z.B. rrd4j.
.previousState liefert ein historicState zurück, mitsamt des Zeitstempels, wann der Status gesetzt wurde. Entsprechend musst Du .previousState().state abfragen.
.previousState liefert ein historicState zurück, mitsamt des Zeitstempels, wann der Status gesetzt wurde. Entsprechend musst Du .previousState().state abfragen.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet
-
- Beiträge: 1173
- Registriert: 4. Nov 2019 22:08
Re: Mähroboter pausieren und restore
OK, geändert. rrd4j ist auch als default persistence eingetragenudo1toni hat geschrieben: ↑2. Mai 2020 16:08 Du nutzt mapDB, welche entgegen der landläufigen Meinung keinen previousState liefern kann. mapBD liefert exakt den letzten Wert, das ist aber nicht der vorherige, sondern der aktuelle Wert. Du musst also auf eine andere Persistence umsteigen, z.B. rrd4j.
Code: Alles auswählen
pushNotification("Shaun Landroid aktuell", LandroidScheduleTimeExtension.state.toString)
pushNotification("Shaun Landroid vorher", LandroidScheduleTimeExtension.previousState().state.toString)
aktuell: 50
vorher: 50.0
openHAB 4.1.0 Release mit openHABian in einem Debian Bookworm (LXC) unter Proxmox 8.1.3
-
- Beiträge: 1173
- Registriert: 4. Nov 2019 22:08
Re: Mähroboter pausieren und restore
Anbei noch kurz die Konfig

Mit der RestAPI sehe ich derzeit, trotz mehrmailiger Änderung des Werte, bisher 0 datapointStrategies {
// for rrd, we need a cron strategy
everyMinute : "0 * * * * ?"
default = everyChange
}
Items {
LandroidRestoreTime : strategy = everyChange
LandroidRainDelay : strategy = everyChange
LandroidScheduleTimeExtension : strategy = everyChange
gLandroidScheduleDuration* : strategy = everyChange
}

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