Unterschied zwischen scheinbar Gleichem finden

Begonnen von NeuFehm, 22 Dezember 2015, 21:59:48

Vorheriges Thema - Nächstes Thema

Dr. Boris Neubert

Das partial muss drin bleiben! Sonst wird das # nicht mit dem Rest zusammengefügt.

Und probier mal bitte

attr split \015\012

Es kann sein, dass \r\n nicht interpretiert wird.

(ich sehe, dass die Verwendung von Escapes in Eingabe und Ausgabe ein Krätz ist, den ich mal untersuchen und dokumentieren sollte)
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

NeuFehm

mit "attr split \013\010"
2016.01.02 20:23:46 1: DEBUG>mylampe: analyzing "#M(E\001\001\001\r\n!M(E\001\001\001\r\n".
2016.01.02 20:23:46 1: DEBUG>mylampe: trying to find a match for "#M(E\001\001\001\r\n!M(E\001\001\001\r\n"


mit "attr split \r\n"
2016.01.02 20:25:26 1: DEBUG>mylampe: analyzing "#M(E\001\001\001\r\n!M(E\001\001\001\r\n".
2016.01.02 20:25:26 1: DEBUG>mylampe: trying to find a match for "#M(E\001\001\001"


Das \r\n hat offensichtlich schon dazu geführt, dass der String richtig getrennt wurde.

Was ich Dir mit dem partial sagen wollte ist, dass überall im log, wo ein # war der komplette regex fehlt.
Das widerum sagt mir, das was mit dem Handling des "#" nicht stimmen könnte, bzw. das dieser eines besonderen Schutzes bedarf,
weil er vlt. auch ein Kommentarelement ist?

Gestüzt wird meine Annahme, das ohne partial, die beiden Strings einwandfrei als 2 Strings empfangen werden,
natürlich mit ABER: lediglich der String mit dem "#" wird zerlegt.

Also vlt. ist die Ursache ja nicht die Trennung der Befehle, sondern das "verflixte" #?
Raspberry Pi B+
RS 485 Schnittstellen: DIGITUS DA-70157, LINKSPTITE RS485/GPIO Shield for Raspberry Pi
RS485 Geräte: Ultraschallsensor für Zisternenfüllstand (Eigenbau), 4x8 Relais-M-Mastermodule (Eigenbau), 6 T-Module (Schalter und 3 analoge Eingänge) (Eigenbau)
sonstige Hardware: 2 Relay Modul

Dr. Boris Neubert

Ich schrieb

attr split \015\012

(das ist Oktal für 13, 10).

An dem # kann es nicht liegen, das hat keine spezielle Bedeutung in diesem Kontext.
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

NeuFehm

ich checke nochmal..., dachte, Du hast Dich verschrieben... sorry ;)

hier das phenomen meinte ich:
Von den vier fast identischen Regexe der classdef:
reading on_go match "\#M\(E\001\001\001"
reading on_done match "!M\(E\001\001\001"
reading off_go match "\#M\(E\001\001\000"
reading off_done match "!M\(E\001\001\000"


werden 2 "ignoriert/gelöscht" und zwar die, mit dem #:
2016.01.02 17:11:18 1: DEBUG>      Trying to match reading on with regular expression "" (device Testlicht, classdef mylampedevice, reading on).
2016.01.02 17:11:18 1: DEBUG>      Trying to match reading off_go with regular expression "reading off_done match "!M\(E\001\001\000\r\n" (device Testlicht, classdef mylampedevice, reading off_go).
2016.01.02 17:11:18 1: DEBUG>      Trying to match reading on_go with regular expression "reading on_done match "!M\(E\001\001\001\r\n" (device Testlicht, classdef mylampedevice, reading on_go).
2016.01.02 17:11:18 1: DEBUG>      Trying to match reading off with regular expression "" (device Testlicht, classdef mylampedevice, reading off).

Raspberry Pi B+
RS 485 Schnittstellen: DIGITUS DA-70157, LINKSPTITE RS485/GPIO Shield for Raspberry Pi
RS485 Geräte: Ultraschallsensor für Zisternenfüllstand (Eigenbau), 4x8 Relais-M-Mastermodule (Eigenbau), 6 T-Module (Schalter und 3 analoge Eingänge) (Eigenbau)
sonstige Hardware: 2 Relay Modul

NeuFehm

Nochwas fällt mir auf:
"_done" wurde auch gelöscht.
Ist der geschützt?

"reading on" müsste heißen "reading on_done"
Raspberry Pi B+
RS 485 Schnittstellen: DIGITUS DA-70157, LINKSPTITE RS485/GPIO Shield for Raspberry Pi
RS485 Geräte: Ultraschallsensor für Zisternenfüllstand (Eigenbau), 4x8 Relais-M-Mastermodule (Eigenbau), 6 T-Module (Schalter und 3 analoge Eingänge) (Eigenbau)
sonstige Hardware: 2 Relay Modul

Dr. Boris Neubert

Ach so, ja jetzt hab ich's kapiert, Mist, die classdef kennt ja # als Kommentarsymbol.

Bitte als Oktalwert in die classdef nehmen:

reading on_go match "\043M\(E\001\001\001" # \043 oktal für #
usw.
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

Dr. Boris Neubert

Zitat von: NeuFehm am 02 Januar 2016, 20:42:04
Nochwas fällt mir auf:
"_done" wurde auch gelöscht.
Ist der geschützt?

"reading on" müsste heißen "reading on_done"

Das ist merkwürdig. Du kannst mit list mylampe die classdef ansehen, die er verwendet. Am besten FHEM neu starten und weiter probieren.
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

NeuFehm

Das sieht doch schon gut aus, oder?
2016.01.02 20:55:02 5: mylampe: Spontaneously received "#"
2016.01.02 20:55:02 5: mylampe dispatch #
2016.01.02 20:55:02 1: DEBUG>mylampe: partial message "" recorded at 1451764502.89866
2016.01.02 20:55:02 1: DEBUG>mylampe: analyzing "#".
2016.01.02 20:55:02 1: DEBUG>mylampe: trying to find a match for "#"
2016.01.02 20:55:02 1: DEBUG>  Checking device Testlicht3 with class mylampedevice...
2016.01.02 20:55:02 1: DEBUG>   Trying to find a match in class mylampedevice...
2016.01.02 20:55:02 1: DEBUG>      Trying to match reading ondone with regular expression "!M\(E\001\001\001" (device Testlicht3, classdef mylampedevice, reading ondone).
2016.01.02 20:55:02 1: DEBUG>      Trying to match reading offgo with regular expression "\043M\(E\001\001\000" (device Testlicht3, classdef mylampedevice, reading offgo).
2016.01.02 20:55:02 1: DEBUG>      Trying to match reading offdone with regular expression "!M\(E\001\001\000" (device Testlicht3, classdef mylampedevice, reading offdone).
2016.01.02 20:55:02 1: DEBUG>      Trying to match reading ongo with regular expression "\043M\(E\001\001\001" (device Testlicht3, classdef mylampedevice, reading ongo).
2016.01.02 20:55:02 1: DEBUG>  Checking device Testlicht2 with class mylampedevice...
2016.01.02 20:55:02 1: DEBUG>   Trying to find a match in class mylampedevice...
2016.01.02 20:55:02 1: DEBUG>      Trying to match reading ondone with regular expression "!M\(E\001\001\001" (device Testlicht2, classdef mylampedevice, reading ondone).
2016.01.02 20:55:02 1: DEBUG>      Trying to match reading offgo with regular expression "\043M\(E\001\001\000" (device Testlicht2, classdef mylampedevice, reading offgo).
2016.01.02 20:55:02 1: DEBUG>      Trying to match reading offdone with regular expression "!M\(E\001\001\000" (device Testlicht2, classdef mylampedevice, reading offdone).
2016.01.02 20:55:02 1: DEBUG>      Trying to match reading ongo with regular expression "\043M\(E\001\001\001" (device Testlicht2, classdef mylampedevice, reading ongo).
2016.01.02 20:55:02 1: DEBUG>  Checking device Testlicht with class mylampedevice...
2016.01.02 20:55:02 1: DEBUG>   Trying to find a match in class mylampedevice...
2016.01.02 20:55:02 1: DEBUG>      Trying to match reading ondone with regular expression "!M\(E\001\001\001" (device Testlicht, classdef mylampedevice, reading ondone).
2016.01.02 20:55:02 1: DEBUG>      Trying to match reading offgo with regular expression "\043M\(E\001\001\000" (device Testlicht, classdef mylampedevice, reading offgo).
2016.01.02 20:55:02 1: DEBUG>      Trying to match reading offdone with regular expression "!M\(E\001\001\000" (device Testlicht, classdef mylampedevice, reading offdone).
2016.01.02 20:55:02 1: DEBUG>      Trying to match reading ongo with regular expression "\043M\(E\001\001\001" (device Testlicht, classdef mylampedevice, reading ongo).
2016.01.02 20:55:02 1: DEBUG>mylampe: partial message "#" kept.
2016.01.02 20:55:02 5: mylampe: Spontaneously received "M(E\001\001\001\r\n!M(E\001\001\001\r\n"
2016.01.02 20:55:02 5: mylampe dispatch M(E
!M(E

2016.01.02 20:55:02 1: DEBUG>mylampe: partial message "#" recorded at 1451764502.95723
2016.01.02 20:55:02 1: DEBUG>mylampe: analyzing "#M(E\001\001\001\r\n!M(E\001\001\001\r\n".
2016.01.02 20:55:02 1: DEBUG>mylampe: trying to find a match for "#M(E\001\001\001"
2016.01.02 20:55:02 1: DEBUG>  Checking device Testlicht3 with class mylampedevice...
2016.01.02 20:55:02 1: DEBUG>   Trying to find a match in class mylampedevice...
2016.01.02 20:55:02 1: DEBUG>      Trying to match reading ondone with regular expression "!M\(E\001\001\001" (device Testlicht3, classdef mylampedevice, reading ondone).
2016.01.02 20:55:02 1: DEBUG>      Trying to match reading offgo with regular expression "\043M\(E\001\001\000" (device Testlicht3, classdef mylampedevice, reading offgo).
2016.01.02 20:55:02 1: DEBUG>      Trying to match reading offdone with regular expression "!M\(E\001\001\000" (device Testlicht3, classdef mylampedevice, reading offdone).
2016.01.02 20:55:02 1: DEBUG>      Trying to match reading ongo with regular expression "\043M\(E\001\001\001" (device Testlicht3, classdef mylampedevice, reading ongo).
2016.01.02 20:55:02 5: mylampe: match regex \043M\(E\001\001\001 for reading ongo of device Testlicht3 with class mylampedevice
2016.01.02 20:55:02 1: DEBUG>  Checking device Testlicht2 with class mylampedevice...
2016.01.02 20:55:02 1: DEBUG>   Trying to find a match in class mylampedevice...
2016.01.02 20:55:02 1: DEBUG>      Trying to match reading ondone with regular expression "!M\(E\001\001\001" (device Testlicht2, classdef mylampedevice, reading ondone).
2016.01.02 20:55:02 1: DEBUG>      Trying to match reading offgo with regular expression "\043M\(E\001\001\000" (device Testlicht2, classdef mylampedevice, reading offgo).
2016.01.02 20:55:02 1: DEBUG>      Trying to match reading offdone with regular expression "!M\(E\001\001\000" (device Testlicht2, classdef mylampedevice, reading offdone).
2016.01.02 20:55:02 1: DEBUG>      Trying to match reading ongo with regular expression "\043M\(E\001\001\001" (device Testlicht2, classdef mylampedevice, reading ongo).
2016.01.02 20:55:02 5: mylampe: match regex \043M\(E\001\001\001 for reading ongo of device Testlicht2 with class mylampedevice
2016.01.02 20:55:02 1: DEBUG>  Checking device Testlicht with class mylampedevice...
2016.01.02 20:55:02 1: DEBUG>   Trying to find a match in class mylampedevice...
2016.01.02 20:55:02 1: DEBUG>      Trying to match reading ondone with regular expression "!M\(E\001\001\001" (device Testlicht, classdef mylampedevice, reading ondone).
2016.01.02 20:55:02 1: DEBUG>      Trying to match reading offgo with regular expression "\043M\(E\001\001\000" (device Testlicht, classdef mylampedevice, reading offgo).
2016.01.02 20:55:02 1: DEBUG>      Trying to match reading offdone with regular expression "!M\(E\001\001\000" (device Testlicht, classdef mylampedevice, reading offdone).
2016.01.02 20:55:02 1: DEBUG>      Trying to match reading ongo with regular expression "\043M\(E\001\001\001" (device Testlicht, classdef mylampedevice, reading ongo).
2016.01.02 20:55:02 5: mylampe: match regex \043M\(E\001\001\001 for reading ongo of device Testlicht with class mylampedevice
2016.01.02 20:55:03 1: DEBUG>mylampe: trying to find a match for "!M(E\001\001\001"
2016.01.02 20:55:03 1: DEBUG>  Checking device Testlicht3 with class mylampedevice...
2016.01.02 20:55:03 1: DEBUG>   Trying to find a match in class mylampedevice...
2016.01.02 20:55:03 1: DEBUG>      Trying to match reading ondone with regular expression "!M\(E\001\001\001" (device Testlicht3, classdef mylampedevice, reading ondone).
2016.01.02 20:55:03 5: mylampe: match regex !M\(E\001\001\001 for reading ondone of device Testlicht3 with class mylampedevice
2016.01.02 20:55:03 1: DEBUG>      Trying to match reading offgo with regular expression "\043M\(E\001\001\000" (device Testlicht3, classdef mylampedevice, reading offgo).
2016.01.02 20:55:03 1: DEBUG>      Trying to match reading offdone with regular expression "!M\(E\001\001\000" (device Testlicht3, classdef mylampedevice, reading offdone).
2016.01.02 20:55:03 1: DEBUG>      Trying to match reading ongo with regular expression "\043M\(E\001\001\001" (device Testlicht3, classdef mylampedevice, reading ongo).
2016.01.02 20:55:03 1: DEBUG>  Checking device Testlicht2 with class mylampedevice...
2016.01.02 20:55:03 1: DEBUG>   Trying to find a match in class mylampedevice...
2016.01.02 20:55:03 1: DEBUG>      Trying to match reading ondone with regular expression "!M\(E\001\001\001" (device Testlicht2, classdef mylampedevice, reading ondone).
2016.01.02 20:55:03 5: mylampe: match regex !M\(E\001\001\001 for reading ondone of device Testlicht2 with class mylampedevice
2016.01.02 20:55:03 1: DEBUG>      Trying to match reading offgo with regular expression "\043M\(E\001\001\000" (device Testlicht2, classdef mylampedevice, reading offgo).
2016.01.02 20:55:03 1: DEBUG>      Trying to match reading offdone with regular expression "!M\(E\001\001\000" (device Testlicht2, classdef mylampedevice, reading offdone).
2016.01.02 20:55:03 1: DEBUG>      Trying to match reading ongo with regular expression "\043M\(E\001\001\001" (device Testlicht2, classdef mylampedevice, reading ongo).
2016.01.02 20:55:03 1: DEBUG>  Checking device Testlicht with class mylampedevice...
2016.01.02 20:55:03 1: DEBUG>   Trying to find a match in class mylampedevice...
2016.01.02 20:55:03 1: DEBUG>      Trying to match reading ondone with regular expression "!M\(E\001\001\001" (device Testlicht, classdef mylampedevice, reading ondone).
2016.01.02 20:55:03 5: mylampe: match regex !M\(E\001\001\001 for reading ondone of device Testlicht with class mylampedevice
2016.01.02 20:55:03 1: DEBUG>      Trying to match reading offgo with regular expression "\043M\(E\001\001\000" (device Testlicht, classdef mylampedevice, reading offgo).
2016.01.02 20:55:03 1: DEBUG>      Trying to match reading offdone with regular expression "!M\(E\001\001\000" (device Testlicht, classdef mylampedevice, reading offdone).
2016.01.02 20:55:03 1: DEBUG>      Trying to match reading ongo with regular expression "\043M\(E\001\001\001" (device Testlicht, classdef mylampedevice, reading ongo).
Raspberry Pi B+
RS 485 Schnittstellen: DIGITUS DA-70157, LINKSPTITE RS485/GPIO Shield for Raspberry Pi
RS485 Geräte: Ultraschallsensor für Zisternenfüllstand (Eigenbau), 4x8 Relais-M-Mastermodule (Eigenbau), 6 T-Module (Schalter und 3 analoge Eingänge) (Eigenbau)
sonstige Hardware: 2 Relay Modul

Dr. Boris Neubert

Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

NeuFehm

Ich denke ich mach dennoch was mit meiner Konfiguration falsch.
Ich dachte ich habe EIN ECMD-DEVICE in Anführungszeichen, mein RS486-Stick:
define mylampe ECMD serial /dev/ttyUSB0@9600
attr mylampe classdefs mylampedevice=/opt/fhem/lampe.classdef
attr mylampe partial 1
attr mylampe verbose 5
deleteattr mylampe requestSeparator
attr mylampe split \r\n


und ich habe dann 3 Relais an die jeweils eine Lampe angeschlossen ist:
define Testlicht ECMDDevice mylampedevice 40 1 1
attr Testlicht IODev mylampe
attr Testlicht room Test

define Testlicht2 ECMDDevice mylampedevice 40 2 1
attr Testlicht2 IODev mylampe
attr Testlicht2 room Test

define Testlicht3 ECMDDevice mylampedevice 40 3 1
attr Testlicht3 IODev mylampe
attr Testlicht3 room Test


wenn ich nun die erste Lampe schalte, dann stehen ja im log insgesamt 6 Matchings,
also die vom Testlicht, Testlicht2 und Testlicht 3.
Alle fühlen sich "angesprochen". Daher sieht auch das Webfrontent entsprechend aus:

ECMDDevice
Testlicht  ondone !M(E on off
Testlicht2 ondone !M(E on off
Testlicht3 ondone !M(E on off

Kannst Du mir ein Licht für den Ausweg aus meinen Irrgarten senden?
Raspberry Pi B+
RS 485 Schnittstellen: DIGITUS DA-70157, LINKSPTITE RS485/GPIO Shield for Raspberry Pi
RS485 Geräte: Ultraschallsensor für Zisternenfüllstand (Eigenbau), 4x8 Relais-M-Mastermodule (Eigenbau), 6 T-Module (Schalter und 3 analoge Eingänge) (Eigenbau)
sonstige Hardware: 2 Relay Modul

Dr. Boris Neubert

Hallo,

Dein Verständnis ist richtig (ECMD: RS486-Stick, 3 ECMDDevices: die Lampen).

Wenn ich das richtig überblicke, sendet der Stick immer dasselbe als Antwort, egal, welche Lampe geschaltet wurde. Damit kannst Du die Rückmeldung nicht benutzen, um zu bestimmen, welche Lampe ein- oder ausgeschaltet wurde.

Die einfachste Variante ist es, wenn Du bereits auf den Schaltbefehl hin die Readings setzt und die Rückmeldung in ein extra reply-Reading steckst. Du kannst dann allerdings nicht feststellen, ob der Schaltbefehl erfolgreich war. Zumindest nicht ohne einiges an Perl-Gymnastik, um die Rückmeldung in Bezug zum Befehl zu bringen.

Viele Grüße
Boris
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

NeuFehm

#26
Die Lampen senden unterschiedlich (ohne \r\n)!
Lampe 1 an/ok//aus/ok: #M(\001\001\001 / !M(\001\001\001 // #M(\001\001\000 / !M(\001\001\000
Lampe 2 an/ok//aus/ok: #M(\001\002\001 / !M(\001\002\001 // #M(\001\002\000 / !M(\001\002\000
Lampe 3 an/ok//aus/ok: #M(\001\003\001 / !M(\001\003\001 // #M(\001\003\000 / !M(\001\003\000

Ich dachte, ich kann dann, die classdef:
reading ongo1 match "\043M\(E\001\001\001"
reading ondone1 match "!M\(E\001\001\001"
reading offgo1 match "\043M\(E\001\001\000"
reading offdone1 match "!M\(E\001\001\000"


erweitern mit 
reading ondone1 postproc {fhem "setstate Testlicht on"}
reading offdone1 postproc {fhem "setstate Testlicht off"}

und bei Erfolg dann vorerst "umständlich" durch kopieren für die Lampen 2 und 3

Aber wieso schreibt der jetzt schon (also auch ohne postproc) die Readings in alle Devices?:
Testlicht: state ondone1 !M(E 2016-01-02 20:55:03
Testlicht2: state ondone1 !M(E 2016-01-02 20:55:03
Testlicht3: state ondone1 !M(E 2016-01-02 20:55:03

Kann es sein, dass ich Readings falsch verstehe und es sich nicht um "Variablen" handelt, die man belegt und dann einsetzen kann,
sondern dass es für die drei Lampen heißen müsste:


reading Testlicht on match "!M\(E\001\001\001"
reading Testlicht off match "!M\(E\001\001\000"

reading Testlicht2 on match "!M\(E\001\002\001"
reading Testlicht2 off match "!M\(E\001\002\000"

reading Testlicht3 on match "!M\(E\001\003\001"
reading Testlicht3 off match "!M\(E\001\003\000"



Aber da stimmt doch der Syntax nicht....
Raspberry Pi B+
RS 485 Schnittstellen: DIGITUS DA-70157, LINKSPTITE RS485/GPIO Shield for Raspberry Pi
RS485 Geräte: Ultraschallsensor für Zisternenfüllstand (Eigenbau), 4x8 Relais-M-Mastermodule (Eigenbau), 6 T-Module (Schalter und 3 analoge Eingänge) (Eigenbau)
sonstige Hardware: 2 Relay Modul

Dr. Boris Neubert

Hallo,

es kann sein, dass die Readings von Deinen vorherigen Versuchen übrig sind. Entweder FHEM beenden und fhem.save löschen oder mit deletereading die Readings löschen.

Ansonsten ist Deine Vorgehensweise richtig.

Es wird noch einfacher, wenn Du den Parameter für die Lampe als Character definierst. Dann kannst Du ihn auch im match verwenden und brauchst nur eine classdef. Ungefähr so:

params M_Adresse M_Relais M_Schalttyp
params M_Adresse M_Relais M_Schalttyp
set off cmd {chr(35).chr(77).chr(%M_Adresse).chr(69).chr(%M_Schalttyp)."%M_Relais".chr(0).chr(13).chr(10)}
set on cmd {chr(35).chr(77).chr(%M_Adresse).chr(69).chr(%M_Schalttyp)."%M_Relais".chr(1).chr(13).chr(10)}
reading on match "!M\(E\005%M_Relais\001"
reading off match "!M\(E\005%M_Relais\000"# die postprocs brauchst Du nicht, die Readings on und off werden bereits durch die beiden Zeilen darüber gesetzt.


und

define Testlicht2 ECMDDevice mylampedevice 40 \002 1


Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

NeuFehm

#28
Cool!
Tatsächlich wird nur der Status der ersten Lampe geändert :)
Musste allerdings das so machen, damit die # ohne Folgen gematched werden:

params M_Adresse M_Relais M_Schalttyp
set off cmd {chr(35).chr(77).chr(%M_Adresse).chr(69).chr(%M_Schalttyp).%M_Relais.chr(0).chr(13).chr(10)}
set on cmd {chr(35).chr(77).chr(%M_Adresse).chr(69).chr(%M_Schalttyp).%M_Relais.chr(1).chr(13).chr(10)}

reading ongo match "\043M\(E\001%M_Relais\001"
reading on match "!M\(E\001%M_Relais\001"
reading offgo match "\043M\(E\001%M_Relais\000"
reading off match "!M\(E\001%M_Relais\000"



Mh. Allerdings schaltet nun meine Lampe nicht mehr, wenn ich der wie im Log schicke:
2016.01.02 22:17:56 5: mylampe: sending command "#M(E\001SCALAR(0x1a8d868)\001\r\n"
2016.01.02 22:17:56 5: SW: 234d2845015343414c41522830783161386438363829010d0a


Verflixt :)
Raspberry Pi B+
RS 485 Schnittstellen: DIGITUS DA-70157, LINKSPTITE RS485/GPIO Shield for Raspberry Pi
RS485 Geräte: Ultraschallsensor für Zisternenfüllstand (Eigenbau), 4x8 Relais-M-Mastermodule (Eigenbau), 6 T-Module (Schalter und 3 analoge Eingänge) (Eigenbau)
sonstige Hardware: 2 Relay Modul

Dr. Boris Neubert

Hmm, das muss ich mir morgen mal ansehen und bei mir an einem Beispiel durchdebuggen. Die Makrosubstitution geht schief.

Gute Nacht.
Boris

Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!