[Gelöst] Ich und die Syntax.....

Begonnen von Master_Nick, 26 Februar 2017, 12:13:25

Vorheriges Thema - Nächstes Thema

Master_Nick

Ich bekomme es einfach nicht hin, dass dieses hier läuft:

Streifen {
if (Value("Streifen") = "on") { fhem("set Stripe.Strom on") }
if (Value("Streifen") = "off") { fhem("set Stripe.Strom off") }
if (Value("Streifen") = "0") {for (my $i=1;;$i!=32;;$i++) { fhem("set harmony_37861872 Dimm-") }}
if (Value("Streifen") = "5") { fhem("set harmony_37861872 Dimm-") }
}


Logmeldung:
Zitat2017.02.26 12:02:44 1: PERL WARNING: Found = in conditional, should be == at (eval 1156) line 5.
2017.02.26 12:02:44 3: eval: my $NAME='Streifen';my $EVENT='0';my $SELF='Stripe.Dimmer';my $TYPE='dummy';my $EVTPART0='0';{
if (Value("Streifen") = "on") { fhem("set Stripe.Strom on") }
if (Value("Streifen") = "off") { fhem("set Stripe.Strom off") }
if (Value("Streifen") = "0") {for (my $i=1;;$i!=32;;$i++) { fhem("set harmony_37861872 Dimm-") }}
if (Value("Streifen") = "5") { fhem("set harmony_37861872 Dimm-") }
}

Ich hatte es ursprünglich versucht mit:
if ([Streifen:state] = "on") { blah blah }

Ebenso soll der Status von Streifen immer in ein eigenes Reading für spätere Verarbeitung gespeichert werden - ging auch nicht:
fhem "setreading Streifen newstate Value("Streifen")"

oder

fhem "setreading Streifen newstate [Streifen:state]"

Irgendwas will einfach nicht in meinen Kopf...
Rancher K8s Cluster mit nanoCUL (a-culfw) | IObroker | IT(V1&V3), IT-PIR, THGR122NX |Co² | alexa-fhem | WOL | NFC | Harmony UltimateHub | Anwesenheitserkennnung | Roomba | 10" Touch mit Node-Red | SonOff S20 | SonOff Touch | SonOff Dual | Rolladen | Und ganz viel anderes tolles Gerödel.... ;-)

KölnSolar

z.B., dass Du auch Perl-Syntax nehmen solltest  ::)
ZitatPERL WARNING: Found = in conditional, should be ==
???
siehe hier https://wiki.selfhtml.org/wiki/Perl/Operatoren#Vergleichsoperatoren
Kölle Alaaf  :-*
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

Master_Nick

Oh da bin ich wohl in bash abgerutscht!  8)

Danke dir  ;)
Rancher K8s Cluster mit nanoCUL (a-culfw) | IObroker | IT(V1&V3), IT-PIR, THGR122NX |Co² | alexa-fhem | WOL | NFC | Harmony UltimateHub | Anwesenheitserkennnung | Roomba | 10" Touch mit Node-Red | SonOff S20 | SonOff Touch | SonOff Dual | Rolladen | Und ganz viel anderes tolles Gerödel.... ;-)

franky08

#3
Oder noch besser, statt = den Vergleich mit eq machen!( wenn es KEIN numerischer Vergleich ist)  ;)

VG
Frank
Debian Bookworm auf HUNSN / Debian Bullseye auf 2.ter HUNSN F2F an 2x RaspiB
mit FHEM aktuell
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu, raspmatic_rpi3, HMIP-HCU1

Master_Nick

Danke euch beiden - habe nun immer noch nicht den Durchblick:

Zitat2017.02.26 18:44:46 1: ERROR evaluating my $NAME='Streifen';my $SELF='Stripe.Dimmer';my $EVENT='40';my $TYPE='dummy';my $EVTPART0='40';{
fhem "setreading Streifen newstate [Streifen:state]"
if (Value("Streifen") eq "on") { fhem("set Stripe.Strom on") }
if (Value("Streifen") eq "off") { fhem("set Stripe.Strom off") }
if (Value("Streifen") == "0") {for (my $i=1;;$i!=32;;$i++) { fhem("set harmony_37861872 Dimm-") }}
if (Value("Streifen") == "5") { fhem("set harmony_37861872 Dimm-") }
}
: syntax error at (eval 3933) line 3, near ") {"
syntax error at (eval 3933) line 5, at EOF
syntax error at (eval 3933) line 7, near "}
}"



