Hauptmenü

Zahl in Text umformen

Begonnen von Canon.Fritz, 05 April 2018, 20:40:49

Vorheriges Thema - Nächstes Thema

MSP

👍 Vielen Dank für die schnellen Antworten, werde ich am WE ausprobieren

Gruß
Markus

MSP

Hallo zusammen,

ich habe den ersten Vorschlag von Otto in der Kommandozeile ausprobiert:

{my $ret;; my $bws=AttrVal("Mythz","Brauchwasserstufe_sControl",0);; if ($bws eq "0"){$ret="Aus"}if ($bws eq "1"){$ret="Solarbetrieb"}if ($bws eq "2") {$ret="Verdichterbetrieb"}if ($bws eq "3"){$ret="Nachheizstufe"} return $ret}

--> es kommt immer nur "Aus" zurück, auch wenn der Wert von Brauchwasserstufe_sControl auf "1" steht

Auch wenn ich die userreadings wie vorgeschlagen erweitere:

Brauchwasserstufe {
  my $bws=AttrVal("Mythz","Brauchwasserstufe_sControl",0);
  my @bws2cmnd = ( 'Aus','Solarbetrieb','Verdichterbetrieb','Nachheizstufe');
  return $bws2cmnd[$bws];

--> der Wert bleibt auf "Aus", auch wenn der Wert von Brauchwasserstufe_sControl auf "1" steht

Ein event wird von Brauchwasserstufe_sControl erzeugt.

Noch eine Idee, was nicht passt ?

Danke&Gruß
Markus

Beta-User

#17
Du kennst den Unterschied zwischen AttrVal() und ReadingsVal()?

Und bitte bei allen userReadings daran danken, einen trigger zu setzen.

Code-Tags sind auch immer für die Lesbarkeit hilfreich.

Komplett zusammengefasst:

Brauchwasserstufe:Brauchwasserstufe_sControl.* {
  my $bws=ReadingsVal("Mythz","Brauchwasserstufe_sControl",0);
  my @bws2cmnd = ( 'Aus','Solarbetrieb','Verdichterbetrieb','Nachheizstufe');
  return $bws2cmnd[$bws]; }
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

betateilchen

Zitat von: Beta-User am 23 November 2020, 08:36:47
Du kennst den Unterschied zwischen AttrVal() und ReadingsVal()?

Der Fehler ist vermutlich durch copy&paste entstanden, sowohl in meinem Code-Schnipsel oben (da stand auch AttrVal()) als auch jetzt beim Ausprobieren.

Trotzdem sollte der Anwender den Unterschied natürlich kennen :)
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Otto123

Ich hatte mit über das AttrVal auch gewundert - aber so ist das wenn man einen Thread kapert und von dem etwas abschreibt was gar keinen Bezug hat  :o
Zitat von: MSP am 20 November 2020, 09:21:28
Bisher funktioniert nur:
Brauchwasserstufe {AttrVal("Mythz","Brauchwasserstufe_sControl",0) eq "0" ? "keine" : "solar_Verdichter_Nachheizen"}
Der Code funktioniert im Fehlerfall ja immer, der Folgende dann nicht mehr:
Brauchwasserstufe {AttrVal("Mythz","Brauchwasserstufe_sControl",2) eq "0" ? "keine" : "solar_Verdichter_Nachheizen"}
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

MSP

Hallo zusammen,

vielen Dank nochmals, die Anzeige ändert sich jetzt, wenn sich der Wert, z.B. von "0" auf "1" ändert

Folgenden Code habe ich den userreadings hinzugefügt

Brauchwasserstufe {\
  my $bws=ReadingsVal("Mythz","Brauchwasserstufe_sControl",0);;\
  my @bws2cmnd = ( 'Aus','Solarbetrieb','Verdichterbetrieb','Nachheizstufe');;\
  return $bws2cmnd[$bws];;\
  }


Das AttrVal() kam durch copy&paste rein.
Im Mythz Modul separiere ich bereits zahlreiche Betriebswerte durch userreadings mit ReadingsVal().

Den Code kann ich jetzt auch gut für die verschiedenen Heizkreisstufen verwenden 👍

Danke&Gruß
Markus

Beta-User

Was spricht denn dagegen, einen trigger zu setzen?
Das macht - je nachdem, wie die Readings am Device selbst aktualisiert werden - auch bei den anderen userReadings Sinn, schau einfach mal in den Event-Monitor, dann wird ggf. klarer, warum.
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

betateilchen

Zitat von: Beta-User am 23 November 2020, 16:44:09
Was spricht denn dagegen, einen trigger zu setzen?

Mangelndes Wissen und wenig Verständnis dessen, was man da eigentlich tut, wenn man vorgekaute Lösungen einfach per copy&paste übernimmt.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Beta-User

Zitat von: betateilchen am 23 November 2020, 17:22:37
Mangelndes Wissen und wenig Verständnis dessen, was man da eigentlich tut, wenn man vorgekaute Lösungen einfach per copy&paste übernimmt.
Stimmt wohl...

Dachte, ich hätte es c&p-fertig geliefert, aber eben gesehen, dass noch eine schließende Klammer gefehlt hatte (ist nachgezogen) :o .

Na ja, wie dem auch sei, ich schreibs halt hin, bis die Finger bluten, immer in der Hoffnung, dass es jemand liest :'( ...
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