Peak Power Shelly 2.5 Rollladen

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
Benutzeravatar
PeterA
Beiträge: 1106
Registriert: 8. Feb 2019 12:12
Answers: 13

Peak Power Shelly 2.5 Rollladen

Beitrag von PeterA »

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
- OpenHab 2.4
#PWRUP

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

Re: Peak Power Shelly 2.5 Rollladen

Beitrag von udo1toni »

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.
openHAB4.3.6 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet

Benutzeravatar
PeterA
Beiträge: 1106
Registriert: 8. Feb 2019 12:12
Answers: 13

Re: Peak Power Shelly 2.5 Rollladen

Beitrag von PeterA »

Hi Udo,

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
Rollladen in Bewegung:
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
Rollladen Bewegung beendet:

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
Aber weshalb wird dann das power peak Item wieder 0.00 ?
- OpenHab 2.4
#PWRUP

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

Re: Peak Power Shelly 2.5 Rollladen

Beitrag von udo1toni »

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

Benutzeravatar
PeterA
Beiträge: 1106
Registriert: 8. Feb 2019 12:12
Answers: 13

Re: Peak Power Shelly 2.5 Rollladen

Beitrag von PeterA »

Hmm..

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

Benutzeravatar
PeterA
Beiträge: 1106
Registriert: 8. Feb 2019 12:12
Answers: 13

Re: Peak Power Shelly 2.5 Rollladen

Beitrag von PeterA »

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:
Bild

Dieser Screenshot ist von einem "normalen Fenster":
Bild

Werde das weiter beobachten.
- OpenHab 2.4
#PWRUP

Benutzeravatar
PeterA
Beiträge: 1106
Registriert: 8. Feb 2019 12:12
Answers: 13

Re: Peak Power Shelly 2.5 Rollladen

Beitrag von PeterA »

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.

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

Antworten