FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: ronilee am 14 Januar 2022, 19:45:57

Titel: Überschussenergie WLAN Steckdose einschalten
Beitrag von: ronilee am 14 Januar 2022, 19:45:57
Hallo!

Ich habe erfolgreich meinen Fronius GEN24 im FHEM eingebunden.
Und meine Shelly Plug S WLAN Steckdose.

Jetzt möchte ich wenn ich zB.: 1000W ins Netz Einspeise das mir die WLAN Steckdose einschaltet und dann zB.: 60 Minuten haltet.

Wie kann ich so Szenarien einbinden in FHEM?

Herzlichen Dank
Titel: Antw:Überschussenergie WLAN Steckdose einschalten
Beitrag von: xerion am 14 Januar 2022, 20:02:51
Ich würde es mit einem DOIF und on-for-timer lösen. Das wäre meines Erachtens die einfachste Lösung.
Titel: Antw:Überschussenergie WLAN Steckdose einschalten
Beitrag von: ronilee am 15 Januar 2022, 17:34:25
Danke für deine Antwort  :)

Genau diesen Anstoß habe ich benötigt.

Danke  :)

Habe bereits meine ersten Entwurf, werde ich aber sicher immer wieder verbessern erweitern.


([SymoGEN24:power:avg5] > 2000 && [KinderzimmerKlima:Temperatur:avg5] < 20) (set Shelly Steckdose on)
attr ifrarotHeizung repeatsame 5
attr ifrarotHeizung cmdpause 900
Titel: Antw:Überschussenergie WLAN Steckdose einschalten
Beitrag von: ronilee am 27 Januar 2022, 13:26:16
Ich wollte das ganze auf Perl ändern, bekomme das aber nicht hin habe immer einen Syntax Fehler.

Wo liegt hier der Fehler?


if([SymoGEN24:power:avg2] > 2000 and [ESPEasy_Blumen_2_SHT31:Temperatur:avg2] < 23){
(set Shelly on) and (set pushmsg msg 'Kinderzimmer' 'Infrarotheizung wurde eingeschaltet')
}
Titel: Antw:Überschussenergie WLAN Steckdose einschalten
Beitrag von: rabehd am 27 Januar 2022, 15:27:29
Ich nutze DOIF nicht im perl-Modus, aber ein "and" in Ausführungsteil überrascht mich.
Titel: Antw:Überschussenergie WLAN Steckdose einschalten
Beitrag von: Stelaku am 28 Januar 2022, 06:46:18


{
if([SymoGEN24:power:avg2] > 2000 and [ESPEasy_Blumen_2_SHT31:Temperatur:avg2] < 23){
fhem_set ("Shelly on");
fhem_set ("pushmsg msg 'Kinderzimmer' 'Infrarotheizung wurde eingeschaltet')
}

sollte das nicht ungefähr so im perl mode aussehen
Titel: Antw:Überschussenergie WLAN Steckdose einschalten
Beitrag von: rabehd am 28 Januar 2022, 07:16:47
@Stelaku
Da fehlt doch einmal }.
Zweimal {, erfordert auch zweimal }.
Titel: Antw:Überschussenergie WLAN Steckdose einschalten
Beitrag von: ronilee am 28 Januar 2022, 10:56:40
Danke für eure Antworten,

jetzt habe ich es aber  :) das "fhem_set" hatte ich bereits schon mal probiert, ich glaube ich habe hier den Unterstrich vergessen und
ja das "and" funktioniert auch nicht habe aber eine Lösung gefunden  8)

So funktioniert es jetzt, muss mir nur noch überlegen wie ich das mit der Zeitsteuerung mache,
nicht das es ständig aus und einschaltet, das attr ifrarotHeizung cmdpause 900 funktioniert nicht bei Perl.

{
if([SymoGEN24:power:avg2] > 2000)
{if ([ESPEasy_Blumen_2_SHT31:Temperatur:avg2] < 23){
fhem_set ("Kinderzimmer on");
fhem_set ("pushmsg msg 'Kinderzimmer' 'Infrarotheizung wurde eingeschaltet'")}
}
else
{
fhem_set ("Kinderzimmer off");
fhem_set ("pushmsg msg 'Kinderzimmer' 'Infrarotheizung wurde ausgeschaltet'")
}
}

Hier noch ein anderes Beispiel von mir, funktioniert  :):


{
if([ESPEasy_Blumen_1_BH1750:Lux:avg2] > 10000){
fhem_set("Blumenzimmer off");
fhem_set("pushmsg msg title='Frühbeet' message='Es hat im Blumenzimmer über 10000Lux Shelly schaltet das Pflanzenlicht aus'")
}
else
{
fhem_set("Blumenzimmer on");
fhem_set("pushmsg msg title='Frühbeet' message='Es hat im Blumenzimmer unter 10000Lux Shelly schaltet das Pflanzenlicht an'")
}
}
Titel: Antw:Überschussenergie WLAN Steckdose einschalten
Beitrag von: rabehd am 28 Januar 2022, 12:07:31
Das Thema gehört eigentlich nicht unter Solaranlagen, wohl eher Anfängerfragen oder DOIF. Du kannst es als Ersteller auch verschieben.

Das Andere ihren Code anders darstellen, ist Dir aufgefallen?
Die Form wird hier lieber gesehen. Die Buttons über dem Bearbeitungsfenster sind Dir aufgefallen? Hier wäre der mit # eine Empfehlung.
Titel: Antw:Überschussenergie WLAN Steckdose einschalten
Beitrag von: ronilee am 31 Januar 2022, 15:38:14
Ich bekomme sehr viele Push Nachrichten, aber das unterbinden habe ich noch nicht geschafft.

Möchte nur bei einer Zustandsänderung benachrichtigt werden.

Mein Lösungsansatz: ({if(Value("Blumenzimmer") ne "off"){) das bringt aber leider nichts.

Wie könnte ich das Problem Lösen?

{
if([ESPEasy_Blumen_1_BH1750:Lux:avg2] > 10000){{if(Value("Blumenzimmer") ne "off"){
fhem_set("Blumenzimmer off");
fhem_set("pushmsg msg title='Frühbeet' message='Es hat im Blumenzimmer über 10000Lux Shelly schaltet das Pflanzenlicht aus'")
}
else
{
fhem_set("Blumenzimmer on");
fhem_set("pushmsg msg title='Frühbeet' message='Es hat im Blumenzimmer unter 10000Lux Shelly schaltet das Pflanzenlicht an'")
}
}


Ich habe jetzt eine Lösung gefunden!

Mit DOIF_Readings

powerSymoON:([SymoGEN24:power]>2000), powerSymoOFF:([SymoGEN24:power]<2000)


{if ([07:00-18:00|7]){
if ([$SELF:powerSymoON]){
fhem_set ("Kinderzimmer on");
fhem_set ("pushmsg msg 'Kinderzimmer' 'Infrarotheizung wurde eingeschaltet'")
}}}


{if ([07:00-18:00|7]){
if ([$SELF:powerSymoOFF]){
fhem_set ("Kinderzimmer off");
fhem_set ("pushmsg msg 'Kinderzimmer' 'Infrarotheizung wurde ausgeschaltet'")
}}}


Beispiel 2:

LuxUnter10000: ([ESPEasy_Blumen_1_BH1750:Lux] < 10000), LuxUeber10000: ([ESPEasy_Blumen_1_BH1750:Lux] > 10000)

{if([$SELF:LuxUnter10000]){
fhem_set("Blumenzimmer on");
fhem_set("pushmsg msg title='Frühbeet' message='Es hat im Blumenzimmer unter 10000Lux Shelly schaltet das Pflanzenlicht an'");
}}

{if([$SELF:LuxUeber10000]){
fhem_set("Blumenzimmer off");
fhem_set("pushmsg msg title='Frühbeet' message='Es hat im Blumenzimmer über 10000Lux Shelly schaltet das Pflanzenlicht aus'");
}}
Titel: Antw:Überschussenergie WLAN Steckdose einschalten
Beitrag von: ronilee am 27 Februar 2022, 11:59:41
Habe das ganze jetzt verfeinert  :) jetzt bin ich zufrieden


LuxOn{if ([06:00-18:00,+:15] and ([?ESPEasy_Blumen_1_BH1750:Lux] < 3000)){
fhem_set("Blumenzimmer on") if ([?Blumenzimmer] ne "on");;
fhem_set("pushmsg msg title='Frühbeet' message='Shelly Lux an'") if ([?Blumenzimmer] ne "on");;
}}

LuxOff{if ([06:00-18:00,+:05] and ([?ESPEasy_Blumen_1_BH1750:Lux] > 10000)){
fhem_set("Blumenzimmer off") if ([?Blumenzimmer] ne "off");;
fhem_set("pushmsg msg title='Frühbeet' message='Shelly Lux off'") if ([?Blumenzimmer] ne "off");;
}}



KinderzimmerOnOff{if ([06:00-18:00,+:10] and ([?SymoGEN24:Bezug] < 100)){
fhem_set ("Kinderzimmer on") if ([?Kinderzimmer] ne "on");;
fhem_set ("pushmsg msg 'Kinderzimmer' 'Infrarotheizung bleibt eingeschaltet Bezug < 100W'") if ([?Kinderzimmer] ne "on");;
}
else{
fhem_set ("Kinderzimmer off") if ([?Kinderzimmer] ne "off");;
fhem_set ("pushmsg msg 'Kinderzimmer' 'Infrarotheizung wurde ausgeschaltet keine Überschussenergie'") if ([?Kinderzimmer] ne "off");;
}}
Titel: Antw:Überschussenergie WLAN Steckdose einschalten
Beitrag von: ch.eick am 02 März 2022, 10:28:28
Zitat von: ronilee am 27 Februar 2022, 11:59:41
Habe das ganze jetzt verfeinert  :) jetzt bin ich zufrieden
Hier wäre meine Implementierung (https://wiki.fhem.de/wiki/Kostal_Plenticore_10_Plus#PV_Eigenverbrauch-Steuerung) für verschiedene Geräte Typen.
Das start/stop Kommando wäre in einer Konfiguration gespeichert und ist somit unabhängig von der Steuerung.

VG Christian