PWMR Attribute über dummy/notify bzw. Slider setzen

Begonnen von Sebuz, 24 November 2023, 10:02:05

Vorheriges Thema - Nächstes Thema

Sebuz

Hallo,
ich habe schon seit einiger Zeit das PWMR-Modul zur Raumtemp.-Regelung am laufen. Das funktioniert auch sehr gut, Danke an den Entwickler!
Bisher verwende ich den internen Kalender bzw. die TempRules und Temperaturvorgaben tempDay und tempNight, die sich nur umständlcih ändern lassen.

Jetzt habe ich dummys mit slidern für die Temperaturvorgaben gebaut, die per notify die Attribute setzen sollen. Ich finde keine Lösung, das notify kann nur set-Befehle absetzen und die Temp-Attribute im PWMR akzeptieren nur Werte von 0..30 und keine Zeichenketten.

folgender Test funktioniert auch nicht:
attr Temp_Laden tempDay {return ReadingsNum("Raumtemperatur_Laden_Tag","state",0)}
attr Temp_Laden tempDay {ReadingsNum("Raumtemperatur_Laden_Tag","state",0)}
in der Befehlszeile geben die Tests die richtigen Werte zurück.

Raumtemperatur_Laden_Tag = Dummy mit Slider
Temp_Laden = PWMR-Modul

Ich möchte die TempRules gern behalten und keine externe Zeitsteuerung und Vorgabe über desiredTemp machen.
FHEM seit 3/2019 auf Rasbberry Pi3B+ -Signalduino433/FS1000A/RXB6
- diverse IT Geräte, Funksteckdosen, Sonoffs, -Gas/Wasser/Stromzähler über Logo und FHEM
- Siemens 1x LOGO!8-RCE12/24 0BA8  / 1x LOGO!8-RCT
- PV-Anlage mit Fronius SymoGen24 /- 3-Stufige Heizstabsteuerung für PV-Überschuss

Otto123

#1
Hi,

Zitat von: Sebuz am 24 November 2023, 10:02:05das notify kann nur set-Befehle absetzen
das stimmt nicht, Du kannst im Ausführungsteil eines notify quasi alles absetzen.

Sicher kannst Du nicht unbedingt im attr einen Perl Befehl direkt angeben, das ist zumindest Dein Problem - wenn ich das richtig verstanden habe?

Vorschlag für den Ausführungsteil im notify zum Test in der Kommandozeile
{my $val=ReadingsNum("Raumtemperatur_Laden_Tag","state",0);;fhem("attr Temp_Laden tempDay $val")}Beim DEF Editor kannst Du aus ;; dies ; machen.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Sebuz

Hallo Otto,
danke für die schnelle Antwort! Das funktioniert auf Anhieb!
Das ist mein Einstieg in Perl und Variablendefinition - geht das nur so oder kann man den Wert auch anders "maskieren"?

Viele Grüße aus Hainichen in Sachsen
FHEM seit 3/2019 auf Rasbberry Pi3B+ -Signalduino433/FS1000A/RXB6
- diverse IT Geräte, Funksteckdosen, Sonoffs, -Gas/Wasser/Stromzähler über Logo und FHEM
- Siemens 1x LOGO!8-RCE12/24 0BA8  / 1x LOGO!8-RCT
- PV-Anlage mit Fronius SymoGen24 /- 3-Stufige Heizstabsteuerung für PV-Überschuss

Otto123

ach da gibt es viele Möglichkeiten. Du brauchst die Variable z.B. nicht:
{fhem("attr Temp_Laden tempDay ".ReadingsNum("Raumtemperatur_Laden_Tag","state",0))}In dem Fall liest sich das noch halbwegs, aber mit dieser Methode (concatenation) wird der Code ganz schnell unleserlich.

Die Variable ist meist die eingängige Schreibweise :)
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz