Autor Thema: Überschussenergie WLAN Steckdose einschalten  (Gelesen 971 mal)

Offline ronilee

  • New Member
  • *
  • Beiträge: 10
Überschussenergie WLAN Steckdose einschalten
« 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

Offline xerion

  • Sr. Member
  • ****
  • Beiträge: 623
Antw:Überschussenergie WLAN Steckdose einschalten
« Antwort #1 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.
Informativ Informativ x 1 Liste anzeigen

Offline ronilee

  • New Member
  • *
  • Beiträge: 10
Antw:Überschussenergie WLAN Steckdose einschalten
« Antwort #2 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
« Letzte Änderung: 29 Januar 2022, 17:43:25 von ronilee »

Offline ronilee

  • New Member
  • *
  • Beiträge: 10
Antw:Überschussenergie WLAN Steckdose einschalten
« Antwort #3 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')
}
« Letzte Änderung: 29 Januar 2022, 17:43:02 von ronilee »

Offline rabehd

  • Hero Member
  • *****
  • Beiträge: 1296
Antw:Überschussenergie WLAN Steckdose einschalten
« Antwort #4 am: 27 Januar 2022, 15:27:29 »
Ich nutze DOIF nicht im perl-Modus, aber ein "and" in Ausführungsteil überrascht mich.
Auch funktionierende Lösungen kann man hinterfragen.

Online Stelaku

  • Full Member
  • ***
  • Beiträge: 172
Antw:Überschussenergie WLAN Steckdose einschalten
« Antwort #5 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

Offline rabehd

  • Hero Member
  • *****
  • Beiträge: 1296
Antw:Überschussenergie WLAN Steckdose einschalten
« Antwort #6 am: 28 Januar 2022, 07:16:47 »
@Stelaku
Da fehlt doch einmal }.
Zweimal {, erfordert auch zweimal }.
Auch funktionierende Lösungen kann man hinterfragen.

Offline ronilee

  • New Member
  • *
  • Beiträge: 10
Antw:Überschussenergie WLAN Steckdose einschalten
« Antwort #7 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'")
}
}
« Letzte Änderung: 29 Januar 2022, 17:42:37 von ronilee »

Offline rabehd

  • Hero Member
  • *****
  • Beiträge: 1296
Antw:Überschussenergie WLAN Steckdose einschalten
« Antwort #8 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.
« Letzte Änderung: 31 Januar 2022, 16:03:58 von rabehd »
Auch funktionierende Lösungen kann man hinterfragen.

Offline ronilee

  • New Member
  • *
  • Beiträge: 10
Antw:Überschussenergie WLAN Steckdose einschalten
« Antwort #9 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'");
}}
« Letzte Änderung: 03 Februar 2022, 17:40:19 von ronilee »

Offline ronilee

  • New Member
  • *
  • Beiträge: 10
Antw:Überschussenergie WLAN Steckdose einschalten
« Antwort #10 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");;
}}

Offline ch.eick

  • Hero Member
  • *****
  • Beiträge: 2394
Antw:Überschussenergie WLAN Steckdose einschalten
« Antwort #11 am: 02 März 2022, 10:28:28 »
Habe das ganze jetzt verfeinert  :) jetzt bin ich zufrieden
Hier wäre meine Implementierung 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
RPI4; Docker; CUNX; Eltako FSB61NP; 230V zentral verschaltet; SamsungTV H-Serie; DLNARenderer; TV.pl;  Sonos; Vallox; Luxtronik; 2x FB7490; Stromzähler mit DvLIR; wunderground; clever-tanken; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP