[gelöst] nach Fhem update, Auswahl im pulldown, SyntaxError line 2

Begonnen von jkriegl, 20 November 2018, 20:30:38

Vorheriges Thema - Nächstes Thema

jkriegl

Bekomme seit heutigem update (20.11.) beim Anklicken eines weiteren Eintrags im pulldown eines ECMDDevice den Fehler
Zitatjquery.min.js line 2:
Error: Syntax error, unrecognized expression: a[name=M.mode]
hier M.mode ausgewählt.
Das reading wird korrekt eingesetzt, ein get oder set wird korrekt ausgeführt, nur die Fehlermeldung ist etwas lästig.
Fehler tritt bei anderen Devices nicht auf.
Edit: Könnte der Punkt im Reading der Verursacher sein? Funktionierte seit Jahren nach einem Muster aus dem Wiki.
Edit2: verschoben + J-Konsole

Rpi 3, Fhem, Cul 868, HM-CC-RT-DN, HM-Sec-Sco, HM-ES-PMSw1-Pl, ebus (Vaillant), ECMD, Telegram, HTTPMOD, Xiaomi, Shelly

rudolfkoenig

Kannst du bitte ein "list -r" (bzw. Raw definition) vom ECMDDevice hier anhaengen?

jkriegl

list -r HK.Hz
define HK.Hz ECMDDevice HK.Hz.class
attr HK.Hz IODev EBUS
attr HK.Hz event-min-interval H.Wer:3600
attr HK.Hz event-on-change-reading H.Wer,H.*,T.*
attr HK.Hz group heating
attr HK.Hz room 5.1 Heizen
attr HK.Hz stateFormat H.mode H.Wer

setstate HK.Hz auto 17.0 Therme <
setstate HK.Hz 2018-11-22 11:59:38 A.Temp 2.8
setstate HK.Hz 2018-11-22 11:59:41 A.WDruck 2.0
setstate HK.Hz 2018-09-27 11:50:24 H.Kurve 0.9
setstate HK.Hz 2018-11-14 19:58:31 H.Party no
setstate HK.Hz 2018-11-22 09:51:02 H.SZaehl 361602 4:04:27
setstate HK.Hz 2018-11-22 09:51:02 H.Solar off
setstate HK.Hz 2018-11-14 19:58:24 H.Sparen -:-
setstate HK.Hz 2018-11-22 11:57:02 H.Wer 17.0 Therme <
setstate HK.Hz 2018-11-22 11:59:38 H.mode auto
setstate HK.Hz 2018-11-22 11:59:39 H.mode_a auto;;auto;;auto;;auto;;auto
setstate HK.Hz 2018-11-22 11:59:41 K.Temp 19
setstate HK.Hz 2018-11-22 11:59:40 T.Absenken 17.0
setstate HK.Hz 2018-11-22 11:59:39 T.Heizen 21.0
setstate HK.Hz 2018-11-22 11:59:40 T1.Mo 07:40;;10:00;;12:30;;12:30;;16:30;;21:30;;selected
setstate HK.Hz 2018-11-22 11:59:40 T2.Di 07:40;;09:50;;13:30;;13:30;;16:30;;21:30;;selected
setstate HK.Hz 2018-11-22 11:59:40 T3.Mi 07:40;;09:50;;12:30;;12:30;;16:30;;21:30;;selected
setstate HK.Hz 2018-11-22 11:59:40 T4.Do 07:30;;09:40;;13:30;;13:30;;16:30;;21:30;;selected
setstate HK.Hz 2018-11-22 11:59:40 T5.Fr 07:40;;10:00;;13:30;;13:30;;17:00;;21:30;;selected
setstate HK.Hz 2018-11-22 11:59:41 T6.Sa 07:20;;10:00;;13:00;;13:00;;16:30;;21:30;;selected
setstate HK.Hz 2018-11-22 11:59:41 T7.So 07:40;;09:50;;13:00;;13:00;;16:30;;21:20;;selected
setstate HK.Hz 2018-11-22 11:59:41 state K.Temp 19
Rpi 3, Fhem, Cul 868, HM-CC-RT-DN, HM-Sec-Sco, HM-ES-PMSw1-Pl, ebus (Vaillant), ECMD, Telegram, HTTPMOD, Xiaomi, Shelly

rudolfkoenig

Tut mir leid, ich kenne ECMD nicht: es fehlt mir noch die classdef Datei, und die ECMD Definition.

jkriegl

#4
Der Fehler tritt auf bevor ECMD zum Zug kommt (allerdings sind die Readings aus der classDef).
Im pulldown werden z.B. beim get HK.Hz 'A.Temp, A.WDruck, H.Kurve usw.' angeboten (s. gets in der classdef). Ist A.Temp markiert und ich wähle A.WDruck tritt der Fehler auf, A.WDruck wird übernommen und ich kann das get mit A.WDruck ausführen.
Wähle ich A.Temp tritt der Fehler nicht auf.

Ist im FhemWiki https://wiki.fhem.de/wiki/EBUS beschrieben.
Dort zu 'ECMD Beispiel Solar' gehen.

list EBUS
Internals:
   DEF        telnet 127.0.0.1:8888
   DeviceName 127.0.0.1:8888
   FD         11
   NAME       EBUS
   NR         27
   PARTIAL   
   Protocol   telnet
   STATE      opened
   TYPE       ECMD
   READINGS:
     2018-11-20 16:59:38   state           opened
   fhem:
     classDefs:
       HK.Hz.class:
         filename   /opt/fhem/ebus_hz.cfg
         gets:
           A.Temp:
             cmd        {"r -f OutsideTemp temp\n"}
             expect     .*\n\n
             postproc   { sprintf("%.1f",$_) }
           A.WDruck:
             cmd        {"r -f WaterPressure press\n"}
             expect     .*\n\n
             postproc   { sprintf("%.1f",$_) }
           H.Kurve:
             cmd        {"r -f -c hc HeatingCurve curve.1\n"}
             expect     .*\n\n
             postproc   { sprintf("%.1f",$_) }
           H.Party:
             cmd        {"r -f -c hc IsInParty\n"}
             expect     .*\n\n
             postproc   {   my $rval=sprintf("%s",$_); $rval=~ s/\n//g;  $rval; }
           H.Sparen:
             cmd        {"r -f -c hc CleaningLady\n"}
             expect     .*\n\n
             postproc   { my $rval;  my @values=split(';',$_);  $rval=sprintf("%s",$values[1]);  $rval=~ s/\n//g;  $rval; }
           H.mode:
             cmd        {"read -f -c hc OperatingMode mcmode.1\n"}
             expect     .*\n\n
             postproc   { my $rval=$_; $rval=~ s/\n//g; $rval; }

usw.

Attributes:
   classdefs  HK.SOL.class=/opt/fhem/ebus_solar.cfg:HK.WW.class=/opt/fhem/ebus_ww.cfg:HK.Hz.class=/opt/fhem/[b]ebus_hz.cfg[/b]:HK.Th.class=/opt/fhem/ebus_therme.cfg
   group      System
   icon       usb
   requestSeparator \000
   room       9.0 Raspi


ebus_hz.cfg

# Außentemperatur
get A.Temp cmd {"r -f OutsideTemp temp\n"}
get A.Temp expect ".*\n\n"
get A.Temp postproc { sprintf("%.1f",$_) }

# Wasserdruck
get A.WDruck cmd {"r -f WaterPressure press\n"}
get A.WDruck expect ".*\n\n"
get A.WDruck postproc { sprintf("%.1f",$_) }

# Keller Temp
get K.Temp cmd {"read -c ui RoomTemp temp\n"}
get K.Temp expect ".*\n\n"
get K.Temp postproc { my $rval=sprintf("%.1f",$_) - 4.1; $rval=~ s/\n//g; $rval;}

# Modus
get H.mode cmd {"read -f -c hc OperatingMode mcmode.1\n"}
get H.mode expect ".*\n\n"
get H.mode postproc { my $rval=$_; $rval=~ s/\n//g; $rval; }

set H.mode params temp
set H.mode cmd { my @values=split(';',ReadingsVal("HK.Hz","H.mode_a",0));\
  "w -c hc OperatingMode $values[0];$values[1];$values[2];%temp;$values[4]\n" }
set H.mode expect "done\n"
set H.mode postproc {if ($_ =~ "done") {"%temp"} else {$_}}

usw.
Rpi 3, Fhem, Cul 868, HM-CC-RT-DN, HM-Sec-Sco, HM-ES-PMSw1-Pl, ebus (Vaillant), ECMD, Telegram, HTTPMOD, Xiaomi, Shelly

rudolfkoenig


jkriegl

Wir haben uns zu bedanken, für das stabile fhem, die Pflege und die rasche Korrektur.
Danke
Rpi 3, Fhem, Cul 868, HM-CC-RT-DN, HM-Sec-Sco, HM-ES-PMSw1-Pl, ebus (Vaillant), ECMD, Telegram, HTTPMOD, Xiaomi, Shelly