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
Kannst du bitte ein "list -r" (bzw. Raw definition) vom ECMDDevice hier anhaengen?
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
Tut mir leid, ich kenne ECMD nicht: es fehlt mir noch die classdef Datei, und die ECMD Definition.
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 (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.
Danke, ich konnte es jetzt nachstellen und fixen.
Wir haben uns zu bedanken, für das stabile fhem, die Pflege und die rasche Korrektur.
Danke