FHEM Forum

FHEM - Hausautomations-Systeme => Homematic => Thema gestartet von: jhohn am 15 November 2015, 10:08:18

Titel: Problem mit set xyz virtual 12
Beitrag von: jhohn am 15 November 2015, 10:08:18
Moins,

ich versuche gerade für meine HM-RC-12 ein virtuelles Device, nach der Anleitung unter http://www.fhemwiki.de/wiki/Diskussion:HM-RC-12_Funkfernbedienung_12_Tasten, anzulegen, bekomme aber Fehlermeldungen beim Anlegen der Virtuellen Buttons:

fhem> define v_fernbedienung CUL_HM 1000003
fhem>
fhem> set v_fernbedienung virtual 12
f


ergibt im Log:
2015.11.15 09:51:30 1: define v_fernbedienung_Btn1 CUL_HM 100000301: wrong syntax: define <name> CUL_HM 6-digit-hex-code [Raw-Message]
2015.11.15 09:51:30 1: define v_fernbedienung_Btn2 CUL_HM 100000302: wrong syntax: define <name> CUL_HM 6-digit-hex-code [Raw-Message]
2015.11.15 09:51:30 1: define v_fernbedienung_Btn3 CUL_HM 100000303: wrong syntax: define <name> CUL_HM 6-digit-hex-code [Raw-Message]
2015.11.15 09:51:30 1: define v_fernbedienung_Btn4 CUL_HM 100000304: wrong syntax: define <name> CUL_HM 6-digit-hex-code [Raw-Message]
2015.11.15 09:51:30 1: define v_fernbedienung_Btn5 CUL_HM 100000305: wrong syntax: define <name> CUL_HM 6-digit-hex-code [Raw-Message]
2015.11.15 09:51:30 1: define v_fernbedienung_Btn6 CUL_HM 100000306: wrong syntax: define <name> CUL_HM 6-digit-hex-code [Raw-Message]
2015.11.15 09:51:30 1: define v_fernbedienung_Btn7 CUL_HM 100000307: wrong syntax: define <name> CUL_HM 6-digit-hex-code [Raw-Message]
2015.11.15 09:51:30 1: define v_fernbedienung_Btn8 CUL_HM 100000308: wrong syntax: define <name> CUL_HM 6-digit-hex-code [Raw-Message]
2015.11.15 09:51:30 1: define v_fernbedienung_Btn9 CUL_HM 100000309: wrong syntax: define <name> CUL_HM 6-digit-hex-code [Raw-Message]
2015.11.15 09:51:30 1: define v_fernbedienung_Btn10 CUL_HM 10000030A: wrong syntax: define <name> CUL_HM 6-digit-hex-code [Raw-Message]
2015.11.15 09:51:30 1: define v_fernbedienung_Btn11 CUL_HM 10000030B: wrong syntax: define <name> CUL_HM 6-digit-hex-code [Raw-Message]
2015.11.15 09:51:30 1: define v_fernbedienung_Btn12 CUL_HM 10000030C: wrong syntax: define <name> CUL_HM 6-digit-hex-code [Raw-Message]
2015.11.15 09:51:30 3: CUL_HM set v_fernbedienung virtual 12


da scheint mir doch irgendwas im Code von set <device> virtual <channels> nicht zu passen. CUL_HM akzeptiert wohl nur 6 stellige IDs.

Eigentlich sollten doch so auch die Channels angelegt werden können.
define <name> CUL_HM <6-digit-hex-code|8-digit-hex-code>

Titel: Antw:Problem mit set xyz virtual 12
Beitrag von: viegener am 15 November 2015, 10:24:24
Die codes im log sind ja auch neunstellig und dein erstes define definiert einen 7 stelligen code oder bin ich noch nicht richtig wach?

Titel: Antw:Problem mit set xyz virtual 12
Beitrag von: jhohn am 15 November 2015, 12:27:27
Nee, ich war noch nicht richtig wach.

Aber warum hat das Teil nen 7stelligen Code angenommen?

Die Fernbedienung hab ich inzwischen aber am Laufen.
Titel: Antw:Problem mit set xyz virtual 12
Beitrag von: viegener am 15 November 2015, 14:04:05
Schön das es gelöst ist und ich dachte schon ich könnte keine Nullen mehr zählen  ;)

Habe gerade getestet, auch bei mir nimmt er 7 Stellen...


Titel: Antw:Problem mit set xyz virtual 12
Beitrag von: viegener am 15 November 2015, 14:13:32
@martinp876

Der Einfachheit halber mal direkt in diesem Thread:

Problem: CUL_HM lässt im define auch 7 stellige HMIDs zu, da auf 6 bis 8 hexadezimale Stellen geprüft wird:

Vorschlag:

Zeile 472/473 von jetzt

 
return "wrong syntax: define <name> CUL_HM 6-digit-hex-code [Raw-Message]"
        if(!(int(@a)==3 || int(@a)==4) || $HMid !~ m/^[A-F0-9]{6,8}$/i);


auf folgendes ändern

 
return "wrong syntax: define <name> CUL_HM 6-/8-digit-hex-code [Raw-Message]"
        if(!(int(@a)==3 || int(@a)==4) || $HMid !~ m/^[A-F0-9]{6}([A-F0-9]{2})?$/i );


Warum: Die perl-regexp sind da nicht sehr intuitiv: Ein Quantor {6,8} erlaubt 6-8 Wiederholungen. Da es wohl keinen Quantor für 6 oder 8 gibt, habe ich es anders umgebaut...


Titel: Antw:Problem mit set xyz virtual 12
Beitrag von: martinp876 am 15 November 2015, 15:04:43
danke