Streifen {
fhem "setreading Streifen newstate [Streifen:state]"
if (Value("Streifen") eq "on") { fhem("set Stripe.Strom on") }
if (Value("Streifen") eq "off") { fhem("set Stripe.Strom off") }
if (Value("Streifen") == "0") {for (my $i=1;;$i!=32;;$i++) { fhem("set harmony_37861872 Dimm-") }}
if (Value("Streifen") == "5") { fhem("set harmony_37861872 Dimm-") }
}
Rancher K8s Cluster mit nanoCUL (a-culfw) | IObroker | IT(V1&V3), IT-PIR, THGR122NX |Co² | alexa-fhem | WOL | NFC | Harmony UltimateHub | Anwesenheitserkennnung | Roomba | 10" Touch mit Node-Red | SonOff S20 | SonOff Touch | SonOff Dual | Rolladen | Und ganz viel anderes tolles Gerödel.... ;-)

KölnSolar

beim ersten fhem-Aufruf fehlen ()

und das
Zitat...Eine Anweisung besteht in Perl aus einem Befehl, der normalerweise mit einem Semikolon ; abgeschlossen wird. ...
scheint Dich so gar nicht zu interessieren. :o

RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

Master_Nick

Ach verdammt......  ;D

Ne ich tingel zu sehr zwischen den Sprachen umher.....

Völlig verpennt, dass erste ist ja erstmal soweit ein abgeschlossenes Ding.
Rancher K8s Cluster mit nanoCUL (a-culfw) | IObroker | IT(V1&V3), IT-PIR, THGR122NX |Co² | alexa-fhem | WOL | NFC | Harmony UltimateHub | Anwesenheitserkennnung | Roomba | 10" Touch mit Node-Red | SonOff S20 | SonOff Touch | SonOff Dual | Rolladen | Und ganz viel anderes tolles Gerödel.... ;-)

CoolTux

Zitat von: KölnSolar am 26 Februar 2017, 19:21:17
beim ersten fhem-Aufruf fehlen ()

und das scheint Dich so gar nicht zu interessieren. :o

Bei Punkt 2 gehe ich mit Dir. Punkt eins geht auch ohne  () . Mache ich schon ewig so. Wäre aber nicht meine Empfehlung, da es nicht ganz sauber wäre. Aber es geht.
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

franky08

Debian Bookworm auf HUNSN / Debian Bullseye auf 2.ter HUNSN F2F an 2x RaspiB
mit FHEM aktuell
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu, raspmatic_rpi3, HMIP-HCU1

Master_Nick

Geht denn auch:

if ([Streifen:state]) == 5)?
Rancher K8s Cluster mit nanoCUL (a-culfw) | IObroker | IT(V1&V3), IT-PIR, THGR122NX |Co² | alexa-fhem | WOL | NFC | Harmony UltimateHub | Anwesenheitserkennnung | Roomba | 10" Touch mit Node-Red | SonOff S20 | SonOff Touch | SonOff Dual | Rolladen | Und ganz viel anderes tolles Gerödel.... ;-)

franky08

Das sieht nach einem DOIF Konstrukt aus... (da müsste es, glaub ich, IF sein, nicht if) Sorry da bin ich raus
Debian Bookworm auf HUNSN / Debian Bullseye auf 2.ter HUNSN F2F an 2x RaspiB
mit FHEM aktuell
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu, raspmatic_rpi3, HMIP-HCU1

Master_Nick

Nee normales if eigentlich... oder geht "[Streifen:state]" das nur ik DOIF?
Rancher K8s Cluster mit nanoCUL (a-culfw) | IObroker | IT(V1&V3), IT-PIR, THGR122NX |Co² | alexa-fhem | WOL | NFC | Harmony UltimateHub | Anwesenheitserkennnung | Roomba | 10" Touch mit Node-Red | SonOff S20 | SonOff Touch | SonOff Dual | Rolladen | Und ganz viel anderes tolles Gerödel.... ;-)

KölnSolar

RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

Master_Nick

Dann bringt es endlich Licht in mein Chaos ;-) Ich danke euch!
Rancher K8s Cluster mit nanoCUL (a-culfw) | IObroker | IT(V1&V3), IT-PIR, THGR122NX |Co² | alexa-fhem | WOL | NFC | Harmony UltimateHub | Anwesenheitserkennnung | Roomba | 10" Touch mit Node-Red | SonOff S20 | SonOff Touch | SonOff Dual | Rolladen | Und ganz viel anderes tolles Gerödel.... ;-)

CoolTux

Zitat von: Master_Nick am 26 Februar 2017, 19:51:12
Nee normales if eigentlich... oder geht "[Streifen:state]" das nur ik DOIF?

Nein das geht so auch da es seit ein paar Monaten zur FHEM Syntax gehört. Also bitte nur innerhalb einer FHEM Anweisung aufrufen. So wie du es ja auch gemacht hast.
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