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

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

Vorheriges Thema - Nächstes Thema

CoolTux

Zitat
Ab featurelevel 5.7 ersetzt das set und setreading Befehl
[device:reading] mit dem Wert des Readings für device, falls sowohl device, als auch Reading existiert, und nicht leer ist.
[device:reading:d] wie ohne :d, aber alles nicht-numerische wird entfernt, siehe ReadingsNum
{(perlExpression)} mit dem Ergebnis der perlExpression. $DEV wird dabei mit dem Namen des vom set betroffenen Gerätes ersetzt.

Laut Commandref
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

KölnSolar

das war aber der Ausgangspunkt
Zitat von: Master_Nick am 26 Februar 2017, 19:39:33
Geht denn auch:

if ([Streifen:state]) == 5)?
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

Jo und da geht es ja nicht ;-D nur war mir unklar warum.....  ich mische dort Perl mit FHEM  ohne vom Perl mich abzugrenzen...... if (fhem"[Streifen:state] == 5")  könnte ja z. B. gehen ^^

Aber wieviel Sinn das macht.... :-D

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, 20:32:29
Jo und da geht es ja nicht ;-D nur war mir unklar warum.....  ich mische dort Perl mit FHEM  ohne vom Perl mich abzugrenzen...... if (fhem"[Streifen:state] == 5")  könnte ja z. B. gehen ^^

Aber wieviel Sinn das macht.... :-D

Aha das mit dem if hatte ich übersehen.
Nein das geht auch nicht. Du kannst Bedingungsabfragen nicht mit FHEM Syntax mische n. Das was ich Dir gezeigt habe hatte nur Auswirkungen bei set oder setreading Anweisungen so wie es in der Commandref steht.
Bedingungen gehen nur mit Perl if, oder als FHEM Modul IF.
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

Master_Nick

 :o

Damit ich es endlich verstehe.... backe ich nun Zeile für Zeile:


Streifen {
fhem("setreading Streifen [Streifen:state]");
}


Will aber immer noch nicht  ;D
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.... ;-)

Icinger

Streifen {
fhem("setreading Streifen <READINGSNAME> [Streifen:state]");
}


Dir fehlt das reading, welches gesetzt werden soll.

Streifen ist das Device
[Streifen:state] Ist der Wert, der WOHIN?? gesetzt werden soll?
lg, Stefan
Verwende deine Zeit nicht mit Erklärungen. Die Menschen hören (lesen) nur, was sie hören (lesen) wollen. (c) Paulo Coelho

Master_Nick

#21
Ach hau mirn Schlappen an Däds  ;D :D

Danke!

Läuft!

Streifen {
fhem("setreading Streifen newstate [Streifen:state]");
}

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, 20:50:14
:o

Damit ich es endlich verstehe.... backe ich nun Zeile für Zeile:


Streifen {
fhem("setreading Streifen [Streifen:state]");
}


Will aber immer noch nicht  ;D

Richtig. Und du bekommst ganz sicher eine Aussagekräftige Fehlermeldung dazu.
setreading erwartet wie viele Parameter zur Übergabe? DREI. DEVICE READINGSNAME WERT

setreading dummyTermostateTemp dummyTemp [thermostate:temperature]
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

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

Master_Nick

#24
Ich muss zugeben die ist für mich nicht so Aussagekräftig, dass ich es gecheckt hätte.

Zitat2017.02.26 20:52:43 5: Cmd: >setreading Streifen [Streifen:state]<
2017.02.26 20:52:43 3: setreading Streifen [Streifen:state] : Usage: setreading <name> <reading> <value>
where <name> is a single device name, a list separated by komma (,) or a regexp. See the devspec section in the commandref.html for details.

2017.02.26 20:52:43 3: Stripe.Dimmer return value: Usage: setreading <name> <reading> <value>
where <name> is a single device name, a list separated by komma (,) or a regexp. See the devspec section in the commandref.html for details.

OK OK... ich schäme mich
ZitatUsage: setreading <name> <reading> <value>


Seltsam... hatte nie Probleme mit perl fhem und co... scheint nicht mein Tag zu sein.
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.... ;-)

Master_Nick

#25
Also jetzt habe ich wirklich gesucht....

Ich kann es nicht mal einchecken in FHEM.

Zitatsyntax error at (eval 6726) line 5, at EOF
Mit der eval 6726 kann ich null anfangen ist weder die Zeichennummer noch sonstiges. Zeile 5 ist genau das hier folgende und EOF = End of Feed?



if (Value("Streifen") == 0) { for (my $i=1;;$i!=15;;$i++) { fhem("set harmony_37861872 Dimm-") } }

Das Gesamte ist:

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!=15;;$i++) { 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.... ;-)

CoolTux


if (Value("Streifen") == 0) {
          for (my $i=1;$i<15;$i++) {
               fhem("set harmony_37861872 Dimm-")
          }
}


Probiere mal so.
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

Master_Nick

#27
 :o er mag die Zeile mit Variable nicht.
Zitatsyntax error at (eval 6759) line 6, at EOF

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<15;$i++) {
               fhem("set harmony_37861872 Dimm-")
          }
}
}


Ich vermute fast, man kann keine "for" Funktion in ein "if" schleifen einbauen. Auch, wenn das für mich keinen Sinn macht.
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

Sorry, mein Fehler


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<15;$i++) {
               fhem("set harmony_37861872 Dimm-");
          }
}
}
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

Master_Nick

Er meckert weiter über die zeile mit $i:

Zitatsyntax error at (eval 6881) line 12, at EOF

Ich verstehe es nicht, hatte es auch schon so ähnlich und mit ; aber die jucken nicht bisher.

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<15;$i++) {
               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.... ;-)