[Gelöst] Ein Notify für einen Dimmer for Schleife will nicht mit if.....

Begonnen von Master_Nick, 02 März 2017, 17:26:52

Vorheriges Thema - Nächstes Thema

Master_Nick

Hallo,

ich habe mittlerweile ein Workaround geschaffen.... aber eigentlich wäre es schöner, dass Ganze in einem Notify unter zu bringen.

Es haben mittlerweile viele Leute versucht dieses zum Laufen zu bekommen. Eventuell ist hier im "Fachbereich" ja noch jemand mit neuen Ideen :-)

Nimmt man die Zeile mit der FOR Schleife heraus oder kommentiert sie aus - geht es. Genauso kann sie ganz alleine da sein und es funktioniert. Nur in Kombination nicht.

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") eq "0") { for (my $i=1;$i!=15;$i++) { fhem("set harmony_37861872 Dimm-") } }
}



Bisher liefert es immer Fehler:

Zitat2017.02.27 22:21:10 1: ERROR evaluating my $EVTPART2='3';my $EVTPART19='0';my $EVTPART16='7';my $EVTPART25='6';my $EVTPART21='2';my $EVTPART0='1';my $EVTPART5='6';my $EVTPART22='3';my $EVTPART4='5';my $EVTPART18='9';my $SELF='Stripe.Dimmer';my $TYPE='Stripe.Dimmer';my $EVTPART10='1';my $EVTPART24='5';my $EVTPART12='3';my $EVTPART29='0';my $EVTPART3='4';my $EVTPART8='9';my $EVTPART6='7';my $EVTPART26='7';my $EVTPART13='4';my $EVTPART27='8';my $EVTPART23='4';my $EVTPART11='2';my $EVTPART15='6';my $EVTPART20='1';my $EVTPART9='0';my $NAME='Stripe.Dimmer';my $EVTPART7='8';my $EVTPART17='8';my $EVTPART1='2';my $EVTPART14='5';my $EVTPART28='9';my $EVENT='1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0';{return undef;; {
   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") eq "0") { for (my $i=0 ;; $i < 1 ;; $i++) { fhem("set harmony_37861872 Dimm-");; } }
}}: syntax error at (eval 381) line 5, at EOF
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.... ;-)

Thorsten Pferdekaemper

Hi,
kannst Du mal das Coding zeigen in einer Version, die funktioniert und einer Version, die nicht funktioniert? Das ganze aber aus derselben Quelle, also nicht das eine aus der Fehlermeldung und das andere sonstwoher.
Am besten beides mit einem list von dem Device, in dem das drinsteht.
Gruß,
   Thorsten
FUIP

Master_Nick

Ich hoffe ich habe dich richtig verstanden, hier einmal alles was ich aktuell habe und auch läuft.

Es geht um folgendes Device (ein Dummy):
Internals:
   NAME       Streifen
   NR         206
   STATE      off
   TYPE       dummy
   Readings:
     2017-03-01 02:27:01   oldstate        off
     2017-03-01 02:26:59   state           off
Attributes:
   alexaName  Streifen
   alexaRoom  Wohnzimmer
   genericDeviceType light
   group      Licht
   homebridgeMapping Brightness=state,cmd=
   icon       light_led_stripe_rgb
   room       Echo,Wohnzimmer
   setList    state:slider,0,1,100 on off
   webCmd     state



Geschaltet werden sollen folgende Devices (ein und das Selbe Gerät - ein LED-Stripe der über Infrarot gesteuert werden kann un über einen IT Schalter Strom An/Aus geschaltet bekommt) über ein Notify:

Infrarot-Steuerung:
Internals:
   CHANGED
   ConnectionState Initialized
   DEF        DEVICE 37861872
   NAME       harmony_37861872
   NOTIFYDEV  global
   NR         89
   NTFY_ORDER 50-harmony_37861872
   STATE      manual
   TYPE       harmony
   hub        Ultimate_Hub
   id         37861872
   Readings:
     2017-03-02 19:00:35   power           manual
   Helper:
Attributes:
   alias      LED 24-Stripe
   devStateIcon on:10px-kreis-gruen off:10px-kreis-rot
   event-on-change-reading .*
   room       Wohnzimmer
   stateFormat power


