Seite 2 von 2
Re: Widget mit Switch analyzer schalt zeit berechnen .
Verfasst: 19. Sep 2022 09:00
von marci-cr
vielen Dank für deine mühen. ich werde es mal versuchen. So wie Du es geschrieben hast.
natürlich währe ich dankbar für die Rules die du mir anbieten kannst.. möchte es ja auch gerne Professionell und Stabil haben und kein
unsaubere Lösung wie ich Sie bisher habe.
kann ich nicht das widget was ja soweit funktioniert (ohne Berechnungen) irgendwie weiter umschreiben das es den gewünschent efekt bringt
wie gesamte schaltzeit der steckdose und dann in Wh umrechnen.
Bis jetz bin ich mit obenhab 3 ganz gut zurecht gekommen dank Diesem Deutschen Forum und auch ein paar Englische.
Dennoch jetzt stoße ich an meine grenzen.
Re: Widget mit Switch analyzer schalt zeit berechnen .
Verfasst: 19. Sep 2022 09:53
von udo1toni
Nein, das Widget hat ja keinen Zugriff auf die Gesamtheit der Daten, sondern bindet eine bereitgestellte Grafik ein.
Den Verbrauch kann man über die Summe oder den Durchschnitt errechnen, auch die Einschaltdauer lässt sich so ermitteln, statt der Summe nehmen wir den Durchschnitt (mögliche Werte 1 oder 0 -> Durchschnitt ist das direkte Verhältnis 0 zu 1 in Prozent) und multiplizieren mit der gewünschten Zeit (also z.B. ein Durchschnitt von 0,50, mal 24h = 12 Stunden, oder mal 60*24 =720 Minuten, oder mal 240 für die Anzahl Stunden der letzten 10 Tage, wenn der Messzeitraum 10 Tage beträgt)
Re: Widget mit Switch analyzer schalt zeit berechnen .
Verfasst: 22. Sep 2022 18:40
von marci-cr
So schauen jetzt die Rules aus.
1. Rule
Code: Alles auswählen
configuration: {}
triggers:
- id: "2"
configuration:
itemName: Curantee00_Curantee00
type: core.ItemCommandTrigger
conditions: []
actions:
- inputs: {}
id: "1"
configuration:
type: application/vnd.openhab.dsl.rule
script: |-
rule "update item"
when
Time cron "1 * * * * ?"
then
if(Curantee00_Curantee00.state != ON)
SolarTracker.postUpdate(0)
else
SolarTracker.postUpdate(1)
end
type: script.ScriptAction
2. Rule
Code: Alles auswählen
rule "get sum"
when
Time cron "2 * * * * ?"
then
Anzeige24h.postUpdate(SolarTracker.sumSince(now.minusDays(1)))
Anzeige7d.postUpdate(SolarTracker.sumSince(now.minusDays(7)))
end
und den Code vom Item (SolarTracker) kann ich über die UI nicht anzeigen lassen.
habe auch schon versucht es manuel im Dateisystem zu finden. leider ohne Erfolg.
evtl habe ich ja im SolarTraker Item ein fehler.
Mfg
Re: Widget mit Switch analyzer schalt zeit berechnen .
Verfasst: 22. Sep 2022 23:15
von udo1toni
Ich wiederhole mich ja nur ungern, aber:
Ich habe es ganz oben erklärt:
Eine DSL Rule für das Dateiformat hat einen Rahmen.
Der Rahmen besteht aus dem Schlüsselwort
rule, gefolgt vom
Namen der Rule,
gefolgt vom Schlüsselwort
when, gefolgt von der Auflistung aller
Trigger für diese Rule,
gefolgt vom Schlüsselwort
then, gefolgt vom gesamten
Rule Code, der ausgeführt wird,
gefolgt vom Schlüsselwort
end.
Da Du den Rule Namen
über die UI eingibst, und ebenso die Trigger
über die UI eingefügt werden,
dürfen diese Worte nicht mit im Rule Code stehen!
Also bitte so:
Code: Alles auswählen
configuration: {}
triggers:
- id: "2"
configuration:
itemName: Curantee00_Curantee00
type: core.ItemStateChangeTrigger
conditions: []
actions:
- inputs: {}
id: "1"
configuration:
type: application/vnd.openhab.dsl.rule
script: |-
if(Curantee00_Curantee00.state != ON)
SolarTracker.postUpdate(0)
else
SolarTracker.postUpdate(1)
type: script.ScriptAction
und so:
Code: Alles auswählen
configuration: {}
triggers:
- id: "1"
configuration:
cronExpression: 0 0 8 * * ? *
type: timer.GenericCronTrigger
conditions: []
actions:
- inputs: {}
id: "1"
configuration:
type: application/vnd.openhab.dsl.rule
script: |-
Anzeige24h.postUpdate(SolarTracker.sumSince(now.minusDays(1)))
Anzeige7d.postUpdate(SolarTracker.sumSince(now.minusDays(7)))
type: script.ScriptAction
Re: Widget mit Switch analyzer schalt zeit berechnen .
Verfasst: 27. Sep 2022 12:42
von marci-cr
Vielen Dank.
jetzt funktioniert es wie es sollte.
Bis auf die Wattsunden zu berechenen. da werde ich mich mal weiter versuchen schlau zu machen wie ich das mache.
mit 0 = aus 1 = an die zeiten zusammen zufassen, da ich jetzt weiß das Gerät 78min zustand 1 (AN) hat.
einfach mal hier im forum suchen. Gibt bestimmt einige die vergleichbare formeln, rules nutzen.
auch besten dank für deine Mühe und Geduld.
hab leider noch nicht so die Erfahrung.
MFG
Marci-CR