Seite 4 von 9

Re: Meldung Waschmaschine wenn fertig

Verfasst: 31. Mär 2021 21:03
von int5749
Innocent hat geschrieben: 31. Mär 2021 20:59 Ok. Alles klar. Dann einfach neue Datei anlegen und gut ist?

Hatte diese Rule nämlich unter eine vorherige gesetzt.
Nein, einfach nur die Variablen alle nach ganz oben vor alle Rules. In welchen Rules in dieser Datei Du diese dann nutzt ist Wurscht ;-)

Re: Meldung Waschmaschine wenn fertig

Verfasst: 1. Apr 2021 07:10
von Innocent
Dankeschön 😊

Re: Meldung Waschmaschine wenn fertig

Verfasst: 17. Mai 2021 11:02
von Innocent
Hallo :-)

Dir Rule funktioniert seither einwandfrei.

Nun hätte ich gerne eine andere umgesetzt, was aber nicht klappt.
Würde da gerne nochmal eure Hilfe in Anspruch nehmen...

Rule sieht wie folgt aus und soll mir eine Nachricht schicken bei Batteriestand unter bestimmtem Wert.

Code: Alles auswählen

var Boolean bBatterieKZ = false

rule "Batterie Thermoastat GWC"

when
    Item BatteryLevelKZ changed
then
    if(!bBatterieKZ) {
         if(BatteryLevelKZ.state > 30) 
             bBatterieKZ = true 
        }
    else {
        if(BatteryLevelKZ.state < 30) {
            sendTelegram("Sascha","Thermostat Gäste WC Batterie 30%")
            bBatterieKZ = false
        }
    }
end

Danke schonmal !

Re: Meldung Waschmaschine wenn fertig

Verfasst: 17. Mai 2021 15:05
von udo1toni
Ich gehe mal davon aus, dass Du mit der Boolean Variable verhindern willst, dass Du ständig eine Meldung erhältst?

Ist das Item BatteryLevelKZ vom Typ Number? Oder ist es doch eher vom Typ Number:Dimensonless? Dann sollte die Rule eher so aussehen;

Code: Alles auswählen

var Boolean bBatterieKZ = false

rule "Batterie Thermoastat GWC"
when
    Item BatteryLevelKZ changed
then
    val nLevel = (BatteryLevelKZ.state as Number).intValue
    if(!bBatterieKZ && nLevel >= 30) 
        bBatterieKZ = true 
    if(bBatterieKZ && nLevel < 30) {
        sendTelegram("Sascha","Thermostat Gäste WC Batterie 30%")
        bBatterieKZ = false
    }
end
Durch die Verwendung der lokalen Konstanten wird der Code kompakter. Der Vergleich sollte den vollständigen Wertebereich umfassen, also auch die 30 selbst beinhalten (deshalb >=)

Re: Meldung Waschmaschine wenn fertig

Verfasst: 17. Mai 2021 18:11
von Innocent
Ja, du vermutest richtige mit der Variablen.

Das Item ist tatsächlich ein reines Number Item.
Was mach ich nun wieder falsch? 🤔 🤣

Re: Meldung Waschmaschine wenn fertig

Verfasst: 17. Mai 2021 22:43
von udo1toni
'Die von mir vorgeschlagene Rule sollte dennoch funktionieren.

Re: Meldung Waschmaschine wenn fertig

Verfasst: 18. Mai 2021 09:12
von Innocent
Werde ich testen. Vorerst vielen Dank dafür.

Re: Meldung Waschmaschine wenn fertig

Verfasst: 23. Jun 2021 23:38
von Snatsch
So Fußball vorbei jetzt wieder PC :)
Habe mal die Rule von udo1toni mit der Waschmaschine fertig übernommen aber irgendwas passt was nicht :( Wenn die Maschine aus ist schwangt der Watt wert immer zwischen 0,28 und 0,35 aber irgendwie verstehe ich nicht ganz wo ich die Werte eintragen muss :?

Code: Alles auswählen

var Timer tWash = null
var Boolean bWash = false

rule "Waschmaschine fertig"

when
  Item Waschmaschine_Leistung changed
then
    logInfo("Waschmaschine", "Rule triggert ! Wert : {} ", Waschmaschine_Leistung.state )
  
  if(!bWash)
  {
    if(Waschmaschine_Leistung.state > 1800.0) // Erkennung die Maschine wurde gestartet
      
    bWash = true
  }

  else
  { // bWash ist true -> Maschine aktiv
    if(Waschmaschine_Leistung.state < 0.35)
	{ // Erkennung die Maschine ist vielleicht fertig
      if(tWash === null)
      tWash = createTimer(now.plusMinutes(5), [|
        MeldungWhatsApp.postUpdate("Die Waschmaschiene ist Fertig !")
            
            MeldungSay.postUpdate("Die Waschmaschine ist fertig",null)
            tWash = null
            bWash = false
      ])
    }
	else if(Waschmaschine_Leistung.state > 0.35)
	{ // notwendig, falls Stromaufnahme zwischendurch sehr niedrig
      tWash?.cancel
      tWash = null
    }
  }
end

Re: Meldung Waschmaschine wenn fertig

Verfasst: 24. Jun 2021 12:01
von udo1toni
Du musst vor allem wissen, wie hoch der Stromverbrauch ist, wenn die Maschine fertig, aber noch nicht aus ist. Die Rule hat an zwei stellen die Zahl 0.35 stehen, einmal wird kleines als getestet, einmal größer als. Die Prüfung größer als muss als Vergleichswert den Stromverbrauch haben, der auftritt, wenn die Waschmaschine weiter arbeitet. Beim Vergleich kleiner als wird der Wert eingetragen, wenn die Maschine fertig (aber nicht aus!) ist.
Man kann die Rule auch noch erweitern, wenn der Strombedarf unter 0.36 liegt (oder z.B. unter 0.5... die eingeschaltete Waschmaschine dürfte dauerhaft darüber liegen) kann die Rule dann melden, dass die Maschine ausgeschaltet ist.

Re: Meldung Waschmaschine wenn fertig

Verfasst: 24. Jun 2021 12:52
von Snatsch
Also wenn die Maschine aus ist schwankt sie zwischen 0,28 und 0,35 W. Jetzt habe ich sie mal eingeschalten ohne zu waschen da steht sie auf 3,64 W