Strom-Steuerung:
Internals:
   DEF        0000F0000F FF F0
   IODev      nanoCUL
   LASTInputDev nanoCUL
   MSGCNT     3
   NAME       Stripe.Strom
   NR         105
   STATE      off
   TYPE       IT
   XMIT       0000f0000f
   XMITdimdown 00
   XMITdimup  00
   XMIToff    f0
   XMITon     ff
   nanoCUL_MSGCNT 3
   nanoCUL_RAWMSG i004014
   nanoCUL_RSSI -63.5
   nanoCUL_TIME 2017-03-02 10:13:02
   Code:
     1          0000f0000f
   Readings:
     2017-02-10 17:58:18   protocol        V1
     2017-03-02 10:13:02   state           off
Attributes:
   IODev      nanoCUL
   group      Licht
   icon       light_led_stripe_rgb
   room       Technikraum


Das Notify so wie oben geposted funktionert gar nicht, es wird die Fehlermeldung die auch oben bei steht.

Funktionieren tut es auf 2 Notifys aufgeteilt:

Einmal mit der For-Schleife:
Internals:
   DEF        Streifen.[0-9]+ {
if (Value("Streifen") eq "0") { for (my $i=1 ; $i < 4 ; $i++) { fhem("set harmony_37861872 Dimm-"); } }
}

   NAME       Streifen.Dimmer
   NR         209
   NTFY_ORDER 50-Streifen.Dimmer
   REGEXP     Streifen.[0-9]+
   STATE      active
   TYPE       notify
   Readings:
     2017-02-28 22:25:35   state           active
Attributes:
   room       Technikraum


Einmal die If-Bedingungen:
Internals:
   DEF        Streifen {
if (Value("Streifen") eq "on") { fhem("set Stripe.Strom on"); }
if (Value("Streifen") eq "off") { fhem("set Stripe.Strom off"); }
fhem("setreading Streifen oldstate [Streifen:state]");
}
   NAME       Streifen.Schalter
   NOTIFYDEV  Streifen
   NR         210
   NTFY_ORDER 50-Streifen.Schalter
   REGEXP     Streifen
   STATE      2017-03-01 02:26:59
   TYPE       notify
   Readings:
     2017-02-28 22:25:35   state           active
Attributes:
   room       Technikraum

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.... ;-)

Thorsten Pferdekaemper

FUIP

Master_Nick

Ich sah soeben auch mein Thread-Eingangspost... war ohne die For-Schleife sorry... das konnte man nicht verstehen.

Das List vom nicht funktionierenden notify fehlte, weil man das schon nicht speichern kann. Ich und einige andere konnten den Fehler nicht finden (https://forum.fhem.de/index.php/topic,67955.0.html).
Er wirft in FHEM WEB beim Versuch zu Speichern folgende Meldung: "syntax error at (eval 24472) line 5, at EOF ".

Es sähe aber so aus - die DEF ist hier nun MANUELL angepasst:

Internals:
   CFGFN
   DEF        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") eq '0') { for (my $i=0 ; $i < 1 ; $i++) { fhem("set harmony_37861872 Dimm-"); } }
}
   NAME       Dimmer
   NOTIFYDEV  Streifen
   NR         3390
   NTFY_ORDER 50-Dimmer
   REGEXP     Streifen
   STATE      active
   TYPE       notify
   Readings:
     2017-03-02 22:22:36   state           active
Attributes:


Aus diesem, was nicht speicherbar ist habe ich dann die 2 anderen gemacht... entfernt man die For Schleife geht alles oder man entfernt alles außer der For Schleife, dann geht auch alles. Nur zusammen geht es nicht.
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.... ;-)

Thorsten Pferdekaemper

FUIP

Master_Nick

Sorry ein Fehler beim Übertragen aus dem anderen Thread.  :o ::)  :-\
Die hatten wir schon raus. Fehler besteht weiter.

So hier endlich... war ein wenig Chaos eben..

Das ist die LETZTE Version und dennoch nicht lauffähig..oder zu speichern. For-Schleife allein kein Ding - Rest ohne For-Schleife auch kein Ding... nur zusammen... nöö
Internals:
   CFGFN
   DEF        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") eq '0') { for (my $i=0 ; $i < 1 ; $i++) { fhem("set harmony_37861872 Dimm-"); } }
}
   NAME       Dimmer
   NOTIFYDEV  Streifen
   NR         3390
   NTFY_ORDER 50-Dimmer
   REGEXP     Streifen
   STATE      active
   TYPE       notify
   Readings:
     2017-03-02 22:22:36   state           active
