[Gelöst] MODEL Perl statt FHEM: Attribut für do, repeatsame und wait fehlen

Begonnen von Gisbert, 13 Mai 2018, 13:07:26

Vorheriges Thema - Nächstes Thema

Gisbert

Hallo,

ich hab ein DOIF mit 7 Verzweigungen.
Vorher hatte ich 6 Verzweigungen, heute hab ich die 7. Verzweigung ergänzt und die Bedingungen der anderen auch verändert.

Ich stelle jetzt aber fest, dass die Attribute "wait" und "repeatsame" nicht mehr gesetzt bzw. verändert werden können.
Als Fehler kommt folgender Spruch:
Treppenhaus.Markisensteuerung: unknown attribute repeatsame. Type 'attr Treppenhaus.Markisensteuerung ?' for a detailed list.

Ich hab die 7. Verzweigung gelöscht, das ändert aber nichts an den Fehlern bei den Attributen.
Im logfile taucht kein verdächtiger Eintrag auf, der mit diesem DOIF zu tun haben könnte.
Im set-Befehl taucht in der Pulldown-Liste nur "initialize", "enable" und "disable" auf, nicht aber "cmd_1..." und "checkall"
Die Änderungen des DOIFs habe im Webfrontend durchegführt mit "DEF" und dann mit "modify ..." gespeichert.

Nach einem rereadcfg erscheint folgende Fehlermeldung:
Account details were encrypted
Treppenhaus.Markisensteuerung: unknown attribute repeatsame. Type 'attr Treppenhaus.Markisensteuerung ?' for a detailed list.
Treppenhaus.Markisensteuerung: unknown attribute wait. Type 'attr Treppenhaus.Markisensteuerung ?' for a detailed list.


In der Attribut-Liste fehlen jetzt "wait" und "repeatsame", ebenfalls ist das Attribut "do" nicht in der Auswahlliste enthalten.

Viele Grüße Gisbert

Das list des DOIFs (vor rereadcfg):
Internals:
   CFGFN      ./FHEM/Markisensteuerung.cfg
   DEF        [?Treppenhaus.Markise.hoch.dum] eq "off" and ($md ge "04-15" and $md le "10-15")
and [?Treppenhaus.Markise:level] != 0 and [?Wetter.Proplanta:wind] <= 25 and [TH.Kuhlmannweg8:temperature] >= 22
(ReadingsAge("Wetter.Proplanta","weather","") <= 900 and ([?Wetter.Proplanta:weather] eq ("sonnig" or "heiter" or "wolkig"))
and [?Buienradar:rainDataNow] == 0 and [?13:00-22:00] and [?myTwilight:azimuth] >=185 and sunset_abs(-3420) gt $hms)
(set Treppenhaus.Markise off)
DOELSEIF ([?Treppenhaus.Markise.runter.dum] eq "on" and [?Treppenhaus.Markise:level] != 100
and ([Wetter.Proplanta:wind] > 25 or [Buienradar:rainDataNow] != 0 or [Wetter.Proplanta:weather] ne ("sonnig" or "heiter" or "wolkig")))
(set Treppenhaus.Markise on)
DOELSEIF ([?Treppenhaus.Markise.runter.dum] eq "off" and [?Treppenhaus.Markise:level] != 100
and ([Wetter.Proplanta:wind] > 25 or [TH.Kuhlmannweg8:temperature] < 22
or ReadingsAge("Wetter.Proplanta","weather","") > 900 or [Wetter.Proplanta:weather] ne ("sonnig" or "heiter" or "wolkig")
or [Buienradar:rainDataNow] != 0 or [myTwilight:azimuth] <185 or sunset_abs(-3420) le $hms))
(set Treppenhaus.Markise on)
DOELSEIF ([Treppenhaus.Markise.runter.dum] eq "on")
DOELSEIF ([Treppenhaus.Markise.hoch.dum] eq "on")
DOELSEIF ([Treppenhaus.Markise:level] == 0 and [+600]) (setreading Treppenhaus.Markise level 0)
DOELSEIF ([Treppenhaus.Markise:level] == 100)
   MODEL      Perl
   NAME       Treppenhaus.Markisensteuerung
   NR         353
   NTFY_ORDER 50-Treppenhaus.Markisensteuerung
   STATE      initialized
   TYPE       DOIF
   READINGS:
     2018-05-13 12:16:16   mode            enabled
     2018-05-13 12:16:16   state           initialized
   Regex:
   condition:
     0         
   devices:
   helper:
     DOIF_Readings_events
     DOIF_eventas
     globalinit 1
     last_timer 0
     sleeptimer -1
     bm:
       DOIF_Attr:
         cnt        2
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        13.05. 12:23:38
         max        8.41617584228516e-05
         tot        0.000164985656738281
         mAr:
           set
           Treppenhaus.Markisensteuerung
           devStateIcon
           (cmd_1|cmd_6):fts_sunblind@red (cmd_2|cmd_3|cmd_7):fts_sunblind_0@gray cmd_4:fts_shutter_down@red cmd_5:fts_shutter_up@red
       DOIF_Get:
         cnt        9
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        13.05. 12:21:14
         max        6.89029693603516e-05
         tot        0.000390768051147461
         mAr:
           HASH(0x3f899f0)
           Treppenhaus.Markisensteuerung
           ?
       DOIF_Notify:
         cnt        929
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        13.05. 12:34:05
         max        0.000427007675170898
         tot        0.130048513412476
         mAr:
           HASH(0x3f899f0)
           HASH(0x4113340)
       DOIF_Set:
         cnt        27
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        13.05. 12:21:14
         max        0.000188112258911133
         tot        0.00325703620910645
         mAr:
           HASH(0x3f899f0)
           Treppenhaus.Markisensteuerung
           ?
   itimer:
   perlblock:
     0         
   uiState:
   uiTable:
