Widget mit Switch analyzer schalt zeit berechnen .

Allgemeine Fragen zum Thema "Smart Home" und Entscheidungshilfen

Moderator: seppy

marci-cr
Beiträge: 8
Registriert: 10. Sep 2021 09:11

Re: Widget mit Switch analyzer schalt zeit berechnen .

Beitrag 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.

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

Re: Widget mit Switch analyzer schalt zeit berechnen .

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

marci-cr
Beiträge: 8
Registriert: 10. Sep 2021 09:11

Re: Widget mit Switch analyzer schalt zeit berechnen .

Beitrag 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

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

Re: Widget mit Switch analyzer schalt zeit berechnen .

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

marci-cr
Beiträge: 8
Registriert: 10. Sep 2021 09:11

Re: Widget mit Switch analyzer schalt zeit berechnen .

Beitrag 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

Antworten