Attributes:
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.... ;-)

Thorsten Pferdekaemper

Hi,
ich habe das gerade mit copy&paste in meine FHEM-Testinstanz reingebastelt. Meckert nicht, gar kein Problem. perlSyntaxCheck in global ist aktiv. Wenn ich irgendwo was weglasse, dann meckert das System.
Hast Du mal ein update gemacht?
Gruß,
   Thorsten
FUIP

Master_Nick

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

Verrückt!  :o

Habe perlSyntaxCheck in global mal auf 1 gesetzt (es war gar nicht gesetzt). Nun geht es!!  8) ;D

Was genau war dann nun damit der Grund?
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.... ;-)

Thorsten Pferdekaemper

Zitat von: Master_Nick am 02 März 2017, 22:58:48
Ja von 5.7 auf die 5.8.
Ich meinte heute oder gestern. Das Release hat nicht sooo viel zu sagen.
FUIP

Master_Nick

Ok hab es soeben gemacht und dann noch die perlSyntaxCheck eingeschaltet.

Ja super ;-) Ich danke dir für die Hilfe!
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.... ;-)

rudolfkoenig

Was genau heist "Ja von 5.7 auf die 5.8."?

Diesen Bug habe ich nach dem Release gefixt, kommt per update. perlSyntaxCheck zu setzen braucht man nicht, da es per Voreinstellung aktiv ist. Es sei denn, man hat featureLevel auf 5.7 gesetzt. Wenn man beide nicht explizit setzt, dann sollte es so wie bei Thorsten funktionieren.

Thorsten Pferdekaemper

Zitat von: rudolfkoenig am 03 März 2017, 06:53:03
Was genau heist "Ja von 5.7 auf die 5.8."?
Ich glaube, dass das mit den Releases bei vieln zu Missverständnissen führt. So nach dem Schema: Ah, da ist ein neues Release, jetzt aber schnell ein Update machen. ...während man bei anderen Sachen nach einem neuen Release eher nochmal abwartet.
Gruß,
   Thorsten
FUIP

Master_Nick

@rudolfkoenig  Ich meinte damit, dass als die 5.8 angekündigt war für den nächsten Tag ich genau an dem Morgen, als sie verfügbar war das Update gemacht hatte.

Ich wusste bisher gar nicht, dass auch ohne Versionsnummernwechsel Änderungen verfügbar werden *g*. Kenne das nur mit Buildnummern die sichtbar sind 5.7.XXXX oder Build XXX.
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.... ;-)

Thorsten Pferdekaemper

Zitat von: Master_Nick am 03 März 2017, 09:43:10
@rudolfkoenig  Ich meinte damit, dass als die 5.8 angekündigt war für den nächsten Tag ich genau an dem Morgen, als sie verfügbar war das Update gemacht hatte.
Ich wusste bisher gar nicht, dass auch ohne Versionsnummernwechsel Änderungen verfügbar werden *g*. Kenne das nur mit Buildnummern die sichtbar sind 5.7.XXXX oder Build XXX.
q.e.d.
FUIP

rudolfkoenig

#16
ZitatIch wusste bisher gar nicht, dass auch ohne Versionsnummernwechsel Änderungen verfügbar werden
Ich bitte dich (bzw. alle) vor der Meldung eines Problems den update FHEM-Befehl auszufuehren (inkl FHEM-Neustart), und danach nochmal pruefen, ob das Problem besteht.

Auf fhem.de steht, direkt unter dem Download-Link:
Zitat
Note: the FHEM development is a continuous one, and a release is only a starting point for the update process.
Use the update command to get the most recent version, especially if you want to report issues in the forum.

Master_Nick

 ;) Ich behaupte nicht, dass ich es nicht hätte lesen können oder es nicht da steht. Bei mir ist der Download von FHEM ca. 3 Jahre her, :-D da erinnere ich mich daran nicht und bin eher selten in der Download-Section.

Aber es ist ein sehr guter Gedanke vor Problemmeldungen erst ein Update zu machen :-) Ich werde das ab jetzt beherzigen.

Und Danke nochmal für die Unterstüzung :-) läuft nun prima!
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.... ;-)