Attributes:
   devStateIcon (cmd_1|cmd_6):fts_sunblind@red (cmd_2|cmd_3|cmd_7):fts_sunblind_0@gray cmd_4:fts_shutter_down@red cmd_5:fts_shutter_up@red
   icon       fts_sunblind
   repeatsame 3:3:3:3:3:60
   room       CUL_HM,Mobile
   wait       60:60:60:1:1:1



Die raw-Definition des DOIFs (vor rereadcfg):
defmod Treppenhaus.Markisensteuerung DOIF [?Treppenhaus.Markise.hoch.dum] eq "off" and ($md ge "04-15" and $md le "10-15") \
and [?Treppenhaus.Markise:level] != 0 and [?Wetter.Proplanta:wind] <= 25 and [TH.Kuhlmannweg8:temperature] >= 22 \
(ReadingsAge("Wetter.Proplanta","weather","") <= 900 and ([?Wetter.Proplanta:weather] eq ("sonnig" or "heiter" or "wolkig")) \
and [?Buienradar:rainDataNow] == 0 and [?13:00-22:00] and [?myTwilight:azimuth] >=185 and sunset_abs(-3420) gt $hms) \
(set Treppenhaus.Markise off) \
DOELSEIF ([?Treppenhaus.Markise.runter.dum] eq "on" and [?Treppenhaus.Markise:level] != 100 \
and ([Wetter.Proplanta:wind] > 25 or [Buienradar:rainDataNow] != 0 or [Wetter.Proplanta:weather] ne ("sonnig" or "heiter" or "wolkig"))) \
(set Treppenhaus.Markise on) \
DOELSEIF ([?Treppenhaus.Markise.runter.dum] eq "off" and [?Treppenhaus.Markise:level] != 100 \
and ([Wetter.Proplanta:wind] > 25 or [TH.Kuhlmannweg8:temperature] < 22 \
or ReadingsAge("Wetter.Proplanta","weather","") > 900 or [Wetter.Proplanta:weather] ne ("sonnig" or "heiter" or "wolkig") \
or [Buienradar:rainDataNow] != 0 or [myTwilight:azimuth] <185 or sunset_abs(-3420) le $hms)) \
(set Treppenhaus.Markise on) \
DOELSEIF ([Treppenhaus.Markise.runter.dum] eq "on") \
DOELSEIF ([Treppenhaus.Markise.hoch.dum] eq "on") \
DOELSEIF ([Treppenhaus.Markise:level] == 0 and [+600]) (setreading Treppenhaus.Markise level 0) \
DOELSEIF ([Treppenhaus.Markise:level] == 100)
attr Treppenhaus.Markisensteuerung devStateIcon (cmd_1|cmd_6):fts_sunblind@red (cmd_2|cmd_3|cmd_7):fts_sunblind_0@gray cmd_4:fts_shutter_down@red cmd_5:fts_shutter_up@red
attr Treppenhaus.Markisensteuerung icon fts_sunblind
attr Treppenhaus.Markisensteuerung repeatsame 3:3:3:3:3:60
attr Treppenhaus.Markisensteuerung room CUL_HM,Mobile
attr Treppenhaus.Markisensteuerung wait 60:60:60:1:1:1

setstate Treppenhaus.Markisensteuerung initialized
setstate Treppenhaus.Markisensteuerung 2018-05-13 12:49:06 mode enabled
setstate Treppenhaus.Markisensteuerung 2018-05-13 12:49:06 state initialized

Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | tuya local | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY | DEYE | JK-BMS | ESPHome

marvin78

Ich habe keine Ahnung von DOIF aber ich nehme an, dass es an model -> Perl liegt.

Gisbert

Hallo marvin78,

andere DOIF's tun aktuell hren Dienst, da kann ich keine Fehler sehen.
Bei dem Mistwetter hier kann ich aber auch nicht so einfach das DOIF testen, da ich sonst Gefahr laufe, dass die Markise (ist übrigens eine Senkrechtmarkise) nicht nur sprichwörtlich sondern tatsächlich im Regen steht.

Ich hab noch einen Fehler in der 3. Zeile der Definition gefunden, da fehlte ein "and" zu Beginn.
Das ändert aber rein garnichts an diesem merkwürdigen Verhalten.

Viele Grüße Gisbert
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | tuya local | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY | DEYE | JK-BMS | ESPHome

Gisbert

Ich bin einigermaßen verwirrt.

Ich hab das DOIF gelöscht und ein neues mit dem identischen Namen über die Webeingabe erzeugt, allerdings nur mit einer Bedingung:
define Treppenhaus.Markisensteuerung DOIF [Treppenhaus.Markise.hoch.dum] eq "off" set Schalter.1 off
Hier gibt es auch kein Attribut "do", "repeatsame", "wait".

Unter Internals sehe ich, dass "MODEL Perl" steht.
Bei all den anderen DOIFs, die ich habe, steht aber dort "MODEL FHEM".
Was kann an dem obigen DOIF zu MODEL Perl führen?
Selbst bei dieser einfachen Definition kommt als MODEL Perl heraus.

Wie kann ich ein neues DOIF mit MODEL FHEM anlegen?

Noch als Hinweis:
Ich hab am Samstag, den 12. Mai, ein Fhem update durchgeführt; kann es daran liegen?

Viele Grüße Gisbert


Ein list:
Internals:
   CFGFN     
   DEF        [Treppenhaus.Markise.hoch.dum] eq "off" set Schalter.1 off
   MODEL      Perl
   NAME       Treppenhaus.Markisensteuerung
   NR         1297
   NTFY_ORDER 50-Treppenhaus.Markisensteuerung
   STATE      initialized
   TYPE       DOIF
   READINGS:
     2018-05-13 14:15:12   mode            enabled
     2018-05-13 14:15:12   state           initialized
   Regex:
   condition:
     0         
   devices:
   helper:
     DOIF_Readings_events
     DOIF_eventas
     globalinit 1
     last_timer 0
     sleeptimer -1
     bm:
       DOIF_Notify:
         cnt        631
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        13.05. 14:26:30
         max        0.000365972518920898
         tot        0.0671403408050537
         mAr:
           HASH(0x4e0b5a8)
           HASH(0x61c3e10)
       DOIF_Set:
         cnt        5
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        13.05. 14:15:12
         max        8.98838043212891e-05
         tot        0.000382661819458008
         mAr:
           HASH(0x4e0b5a8)
           Treppenhaus.Markisensteuerung
           ?
   itimer:
   perlblock:
     0          off
   uiState:
   uiTable:
Attributes:
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | tuya local | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY | DEYE | JK-BMS | ESPHome

Damian

Zitat von: Gisbert am 13 Mai 2018, 14:48:38
Ich bin einigermaßen verwirrt.

Ich hab das DOIF gelöscht und ein neues mit dem identischen Namen über die Webeingabe erzeugt, allerdings nur mit einer Bedingung:
define Treppenhaus.Markisensteuerung DOIF [Treppenhaus.Markise.hoch.dum] eq "off" set Schalter.1 off
Hier gibt es auch kein Attribut "do", "repeatsame", "wait".

Unter Internals sehe ich, dass "MODEL Perl" steht.
Bei all den anderen DOIFs, die ich habe, steht aber dort "MODEL FHEM".
Was kann an dem obigen DOIF zu MODEL Perl führen?
Selbst bei dieser einfachen Definition kommt als MODEL Perl heraus.

Wie kann ich ein neues DOIF mit MODEL FHEM anlegen?

Noch als Hinweis:
Ich hab am Samstag, den 12. Mai, ein Fhem update durchgeführt; kann es daran liegen?

Viele Grüße Gisbert


Ein list:
Internals:
   CFGFN     
   DEF        [Treppenhaus.Markise.hoch.dum] eq "off" set Schalter.1 off
   MODEL      Perl
   NAME       Treppenhaus.Markisensteuerung
   NR         1297
   NTFY_ORDER 50-Treppenhaus.Markisensteuerung
   STATE      initialized
   TYPE       DOIF
   READINGS:
     2018-05-13 14:15:12   mode            enabled
     2018-05-13 14:15:12   state           initialized
   Regex:
   condition:
     0         
   devices:
   helper:
     DOIF_Readings_events
     DOIF_eventas
     globalinit 1
     last_timer 0
     sleeptimer -1
     bm:
       DOIF_Notify:
         cnt        631
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        13.05. 14:26:30
         max        0.000365972518920898
         tot        0.0671403408050537
         mAr:
           HASH(0x4e0b5a8)
           HASH(0x61c3e10)
       DOIF_Set:
         cnt        5
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        13.05. 14:15:12
         max        8.98838043212891e-05
         tot        0.000382661819458008
         mAr:
           HASH(0x4e0b5a8)
           Treppenhaus.Markisensteuerung
           ?
   itimer:
   perlblock:
     0          off
   uiState:
   uiTable:
Attributes:

Wenn du die fasche Syntax verwendest...
Fhemmodus fängt mit einer runden Klammer auf an.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Gisbert

EDITIERT, DA FALSCH

Hallo Damian,

danke für den Hinweis.
In diesem, meinem Fall war das aber nicht ausreichend.

Durch Lesen und Ausprobieren habe ich jetzt eine praktikable Lösung für mich gefunden:
1) Ja, die runden Klammern helfen ;)
2) Der folgende Ausdruck muss in geschweifte Klammern: GILT AUCH FÜR DEN CODE, DEN MAN ANSCHEINEND NICHT ALS DURCHGESTRICHEN EDITIEREN KANN
{ReadingsAge("Wetter.Proplanta","weather","") <= 900}
3) Und das Verwirrende dabei ist, dass ich andere DOIFs im Einsatz haben, bei denen ich ReadingsAge ohne geschweifte Klammern abfrage, und in den Internals das MODEL FHEM ist.

Mir scheint, dass die Auswahl in den Internals MODEL FHEM oder PERL noch nicht eindeutig genug ist.
Wahrscheinlich habe ich hier einen Fall erwischt, der besonders speziel ist.


Trotzdem vielen Dank für dein Modul, welches ich sehr gerne einsetze.
Viele Grüße Gisbert

Fällt dir noch etwas bei meiner Definition auf, was so nicht sein soll, z.B. im Zusammenhang mit "and {ReadingsAge("Wetter.Proplanta","weather","") <= 900}"? GESCHWEIFTE KLAMMERN SIND FALSCH

