DOIF erst schalten nach Zeit und Schwellwert überschreitung

Begonnen von ChrisA4, 15 September 2022, 14:15:35

Vorheriges Thema - Nächstes Thema

ChrisA4

Hallo

Ich stehe vor einem Schaltungsproblem.

Habe eine PV Anlage, Smartmeter und drei Heizstäbe mit jje 2,5kW. Diese möchte ich gerne in einem Abwechsungsrad ( HZ1 ist der erste am Montag, der zweite am Dienstag und der dritte am Mittwoch, HZ2 ist der zweite am Montag, der dritte am dienstag usw.) damit jeder Heizstab gleichmässig belastet wird und je nach überschuss, zuerst der erste dann der zweite dann der dritte und in umgekehrte reihenfolge bei abschwächen des Überschusses schalten. Damit die Relais nicht hin und her schalten wie ein gescheuchtes Huhn (kommt eine Wolke PV Leistung weg nach 2 sek wieder da oder ist Bewölkt und kommt für 2sek die Sonne usw) dachte ich mir ich setze den wait timer ein und warte eine Zeitspanne ab ob sich der Wert nach dem Schwellwert hält oder wieder zurücksetzt (bei zurücksetzen soll der Befehl zum schalten nicht ausgeführt werden, erst wenn die Zeit abgelaufen ist und der Wert unter eine schwelle bleibt soll geschalten werden.

Derzeit wird nach ablauf der zeit immer geschalten egal ob sich der Wert zurücksetzt oder nicht.

Hier meine DOIF`S

defmod Heizstab1 DOIF ([09:00-20:00|1] and [Wechselrichter:PowerFlow_Site_P_PV] > 2500 and [Wechselrichter:Einspeisung] > 2700 and [MQTT2_4fach:POWER2] eq "off" and [MQTT2_4fach:POWER3] eq "off") (set MQTT2_4fach POWER1 on)
DOELSEIF ([09:00-20:00|2] and [Wechselrichter:PowerFlow_Site_P_PV] > 7500 and [Wechselrichter:Einspeisung] > 2700 and [MQTT2_4fach:POWER2] eq "on" and [MQTT2_4fach:POWER3] eq "on") (set MQTT2_4fach POWER1 on)
DOELSEIF ([09:00-20:00|3] and [Wechselrichter:PowerFlow_Site_P_PV] > 5000 and [Wechselrichter:Einspeisung] > 2700 and [MQTT2_4fach:POWER2] eq "off" and [MQTT2_4fach:POWER3] eq "on") (set MQTT2_4fach POWER1 on)
DOELSEIF ([09:00-20:00|4] and [Wechselrichter:PowerFlow_Site_P_PV] > 2500 and [Wechselrichter:Einspeisung] > 2700 and [MQTT2_4fach:POWER2] eq "off" and [MQTT2_4fach:POWER3] eq "off") (set MQTT2_4fach POWER1 on)
DOELSEIF ([09:00-20:00|5] and [Wechselrichter:PowerFlow_Site_P_PV] > 7500 and [Wechselrichter:Einspeisung] > 2700 and [MQTT2_4fach:POWER2] eq "on" and [MQTT2_4fach:POWER3] eq "on") (set MQTT2_4fach POWER1 on)
DOELSEIF ([09:00-20:00|6] and [Wechselrichter:PowerFlow_Site_P_PV] > 5000 and [Wechselrichter:Einspeisung] > 2700 and [MQTT2_4fach:POWER2] eq "on" and [MQTT2_4fach:POWER3] eq "off") (set MQTT2_4fach POWER1 on)
DOELSEIF ([09:00-20:00|0] and [Wechselrichter:PowerFlow_Site_P_PV] > 5000 and [Wechselrichter:Einspeisung] > 2700 and [MQTT2_4fach:POWER2] eq "off" and [MQTT2_4fach:POWER3] eq "on") (set MQTT2_4fach POWER1 on)
DOELSEIF ([09:00-20:00|1] and [Wechselrichter:Einspeisung] < 400 and [MQTT2_4fach:POWER2] eq "off" and [MQTT2_4fach:POWER3] eq "off") (set MQTT2_4fach POWER1 off)
DOELSEIF ([09:00-20:00|2] and [Wechselrichter:Einspeisung] < 400 and [MQTT2_4fach:POWER2] eq "on" and [MQTT2_4fach:POWER3] eq "on") (set MQTT2_4fach POWER1 off)
DOELSEIF ([09:00-20:00|3] and  [Wechselrichter:Einspeisung] < 400 and [MQTT2_4fach:POWER2] eq "off" and [MQTT2_4fach:POWER3] eq "on") (set MQTT2_4fach POWER1 off)
DOELSEIF ([09:00-20:00|4] and [Wechselrichter:Einspeisung] < 400 and [MQTT2_4fach:POWER2] eq "off" and [MQTT2_4fach:POWER3] eq "off") (set MQTT2_4fach POWER1 off)
DOELSEIF ([09:00-20:00|5] and  [Wechselrichter:Einspeisung] < 400 and [MQTT2_4fach:POWER2] eq "on" and [MQTT2_4fach:POWER3] eq "on") (set MQTT2_4fach POWER1 off)
DOELSEIF ([09:00-20:00|6] and [Wechselrichter:Einspeisung] < 400 and [MQTT2_4fach:POWER2] eq "on" and [MQTT2_4fach:POWER3] eq "off") (set MQTT2_4fach POWER1 off)
DOELSEIF ([09:00-20:00|0] and [Wechselrichter:Einspeisung] < 400 and [MQTT2_4fach:POWER2] eq "off" and [MQTT2_4fach:POWER3] eq "on") (set MQTT2_4fach POWER1 off)
DOELSEIF ([20:01-08:59]) (set MQTT2_4fach POWER1 off)
attr Heizstab1 checkall all
attr Heizstab1 room ,Keller,Technikraum
attr Heizstab1 wait 0:20:15:0:20:15:15:20:0:15:20:0:15:15:0


defmod Heizstab2 DOIF ([09:00-20:00|1] and [Wechselrichter:PowerFlow_Site_P_PV] > 5000 and [Wechselrichter:Einspeisung] > 2700 and [MQTT2_4fach:POWER1] eq "on" and [MQTT2_4fach:POWER3] eq "off") (set MQTT2_4fach POWER2 on)
DOELSEIF ([09:00-20:00|2] and [Wechselrichter:PowerFlow_Site_P_PV] > 2500 and [Wechselrichter:Einspeisung] > 2700 and [MQTT2_4fach:POWER1] eq "off" and [MQTT2_4fach:POWER3] eq "off") (set MQTT2_4fach POWER2 on)
DOELSEIF ([09:00-20:00|3] and [Wechselrichter:PowerFlow_Site_P_PV] > 7500 and [Wechselrichter:Einspeisung] > 2700 and [MQTT2_4fach:POWER1] eq "on" and [MQTT2_4fach:POWER3] eq "on") (set MQTT2_4fach POWER2 on)
DOELSEIF ([09:00-20:00|4] and [Wechselrichter:PowerFlow_Site_P_PV] > 7500 and [Wechselrichter:Einspeisung] > 2700 and [MQTT2_4fach:POWER1] eq "on" and [MQTT2_4fach:POWER3] eq "on") (set MQTT2_4fach POWER2 on)
DOELSEIF ([09:00-20:00|5] and [Wechselrichter:PowerFlow_Site_P_PV] > 5000 and [Wechselrichter:Einspeisung] > 2700 and [MQTT2_4fach:POWER1] eq "off" and [MQTT2_4fach:POWER3] eq "on") (set MQTT2_4fach POWER2 on)
DOELSEIF ([09:00-20:00|6] and [Wechselrichter:PowerFlow_Site_P_PV] > 2500 and [Wechselrichter:Einspeisung] > 2700 and [MQTT2_4fach:POWER1] eq "off" and [MQTT2_4fach:POWER3] eq "off") (set MQTT2_4fach POWER2 on)
DOELSEIF ([09:00-20:00|0] and [Wechselrichter:PowerFlow_Site_P_PV] > 7500 and [Wechselrichter:Einspeisung] > 2700 and [MQTT2_4fach:POWER1] eq "on" and [MQTT2_4fach:POWER3] eq "on") (set MQTT2_4fach POWER2 on)
DOELSEIF ([09:00-20:00|1] and [Wechselrichter:Einspeisung] < 400 and [MQTT2_4fach:POWER1] eq "on" and [MQTT2_4fach:POWER3] eq "off") (set MQTT2_4fach POWER2 off)
DOELSEIF ([09:00-20:00|2] and [Wechselrichter:Einspeisung] < 400 and [MQTT2_4fach:POWER1] eq "off" and [MQTT2_4fach:POWER3] eq "off") (set MQTT2_4fach POWER2 off)
DOELSEIF ([09:00-20:00|3] and [Wechselrichter:Einspeisung] < 400 and [MQTT2_4fach:POWER1] eq "on" and [MQTT2_4fach:POWER3] eq "on") (set MQTT2_4fach POWER2 off)
DOELSEIF ([09:00-20:00|4] and [Wechselrichter:Einspeisung] < 400 and [MQTT2_4fach:POWER1] eq "on" and [MQTT2_4fach:POWER3] eq "on") (set MQTT2_4fach POWER2 off)
DOELSEIF ([09:00-20:00|5] and [Wechselrichter:Einspeisung] < 400 and [MQTT2_4fach:POWER1] eq "off" and [MQTT2_4fach:POWER3] eq "on") (set MQTT2_4fach POWER2 off)
DOELSEIF ([09:00-20:00|6] and [Wechselrichter:Einspeisung] < 400 and [MQTT2_4fach:POWER1] eq "off" and [MQTT2_4fach:POWER3] eq "off") (set MQTT2_4fach POWER2 off)
DOELSEIF ([09:00-20:00|0] and [Wechselrichter:Einspeisung] < 400 and [MQTT2_4fach:POWER1] eq "on" and [MQTT2_4fach:POWER3] eq "on") (set MQTT2_4fach POWER2 off)
DOELSEIF ([20:01-08:59]) (set MQTT2_4fach POWER2 off)
attr Heizstab2 checkall all
attr Heizstab2 room ,Keller,Technikraum
attr Heizstab2 wait 15:0:20:20:15:0:20:15:20:0:0:15:20:0:0


defmod Heizstab3 DOIF ([09:00-20:00|1] and [Wechselrichter:PowerFlow_Site_P_PV] > 7500 and [Wechselrichter:Einspeisung] > 2700 and [MQTT2_4fach:POWER1] eq "on" and [MQTT2_4fach:POWER2] eq "on") (set MQTT2_4fach POWER3 on)
DOELSEIF ([09:00-20:00|2] and [Wechselrichter:PowerFlow_Site_P_PV] > 5000 and [Wechselrichter:Einspeisung] > 2700 and [MQTT2_4fach:POWER1] eq "off" and [MQTT2_4fach:POWER2] eq "on") (set MQTT2_4fach POWER3 on)
DOELSEIF ([09:00-20:00|3] and [Wechselrichter:PowerFlow_Site_P_PV] > 2500 and [Wechselrichter:Einspeisung] > 2700 and [MQTT2_4fach:POWER1] eq "off" and [MQTT2_4fach:POWER2] eq "off") (set MQTT2_4fach POWER3 on)
DOELSEIF ([09:00-20:00|4] and [Wechselrichter:PowerFlow_Site_P_PV] > 5000 and [Wechselrichter:Einspeisung] > 2700 and [MQTT2_4fach:POWER1] eq "on" and [MQTT2_4fach:POWER2] eq "off") (set MQTT2_4fach POWER3 on)
DOELSEIF ([09:00-20:00|5] and [Wechselrichter:PowerFlow_Site_P_PV] > 2500 and [Wechselrichter:Einspeisung] > 2700 and [MQTT2_4fach:POWER1] eq "off" and [MQTT2_4fach:POWER2] eq "off") (set MQTT2_4fach POWER3 on)
DOELSEIF ([09:00-20:00|6] and [Wechselrichter:PowerFlow_Site_P_PV] > 7500 and [Wechselrichter:Einspeisung] > 2700 and [MQTT2_4fach:POWER1] eq "on" and [MQTT2_4fach:POWER2] eq "on") (set MQTT2_4fach POWER3 on) DOELSEIF ([09:00-20:00|0] and [Wechselrichter:PowerFlow_Site_P_PV] > 2500 and [Wechselrichter:Einspeisung] > 2700 and [MQTT2_4fach:POWER1] eq "off" and [MQTT2_4fach:POWER2] eq "off") (set MQTT2_4fach POWER3 on) DOELSEIF ([09:00-20:00|1] and [Wechselrichter:Einspeisung] < 400 and [MQTT2_4fach:POWER1] eq "on" and [MQTT2_4fach:POWER2] eq "on") (set MQTT2_4fach POWER3 off)
DOELSEIF ([09:00-20:00|2] and [Wechselrichter:Einspeisung] < 400 and [MQTT2_4fach:POWER1] eq "off" and [MQTT2_4fach:POWER2] eq "on") (set MQTT2_4fach POWER3 off)
DOELSEIF ([09:00-20:00|3] and [Wechselrichter:Einspeisung] < 400 and [MQTT2_4fach:POWER1] eq "off" and [MQTT2_4fach:POWER2] eq "off") (set MQTT2_4fach POWER3 off)
DOELSEIF ([09:00-20:00|4] and [Wechselrichter:Einspeisung] < 400 and [MQTT2_4fach:POWER1] eq "on" and [MQTT2_4fach:POWER2] eq "off") (set MQTT2_4fach POWER3 off)
DOELSEIF ([09:00-20:00|5] and [Wechselrichter:Einspeisung] < 400 and [MQTT2_4fach:POWER1] eq "off" and [MQTT2_4fach:POWER2] eq "off") (set MQTT2_4fach POWER3 off)
DOELSEIF ([09:00-20:00|6] and [Wechselrichter:Einspeisung] < 400 and [MQTT2_4fach:POWER1] eq "on" and [MQTT2_4fach:POWER2] eq "on") (set MQTT2_4fach POWER3 off)
DOELSEIF ([09:00-20:00|0] and [Wechselrichter:Einspeisung] < 400 and [MQTT2_4fach:POWER1] eq "off" and [MQTT2_4fach:POWER2] eq "off") (set MQTT2_4fach POWER3 off)
DOELSEIF ([20:01-08:59]) (set MQTT2_4fach POWER3 off)
attr Heizstab3 checkall all
attr Heizstab3 room ,Keller,Technikraum
attr Heizstab3 wait 20:15:0:15:0:20:0:0:15:20:15:20:0:20:0


Hat jemand eine Idee wo der Fehler liegt, bin mit meinem Latein am Ende.

DetlefR

ZitatHat jemand eine Idee wo der Fehler liegt, bin mit meinem Latein am Ende.

Nicht böse gemeint. Aber der Slider unter dem Codefenster ist zu schmal. ;)
Das ganze ist einfach zu unübersichtlich.

Ich habe das so verstanden:
Wenn "Einspeisung" > 2700 soll der Rest verheizt werden.
Bei "PowerFlow_Site_P_PV" >2500 mit einem Heizstand >5000 mit 2 und größer 7500 mit drei.
Damit es nicht "klappert" sollen die Heizstäbe eine Mindesteinschaltdauer haben.
Und damit sie sich nicht "abnutzen", sollen sie auch noch "rotieren"

Soweit richtig?
Dann kannst du das probieren. Der Code wird so nicht lauffähig sein, da ich a.) die Vorraussetzungen bei dir nicht kenne und b.) sicher noch einige Änderungen vorgenommen werden müssen.
define n_heizstab notify Wechselrichter:PowerFlow_Site_P_PV:.* {
return if (ReadingsVal('Wechselrichter','Einspeisung',3000)<2700);
my $rotation=floor(time()/84600)%3;
my @relais=['rp_hzg1','rp_hzg2','rp_hzg3'];
if ($EVTPART1>2500){
fhem("set $relais[rotation] on-for-timer 600");
$rotation-=1;
}
if ($EVTPART1>5000){
fhem("set $relais[rotation] on-for-timer 600");
$rotation-=1;
}
if ($EVTPART1>7500){
fhem("set $relais[rotation] on-for-timer 600");
}
}


  • Ein Notify anlegen, dass auf neue Werte auf PowerFlow_Site_P_PV reagiert
  • Gleich wieder zurück wenn Einspeisung <2700 ist
  • $rotation sind die Tage seit 1970 %3. Ergibt also 0,1 oder2
  • Das sind die Namen der Relais die geschaltet werden sollen
  • Wenn $EVTPART1 d.h. PowerFlow_Site_P_PV>2500 ist das erste Relais für 10 min einschalten
  • $rotation-1 d.h das nächste Relais
  • usw bis Relais 3
Voraussetzung ist, dass du für dein "MQTT2_4fach" Readingsproxy für jedes Relais einrichtest. Und dort "Setextension" aktiviert ist.

Gruß
Detlef

TomLee

#2
OT

@DetlefR

Ich hab deinen mir zuletzt gezeigten Code noch nicht verinnerlicht, noch keine Zeit gehabt Stück für Stück auch nachzuvollziehen, sehe  8) aber das er machen sollte wie du sagtest, genauso sehe ich hier (auf den ersten Blick) das man deinen zuletzt gezeigten Code optimaler mit einem Hash umsetzt, ist dir das bewusst ?

DetlefR

OT OT

@TomLee
Das zeigst du mir am besten mal an einem Beispiel wie du das meinst. Geht auch per PM

TomLee

Ich meine ich hab das hier mitgenommen, per PM hat keiner was davon ausser wir zwei.

ChrisA4

Ertsmal Danke für eure Antworten


Zitat von: DetlefR am 16 September 2022, 19:35:44
Nicht böse gemeint. Aber der Slider unter dem Codefenster ist zu schmal. ;)
Das ganze ist einfach zu unübersichtlich.

Ich habe das so verstanden:
Wenn "Einspeisung" > 2700 soll der Rest verheizt werden.
Bei "PowerFlow_Site_P_PV" >2500 mit einem Heizstand >5000 mit 2 und größer 7500 mit drei.
Damit es nicht "klappert" sollen die Heizstäbe eine Mindesteinschaltdauer haben.
Und damit sie sich nicht "abnutzen", sollen sie auch noch "rotieren"

Soweit richtig?

Nicht so Ganz

Heizstab 1 (Stufe 1) soll bei Überschuss Heizen wenn >2500 PV Leistung und > 2700 Einspeisung
Heizstab 2 (Stufe 2) soll bei weiterem erreichen des Überschusses von >2700 und einer PV Leistug von >5000 Heizen, aber wieder abschalten bei unterschreitung der Werte,
dabei aber abwarten von einigen sekunden ob es nur eine Wolke war oder doch länger keine einstrahlung vorhanden ist, sonst schaltet alles in sekundentakt.

Das gleiche mit HZ3 >2700 Einspeisung und >7500 PV 

Habe bemerkt das der Smartmeter alle 5 sek neue Werte gibt.
ein Reading ist zb

PV 3000
Einspeisung 2900
HZ1 Schaltet

nach 5 sek
pv 3500
einspeisung 2000 da zb E Herd an

hz 1 sollte warten 10 sek ob der wert wieder auf
pv 3000
einspeisung 2900 zurück kehrt
damit nicht aus und gleich wieder ein ist

momentanes problem
wert ist wieder auf pv 3000
und einspeisung 2900
HZ1 schaltet trotzdem nach 10 sek aus und dann wieder ein , sollte eigentlich in diesem fall nicht schalten


Hoffe ich habs etwas erklären können was ich haben möchte


PS: meine Antworten könnten manchmal etwas länger dauern da ich viel unterwegs bin
Danke euch nochmal

DetlefR

ZitatNicht so Ganz
Die if Bedingungen lassen sich einfach anpassen.
Genau so die Einschaltdauer der Readingsproxy von 600 Sekunden auf 10 Sekunden einstellen.

ChrisA4

Es sollte nicht immer min. von x zeit schalten,
sondern solange schalten wie die bedingung vorhanden ist und nur eine x zeit abwarten bei bedingungswechsel ob diese auch bleibt oder wieder zurückkehrt
und die heizstäbe stufenmäßig dazuschalten und dass für jeden tag mit einem anderen HZ Stab beginnend

Stufe              1;2;3

Mo Hz Stab     1;2;3
Di                    2;3;1
Mi                    3;1;2
do                   1;2;3
fr                     2;3;1
sa                   3;2;1
so                   2;1;3

DetlefR

#8
"on-for-timer" heisst schalte den Heizstab für xx Sekunden ein.

Dein Smartmeter sendet alle 5 Sekunden neue Werte. Wenn für z.B. HZ.Stab 2 die Bedingung zutrifft, wird er für 10 Sekunden eingeschalten. Wenn beim nächsten mal die Bedingung immer noch zutrifft, wird er für weitere wieder für 10 Sekunden eingeschalten. usw. usw.
Wenn die Bedingung nicht mehr zutrifft, schaltet er sich nach 2 Perioden (2*5Sekunden) allein aus.

Die Rotation ergibt sich durch
my $rotation=floor(time()/84600)%3;
my @relais=['rp_hzg1','rp_hzg2','rp_hzg3'];

rp_hzg1 bis 3 müssen durch die wirklichen Namen der ReadingsProxy ersetzt werden

ChrisA4

Danke
Werd es heute probieren

Frage : Wenn es erreigniss nicht mehr zutrifft schalten dann alle drei zugleich aus oder stufenmäßig zurück

Beta-User

Kleine Anmerkungen noch - man braucht nicht unbedingt einen readingsProxy.

Zum einen könnte man das MQTT2_DEVICE einfach "splitten" und für jedes Relay eine eigene Instanz generieren. Die könnte dann auch direkt "SetExtensions" (also u.A. on-for-timer).

Zum anderen kann man das auch mit benannten fhem (!)-sleep lösen.

Hier mal ein dummy zum Knobeln:
defmod du_test dummy
attr du_test readingList state
attr du_test setList on off
attr du_test useSetExtensions 1
attr du_test userReadings Status:on { fhem("sleep 5 moving_$name quiet;;setreading $name Status closed");; return 'moving' }
attr du_test webCmd on-for-timer 0.2

(zum Hintergrund siehe https://forum.fhem.de/index.php/topic,127649.0.html, und es sei darauf hingewiesen, dass man was tun muss, damit man sieht, was passiert...)
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

DetlefR

ZitatWenn es erreigniss nicht mehr zutrifft schalten dann alle drei zugleich aus oder stufenmäßig zurück
Das kommt auf das "Ereignis" an.
Wenn "PowerFlow_Site_P_PV" langsam zurückgeht, wird auch ein Relais nach dem anderen ausgehen.(leichte Bewölkung)
Wenn "PowerFlow_Site_P_PV" innerhalb einer Messperiode unter 2500 geht und dort bleibt, geht nach 10 Sek. alles aus (dunkele Wokle) ;)

Aber etwas anderes ist mir noch aufgefallen. Wenn ein Heizstab eingeschalten wird, geht die Einspeisung zurück.
Ich habe mal versucht das zu berücksichtigen.

define n_heizstab notify Wechselrichter:PowerFlow_Site_P_PV:.* {
my $Einspeisung=ReadingsVal('Wechselrichter','Einspeisung',3000);
my $rotation=floor(time()/84600)%3;
my @relais=['rp_hzg1','rp_hzg2','rp_hzg3'];
if (($EVTPART1>2500) && ($Einspeisung>(ReadingsVal($relais[$rotation],'state','on')=~ /on/i ? 100:2700)))
fhem("set $relais[$rotation] on-for-timer 10");
$rotation-=1;
}
if (($EVTPART1>5000) && ($Einspeisung>(ReadingsVal($relais[$rotation],'state','on')=~ /on/i ? 100:2700)))
fhem("set $relais[$rotation] on-for-timer 10");
$rotation-=1;
}
if (($EVTPART1>7500) && ($Einspeisung>(ReadingsVal($relais[$rotation],'state','on')=~ /on/i ? 100:2700)))
fhem("set $relais[$rotation] on-for-timer 10");
}
}


Wenn der betreffende Heizstab schon an ist, dann muss die Einspeisung noch über 100 sein. Ansonsten 2700.

ChrisA4

Zitat von: DetlefR am 16 September 2022, 19:35:44
Voraussetzung ist, dass du für dein "MQTT2_4fach" Readingsproxy für jedes Relais einrichtest. Und dort "Setextension" aktiviert ist.
Hab zwar jetzt endlich geschafft ein Readingsproxy zu erstellen aber bekomme kein Setextension hin

Heizstab_Relais_1: unknown attribute setextension. Type 'attr Heizstab_Relais_1 ?' for a detailed list.

Hab voll den durchblick verloren

DetlefR

Sorry. ??? Mein Fehler. Setextension ist bei Readingsproxy von Hause aus mit drin.
Es sollten
blink
...
on
off
on-for-timer
...toggle
zur Verfügung stehen.
Schalten und Rückmeldung funktioniert darüber?
Wenn nicht schick mal das Ergebnis von
list -r Heizstab_Relais_1

Beta-User

Zitat von: Beta-User am 19 September 2022, 07:14:35
Kleine Anmerkungen noch - man braucht nicht unbedingt einen readingsProxy.

Zum einen könnte man das MQTT2_DEVICE einfach "splitten" und für jedes Relay eine eigene Instanz generieren. Die könnte dann auch direkt "SetExtensions" (also u.A. on-for-timer).

Zum anderen kann man das auch mit benannten fhem (!)-sleep lösen.

[...]
Anders gesagt: das splitten ist einfacher als readingsProxy...

SetExtensions setzen aber (in der Anzeige in FHEMWEB) immer voraus, dass das Device on und off versteht. Bei readingsProxy klappt das dann, wenn setList passend gesetzt ist ;) .
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors