[gelöst]Hilfe bei Notify mit If-Abfrage

Begonnen von Chris8888, 30 Juli 2018, 12:18:30

Vorheriges Thema - Nächstes Thema

Chris8888

Hallo zusammen,

ich möchte gerne einen Dummy mit dem jeweiligen größeren Wert von 2 Helligkeitssensoren füllen.
Dummy= Helligkeit_Overall, Reading=brightness
1.Sensor=Wetterstation, Reading=luminosity2
2.Sensor=HM_Lichtsensor, Reading=1.CURRENT_ILLUMINATION

Def des Notify:
(Wetterstation:luminosity2.*) {if ($EVTPART1 > HM_Lichtsensor:1.CURRENT_ILLUMINATION) fhem("setreading Helligkeit_Overall brightness $EVTPART1") else (fhem("setreading Helligkeit_Overall brightness HM_Lichtsensor:1.CURRENT_ILLUMINATION"))}

Leider meckert er immer den Syntax an. "syntax error at (eval 328516) line 1, near "HM_Lichtsensor:""

Ich stehe auf dem Schlauch, kann mir jemand aus der Patsche helfen?

Danke!

VG
Christian
FHEM 6.0 auf einem PI4 mit div. Homematic-Komponenten, Alexa, Tablet-UI und Homebridge...und läuft einfach. Erweitert mit CCU3 und Homematic-IP...und läuft immer noch.

Beta-User

Du solltest auf die Readings ggf. mit ReadingsVal oder ReadingsNum zugreifen ;) .

ReadingsNum("HM_Lichtsensor","1.CURRENT_ILLUMINATION","0")

Kann man auch in der Eingabezeile mit geschweiften Klammern durmrum testen, ob da kommt, was soll...
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

Otto123

Und setreading kann zwar set magic aber da müssen dann Klammern drum
setreading Helligkeit_Overall brightness [HM_Lichtsensor:1.CURRENT_ILLUMINATION]

Für den User sicher zunächst sehr verwirrend: im Perl geht nur ReadingsVal & co im FHEM geht "set magic" mit []

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

Chris8888

Hallo,

danke für eure Rückmeldung!

So sieht es jetzt aus:
(Wetterstation:luminosity2.*) {if ($EVTPART1 > ReadingsNum("HM_Lichtsensor","1.CURRENT_ILLUMINATION","0")) fhem("setreading Helligkeit_Overall brightness $EVTPART1") else fhem("setreading Helligkeit_Overall brightness [HM_Lichtsensor:1.CURRENT_ILLUMINATION]")}

Leider wird es immer angemeckert:
syntax error at (eval 424773) line 1, near ") fhem"

Pearl etc macht mich wahnsinnig!  :'( :'( :'(

Help please!

Viele Grüße
Christian

FHEM 6.0 auf einem PI4 mit div. Homematic-Komponenten, Alexa, Tablet-UI und Homebridge...und läuft einfach. Erweitert mit CCU3 und Homematic-IP...und läuft immer noch.

CoolTux

Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Otto123

#5
Hi,

jeder einfache Editor kann "Klammern zählen" auch der DEF Editor von FHEM.

Jede Öffnende braucht auch eine Schließende und der Per Syntax für if ist:
if (Bedingung) {Befehl}
Deswegen fehlt ihm eine Klammer vor fhem :)

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

Chris8888

gelesen und gelernt...


(Wetterstation:luminosity2.*) {if ($EVTPART1 > ReadingsNum("HM_Lichtsensor","1.CURRENT_ILLUMINATION","0")) {fhem("setreading Helligkeit_Overall brightness $EVTPART1")} else {fhem("setreading Helligkeit_Overall brightness [HM_Lichtsensor:1.CURRENT_ILLUMINATION]")}}


für einen Nicht-Programmierer ist das schon harter Tobak.

Danke für euren großen Schubs!

VG
Christian
FHEM 6.0 auf einem PI4 mit div. Homematic-Komponenten, Alexa, Tablet-UI und Homebridge...und läuft einfach. Erweitert mit CCU3 und Homematic-IP...und läuft immer noch.