defmod Treppenhaus.Markisensteuerung DOIF ([?Treppenhaus.Markise.hoch.dum] eq "off" and ($md ge "04-15" and $md le "10-15") \
and [?Treppenhaus.Markise:level] != 0 and [?Wetter.Proplanta:wind] <= 25 and [TH.Kuhlmannweg8:temperature] >= 22 \
and {ReadingsAge("Wetter.Proplanta","weather","") <= 900} and ([?Wetter.Proplanta:weather] eq ("sonnig" or "heiter" or "wolkig")) \
and [?Buienradar:rainDataNow] == 0 and [?13:00-22:00] and [?myTwilight:azimuth] >=185 and sunset_abs(-3420) gt $hms) \
(set Treppenhaus.Markise off) \
DOELSEIF ([?Treppenhaus.Markise.runter.dum] eq "on" and [?Treppenhaus.Markise:level] != 100 \
and ([Wetter.Proplanta:wind] > 25 or [Buienradar:rainDataNow] != 0 or [Wetter.Proplanta:weather] ne ("sonnig" or "heiter" or "wolkig"))) \
(set Treppenhaus.Markise on) \
DOELSEIF ([?Treppenhaus.Markise.runter.dum] eq "off" and [?Treppenhaus.Markise:level] != 100 \
and ([Wetter.Proplanta:wind] > 25 or [TH.Kuhlmannweg8:temperature] < 22 \
or {ReadingsAge("Wetter.Proplanta","weather","") <= 900} or [Wetter.Proplanta:weather] ne ("sonnig" or "heiter" or "wolkig") \
or [Buienradar:rainDataNow] != 0 or [myTwilight:azimuth] <185 or sunset_abs(-3420) le $hms)) \
(set Treppenhaus.Markise on) \
DOELSEIF ([Treppenhaus.Markise.runter.dum] eq "on") \
DOELSEIF ([Treppenhaus.Markise.hoch.dum] eq "on") \
DOELSEIF ([Treppenhaus.Markise:level] == 0 and [+600]) (setreading Treppenhaus.Markise level 0) \
DOELSEIF ([Treppenhaus.Markise:level] == 100)
attr Treppenhaus.Markisensteuerung devStateIcon (cmd_1|cmd_6):fts_sunblind@red (cmd_2|cmd_3|cmd_7):fts_sunblind_0@gray cmd_4:fts_shutter_down@red cmd_5:fts_shutter_up@red
attr Treppenhaus.Markisensteuerung icon fts_sunblind
attr Treppenhaus.Markisensteuerung repeatsame 3:3:3:3:3:60:3
attr Treppenhaus.Markisensteuerung room CUL_HM,Mobile,Rollladen
attr Treppenhaus.Markisensteuerung wait 60:60:60:1:1:1:1
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | tuya local | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY | DEYE | JK-BMS | ESPHome

Damian

Warum muss dieser Ausdruck in geschweifte Klammern?

{ReadingsAge("Wetter.Proplanta","weather","") <= 900}

Wenn du das in der Bedingung machst, dann wird die Bedingung nicht funktionieren.

Ich verstehe das Problem nicht. Die vorgebrachten Definitionen, die jetzt nicht funktionieren, haben auch vorher nicht funktioniert.

Ein FHEM-DOIF muss abgesehen von Kommentaren mit:

