Hauptmenü

[GELÖST] Syntax Problem

Begonnen von Ajuba, 02 November 2022, 22:28:08

Vorheriges Thema - Nächstes Thema

Ajuba

Schlagt mich nicht, wieder einmal strauchle ich mit mit dem korrekten Syntax.
Ich möchte einen Wetterwert bei Änderung von Fhem an die Homematic CCU per notify übergeben.

defmod n_WetterTemp notify Wetter:fc0_tempMax set CCU3 var ReadingsVal("Wetter","fc0_tempMax",0)
endet in
Unknown argument execute, choose one of active addRegexpPart inactive removeRegexpPart

Ich vermute den Fehler im Bereich "ReadingsVal...".
Welche Klammer oder Anführungszeichen fehlt mir?

Besten Dank im voraus.
Andi
FHEM auf RPi3, Homematic CCU3 mit Cuxd und CUL 868 für FS20, Siemens S7 über CP343-1,
DbLog zu MySQL auf NAS QNAP TS-253D,
Yeelight

MadMax-FHEM

#1
ReadingsVal ist ein Perl-Befehl, also musst du von fhem erst mal nach Perl wechseln: { hier dann Perl }

Ob eine Mischung aus fhem Befehlen/Kommandos wie set und Perl-Code wie ReadingsVal geht hängt von vielen Dingen ab (ich vermeide das).

Wenn du aus Perl heraus dann wieder fhem-Aufrufe machen willst/musst gibt es den Perl-Befehl fhem(" hier wieder fhem ") ;)

https://wiki.fhem.de/wiki/Klammerebenen

Sowas in der Art könnte gehen:

defmod n_WetterTemp notify Wetter:fc0_tempMax {my $value=ReadingsVal("Wetter","fc0_tempMax",0);; fhem("set CCU3 var $value")}


Anzahl Strichpunkte hängt davon ab wo/wie du es eingibst...

Anmerkung: wenn es um das Auslesen von Zahlenwerten geht, ist besser ReadingsNum statt ReadingsVal zu nehmen...

Allerdings sollte bei dir doch in $EVENT stehen was du weitergeben willst?
Zu sehen, wenn du den Eventmonitor aufmachst...
...oder einfach mal ausgibst:


defmod n_WetterTemp notify Wetter:fc0_tempMax {Log3(undef, 1, "n_WetterTemp $EVENT")}


Also sollte das doch gehen:


defmod n_WetterTemp notify Wetter:fc0_tempMax set CCU3 var $EVENT


Falls nicht, dann evtl. $EVTPART1

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Otto123

#2
Die Problemstellung muss richtig heißen: set - Syntax Problem  :D

einfach set magic? https://fhem.de/commandref_modular_DE.html#set
defmod n_WetterTemp notify Wetter:fc0_tempMax set CCU3 var [Wetter:fc0_tempMax]

Aber Joachim hat Recht, es steht ja alles im Event ;) https://wiki.fhem.de/wiki/Notify
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

Ajuba

Danke Euch Beiden

Folgende Varianten funktionieren
defmod n_WetterTemp notify Wetter:fc0_tempMax:.* {my $value=ReadingsVal("Wetter","fc0_tempMax",0);;;; fhem("set CCU3 var Wetter_T_max  $value")}
oder
defmod n_WetterTemp notify Wetter:fc0_tempMax:.* set CCU3 var Wetter_T_max [Wetter:fc0_tempMax]

Ich verwende nun die letztere weil kompakter.

Da waren noch zwei weitere Böcke drin:
1. Ohne ".*" springt das Notify gar nicht an
2. Bei "Set CCU3 var Wetter_T_max" gehört natürlich der Variablenname auf CCU Seite rein

Ich werde den Titel neutral auf "[GELÖST] Syntax Problem" ändern
DANKE
FHEM auf RPi3, Homematic CCU3 mit Cuxd und CUL 868 für FS20, Siemens S7 über CP343-1,
DbLog zu MySQL auf NAS QNAP TS-253D,
Yeelight

MadMax-FHEM

Zitat von: Otto123 am 03 November 2022, 09:11:45
Die Problemstellung muss richtig heißen: set - Syntax Problem  :D

einfach set magic? https://fhem.de/commandref_modular_DE.html#set
defmod n_WetterTemp notify Wetter:fc0_tempMax set CCU3 var [Wetter:fc0_tempMax]

Aber Joachim hat Recht, es steht ja alles im Event ;) https://wiki.fhem.de/wiki/Notify

Mit setMagic werde ich wohl nicht mehr "warm" werden ;) :-D

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

MadMax-FHEM

Zitat von: Ajuba am 03 November 2022, 09:50:17
Ich verwende nun die letztere weil kompakter.

Noch kompakter wäre die mit $EVENT ;)


Zitat von: Ajuba am 03 November 2022, 09:50:17
Da waren noch zwei weitere Böcke drin:
1. Ohne ".*" springt das Notify gar nicht an

Ein funktionierendes notify haben wir mal vorausgesetzt ;)
Einfach zu bekommen, wenn man den Eventmonitor zuhilfe nimmt, da kann man sich "sowas" (notify/DOIF/FileLog/...) anlegen lassen :)

https://wiki.fhem.de/wiki/Event_monitor
https://wiki.fhem.de/wiki/Event_monitor#Vorgehensweise_beim_Anlegen_eines_Ger.C3.A4tes


Zitat von: Ajuba am 03 November 2022, 09:50:17
Da waren noch zwei weitere Böcke drin:
2. Bei "Set CCU3 var Wetter_T_max" gehört natürlich der Variablenname auf CCU Seite rein

Den darfst du behalten ;)
Weil welchen Aufruf du machen willst, musst schon du wissen 8)

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)