Peak Power Shelly 2.5 Rollladen
- PeterA
- Beiträge: 1106
- Registriert: 8. Feb 2019 12:12
Peak Power Shelly 2.5 Rollladen
Hallo zusammen,
der Shelly 2.5 Rollladen published bei der Rollladenbewegung über MQTT die momentane Leistungsaufnahme des Motors.
Lasse ich mir dann in der Sitemap Anzeigen. So weit so gut.
Wie kann ich mir denn nach jeder Bewegung die maximale Leistungsaufnahme
und wenn möglich auch den Zeitstempel der maximalen Leistungsaufnahme
in einer Rule via postUpdate in je zwei Items passend zum Rollladen schreiben lassen ?
Und da es sich hier um insgesamt 7 Rollladen handelt könnte hier eine Gruppen Rule effektiver sein als 7 einzelne Rules ?
Gruß Peter
der Shelly 2.5 Rollladen published bei der Rollladenbewegung über MQTT die momentane Leistungsaufnahme des Motors.
Lasse ich mir dann in der Sitemap Anzeigen. So weit so gut.
Wie kann ich mir denn nach jeder Bewegung die maximale Leistungsaufnahme
und wenn möglich auch den Zeitstempel der maximalen Leistungsaufnahme
in einer Rule via postUpdate in je zwei Items passend zum Rollladen schreiben lassen ?
Und da es sich hier um insgesamt 7 Rollladen handelt könnte hier eine Gruppen Rule effektiver sein als 7 einzelne Rules ?
Gruß Peter
- OpenHab 2.4
#PWRUP
#PWRUP
- udo1toni
- Beiträge: 15269
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Peak Power Shelly 2.5 Rollladen
Aber sicher ist es sinnvoll, das als generalisierte Rule über Gruppen zu erledigen. Allerdings müsste man da vermutlich nicht unerheblichen Aufwand betreiben. Als Richtlinie würde ich versuchen, zunächst eine Rule für einen Rollladen anzulegen. Danach geht es dann darum, aus dieser Rule eine allgemeine Rule zu erstellen.
Randbedingungen: alle Items eines Rollladens haben einen Namensteil, der identisch ist und sich von Rollladen zu Rollladen unterscheidet. Alle Items, die die gleiche Funktion haben, haben einen (anderen) Namensteil, der identisch ist, und sich von Funktion zu Funktion unterscheidet. Dadurch kann aus Itemtyp 1 auf Itemtyp 2 geschlossen werden.
Als Typen mache hier zum einen Rollershutter und Number für den Rollladen und seine Leistungsaufnahme aus, zum anderen DateTime und Number für die Anzeige des Maximums. Das Item für die Leistungsmessung muss persistiert werden.
Die Rule muss jeweils bestimmen, wie lange der Rollladenmotor läuft. Wenn der Motor stoppt, muss der Spitzenwert in den letzten x Sekunden (eben die Laufzeit) aus der Persistence gelesen werden (maximumSince). Da maximumSince historicItem zurückliefert, enthält die Antwort bereits beide Anteile (state und timestamp)
Um es etwas zu vereinfachen, kannst Du auch (erst mal...) einfach davon ausgehen, dass der Rollladen maximal eine Minute läuft und auch nur einmal innerhalb der letzten Minute verfahren wurde.
Randbedingungen: alle Items eines Rollladens haben einen Namensteil, der identisch ist und sich von Rollladen zu Rollladen unterscheidet. Alle Items, die die gleiche Funktion haben, haben einen (anderen) Namensteil, der identisch ist, und sich von Funktion zu Funktion unterscheidet. Dadurch kann aus Itemtyp 1 auf Itemtyp 2 geschlossen werden.
Als Typen mache hier zum einen Rollershutter und Number für den Rollladen und seine Leistungsaufnahme aus, zum anderen DateTime und Number für die Anzeige des Maximums. Das Item für die Leistungsmessung muss persistiert werden.
Die Rule muss jeweils bestimmen, wie lange der Rollladenmotor läuft. Wenn der Motor stoppt, muss der Spitzenwert in den letzten x Sekunden (eben die Laufzeit) aus der Persistence gelesen werden (maximumSince). Da maximumSince historicItem zurückliefert, enthält die Antwort bereits beide Anteile (state und timestamp)
Um es etwas zu vereinfachen, kannst Du auch (erst mal...) einfach davon ausgehen, dass der Rollladen maximal eine Minute läuft und auch nur einmal innerhalb der letzten Minute verfahren wurde.
openHAB4.3.6 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet
- PeterA
- Beiträge: 1106
- Registriert: 8. Feb 2019 12:12
Re: Peak Power Shelly 2.5 Rollladen
Hi Udo,
hier die Rule für das "Power Peak Item":
Das Item Shellyswitch25_E66E4E_power wird über rrd4j persistiert:
Rollladen in Bewegung:
Log:
Rollladen Bewegung beendet:
Aber weshalb wird dann das power peak Item wieder 0.00 ?
hier die Rule für das "Power Peak Item":
Das Item Shellyswitch25_E66E4E_power wird über rrd4j persistiert:
Code: Alles auswählen
Shellyswitch25_E66E4E_power : strategy = everyMinute, everyChange, restoreOnStartup
Code: Alles auswählen
rule "Shelly25_02 Power Peak"
when
Item Shellyswitch25_E66E4E_power changed
then
Shellyswitch25_E66E4E_power_peak.postUpdate(Shellyswitch25_E66E4E_power.maximumSince(now.minusMinutes(1)).state)
end
Log:
Code: Alles auswählen
2020-12-09 19:47:37.943 [vent.ItemStateChangedEvent] - Shellyswitch25_E66E4E_power changed from 0.00 to 103.33
2020-12-09 19:47:37.983 [vent.ItemStateChangedEvent] - Shellyswitch25_E66E4E_power_peak changed from NULL to 103.33
Code: Alles auswählen
2020-12-09 19:47:53.995 [vent.ItemStateChangedEvent] - Shellyswitch25_E66E4E_power changed from 103.33 to 0.00
2020-12-09 19:47:54.059 [vent.ItemStateChangedEvent] - Shellyswitch25_E66E4E_power_peak changed from 103.33 to 0.00
- OpenHab 2.4
#PWRUP
#PWRUP
- udo1toni
- Beiträge: 15269
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Peak Power Shelly 2.5 Rollladen
Das ist eine gute Frage... evtl. ist das Zeitfenster (mit rrd4j?) zu klein... müsste man aber genauer erforschen.
openHAB4.3.6 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet
- PeterA
- Beiträge: 1106
- Registriert: 8. Feb 2019 12:12
Re: Peak Power Shelly 2.5 Rollladen
Hmm..
Und man das erneute postUpdate über einen Timer verhindert ?
So in etwa wie in einem anderen Thread da ging es um "debounce"....
Und man das erneute postUpdate über einen Timer verhindert ?
So in etwa wie in einem anderen Thread da ging es um "debounce"....
- OpenHab 2.4
#PWRUP
#PWRUP
- PeterA
- Beiträge: 1106
- Registriert: 8. Feb 2019 12:12
Re: Peak Power Shelly 2.5 Rollladen
So,
habe die Rule mal auf alle betreffenden Rollladen angewendet.
Bei manchen hats funktioniert bei manchen nicht.
Beide Screenshots sind nach dem öffnen der Rollladen gemacht.
Dieser Screenshot ist von einem Rollladen eines bodentiefen Fensters:

Dieser Screenshot ist von einem "normalen Fenster":

Werde das weiter beobachten.
habe die Rule mal auf alle betreffenden Rollladen angewendet.
Bei manchen hats funktioniert bei manchen nicht.
Beide Screenshots sind nach dem öffnen der Rollladen gemacht.
Dieser Screenshot ist von einem Rollladen eines bodentiefen Fensters:

Dieser Screenshot ist von einem "normalen Fenster":

Werde das weiter beobachten.
- OpenHab 2.4
#PWRUP
#PWRUP
- PeterA
- Beiträge: 1106
- Registriert: 8. Feb 2019 12:12
Re: Peak Power Shelly 2.5 Rollladen
Also irgendwie komme ich nicht weiter.
Auch mit dieser Rule das selbe Verhalten:
Rollladen fährt, Power_Peak bekommt ein update.
Rollladen stoppt, Power_Peak bekommt wieder ein update und ist damit auf 0.
Auch mit dieser Rule das selbe Verhalten:
Rollladen fährt, Power_Peak bekommt ein update.
Rollladen stoppt, Power_Peak bekommt wieder ein update und ist damit auf 0.
Code: Alles auswählen
rule "Shelly25_07 Power Peak"
when
Item Shellyswitch25_00B12B_power received update
then
Shellyswitch25_00B12B_power_peak.postUpdate(Shellyswitch25_00B12B_power.maximumSince(now.minusSeconds(15)).state)
end
- OpenHab 2.4
#PWRUP
#PWRUP