DOIF (... beginnen, genau dass, was immer schon galt. Es hat sich also nichts geändert. Auch die Angabe:
ReadingsAge("Wetter.Proplanta","weather","") <= 900
funktioniert wie bisher. Das hat doch nichts mit der ersten Klammer auf zu tun.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Gisbert

Hallo Damian,

vielen Dank für die Richtigstellung.
Jetzt funktioniert die Abfrage des ReadingAges ohne geschweifte Klammern und es bleibt bei den Internals bei MODEL bei FHEM.
Während meines Rumprobierens bin ich wohl vom Pfad der Tugend abgekommen (... denn sie wissen nicht, was sie tun ...) und hab mich in wilden Spekulationen verheddert.

Ich editiere meinen letzten Beitrag, damit keine bleibenden Schäden bei anderen zurückbleiben.

Nochmals vielen Dank
Gisbert
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | tuya local | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY | DEYE | JK-BMS | ESPHome

turo

Moin, moin,

mir war noch aufgefallen, dass in dem Codestück noch ein paar subtile Fehler lauern:
[Wetter.Proplanta:weather] ne ("sonnig" or "heiter" or "wolkig")
vergleicht nur mit "sonnig", was sicher nicht so beabsichtigt ist.

Das muss wohl besser so:
[Wetter.Proplanta:weather] ne "sonnig" and [Wetter.Proplanta:weather] ne "heiter" and [Wetter.Proplanta:weather] ne "wolkig"
oder so:
[Wetter.Proplanta:weather] !~ /^(sonnig|heiter|wolkig)$/
heißen (je nach Temperament...).

Mich wundert auch noch, dass da mal ein "?" am Anfang steht und mal nicht - aber ich bin nicht so fit in der DOIF Syntax...

Gruss,
Turo
3xRaspberry PI, Homematic, SELVE Rollos, 1-wire, Logitech Harmony, Alexa, Fussbodenheizung (ESP8266), Netatmo

nils_

viele Wege in FHEM es gibt!

Gisbert

Hallo Turo,

vielen Dank für deinen Hinweis; du liegst richtig mit deiner Vermutung.

Kannst du dir dieses Codeschnipsel nochmals anschauen? Ist es richtig, dass nur am Ende Anführungszeichen stehen?
[Wetter.Proplanta:weather] !~ /^(sonnig|heiter|wolkig)$/"

Viele​ Grüße​ Gisbert​
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | tuya local | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY | DEYE | JK-BMS | ESPHome

turo

Sorry - da gehört gar kein Anführungszeichen hin - war ein Rest vom Editieren. (Ich korrigiere meinen Post noch.)

Turo
3xRaspberry PI, Homematic, SELVE Rollos, 1-wire, Logitech Harmony, Alexa, Fussbodenheizung (ESP8266), Netatmo

Gisbert

Hallo Turo,

besten Dank.
Nur zur Sicherheit, wenn ich Gleichheit abfragen will ( also eq statt ne ), muss es dann so heißen?
[Wetter.Proplanta:weather] =~ /^(sonnig|heiter|wolkig)$/

Noch eine Zusatzfrage.
Wenn in der Bedingung ein Leerzeichen und ein Umlaut enthalten ist, wie folgt, geht das dann auch?
[Wetter.Proplanta:weather] =~ /^(sonnig|heiter|wolkig|stark bewölkt)$/

Viele​ Grüße​ Gisbert​

Edit: für Gleichheit muss anscheinend ein Gleichheitszeichen (=) statt des Ausrufezeichens (!) hin.
Hab's probiert, müsste so stimmen.
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | tuya local | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY | DEYE | JK-BMS | ESPHome

turo

Hallo Gisbert,

fast richtig ;-)Jetzt stimmt es.

Es ist "=~" statt "~" für die Negation von "!~".

Das Leerzeichen ist kein Problem. Der Umlaut kann eines werden, da er unterschiedlich kodiert sein kann.

Ich bin da lieber defensiv und nehme den Punkt "." - der passt auf alles - auch auf ein Leerzeichen:
[Wetter.Proplanta:weather] =~ /^(sonnig|heiter|wolkig|stark.bew.lkt)$/

Gruss,
Turo
3xRaspberry PI, Homematic, SELVE Rollos, 1-wire, Logitech Harmony, Alexa, Fussbodenheizung (ESP8266), Netatmo

Gisbert

Hallo Turo,

das Leerzeichen ist anscheinend doch ein Problem, denn das funktionierte mit Leerzeichen heute nachgewiesener nicht:
[Wetter.Proplanta:weather] =~ /^(sonnig|heiter|wolkig|stark bew.lkt)$/
Ich werde deinen Vorschlag testen, muss demnach nur auf stark bewölktes Wetter warten.

Viele​ Grüße​ Gisbert​
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | tuya local | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY | DEYE | JK-BMS | ESPHome