Autor Thema: Mit ECMD State abfragen  (Gelesen 1523 mal)

Offline Heimbastler

  • New Member
  • *
  • Beiträge: 49
  • ...es muss doch irgendwie gehen
Mit ECMD State abfragen
« am: 14 November 2016, 14:10:38 »
Hallo,

mein Arduino ist über USB am Raspberri Pi angeschlossen. Auf dem Arduino läuft meine Lichtsteuerung. Das habe ich so gewählt weil es aus verschiedenen Gründen "stabiler" läuft. Nun will ich über FHEM variablen ändern bzw. Schalzustände ändern und abfragen.
Das ändern funktioniert soweit:

Internals des ECMD
Internals:
   DEF        serial /dev/ttyACM2@9600
   DeviceName /dev/ttyACM2@9600
   FD         23
   NAME       Arduino
   NR         374
   PARTIAL
   Protocol   serial
   STATE      opened
   TYPE       ECMD
   Readings:
     2016-11-13 22:42:22   state           opened
   Fhem:
     Classdefs:
       :
         Gets:
         Sets:
       Arduino:
       Ecmd:
         filename   /opt/fhem/ECMD.classdef
         params     PAR1
         Gets:
           Status:
             cmd        {"VERSION\n"}
         Sets:
           0r08:
             cmd        {"0R08\n"}
           1r08:
             cmd        {"1R08\n"}
           Led_off:
             cmd        {"b\n"}
           Led_on:
             cmd        {"a\n"}
       Par1:
       Params:
       Params:
Attributes:
   classdefs  ECMD=/opt/fhem/ECMD.classdef
   room       Arduino
   verbose    5

Internals des ECMD Device
Internals:
   CFGFN
   IODev      Arduino
   NAME       R08
   NR         537
   STATE      1R08
   TYPE       ECMDDevice
   Readings:
     2016-11-14 13:46:55   state           1R08
   Fhem:
     classname  ECMD
     Cache:
       Specials:
         %NAME      R08
         %PAR1      1
         %TYPE      ECMDDevice
     Params:
       PAR1       1
Attributes:
   IODev      Arduino
   alias      Küchenarbeitsleuchten
   class      ECMD 1
   devStateIcon 0R08:rc_STOP:1R08 1R08:rc_YELLOW:0R08
   room       Arduino

Ein Auszug aus der Log sieht so aus:
2016.11.14 13:46:45 5: Arduino: sending command "0R08\n"
2016.11.14 13:46:45 5: SW: 305230380a
2016.11.14 13:46:45 5: Arduino: Spontaneously received "0R"
2016.11.14 13:46:45 5: Arduino dispatch 0R
2016.11.14 13:46:45 5: Arduino: Spontaneously received "08\r\n"
2016.11.14 13:46:45 5: Arduino dispatch 08

Leider kriegt FHEM die Änderungen nicht mit. Wenn ein Schalter am Arduino geschaltet wird und das Licht entsprechend an / aus ist sieht FHEM das erst mal nicht.

Kann man mit ECMD auch den Arduino State nach jedem Schalten abfragen oder muss ich regelmäßig per Timer den State abfragen?
Ich bin mir da nicht Sicher wie ich das Umsetzen kann.  :o
Vlt. ist die Lösung total simpel, ich steh irgendwie fest.

Danke + VG
Alex

RasPi B v2 mit FHEM V5.7 3x18B20 über 1Wire,  CUL868, 4xIT-Schalter, 6xELRO-Schalter, 6xReed-Kontakte, 2xMAX-Fensterkontakt, 3xMAX-Thermostate, 2xMAX-Wandthermostate
PID20, RPI_GPIO, HCW, Alarm, Pushover, GPIO4, MAX, ECMD,IT, AT,

Offline Dr. Boris Neubert

  • Global Moderator
  • Hero Member
  • ****
  • Beiträge: 3738
Antw:Mit ECMD State abfragen
« Antwort #1 am: 14 November 2016, 18:18:54 »
Lass den Arduino nach jedem Schaltvorgang eine Meldung an FHEM absetzen.

Ggf. fehlt in der classdef ein expect und timeout, um die gesplitteten Antworten einzusammeln.

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

Offline Heimbastler

  • New Member
  • *
  • Beiträge: 49
  • ...es muss doch irgendwie gehen
Antw:Mit ECMD State abfragen
« Antwort #2 am: 16 März 2017, 20:45:06 »
Hi Boris,

bin jetzt erst wieder an dem Thema dran  ;D

Wenn der Arduino durch einen Schalter-Eingang ein bestimmtes Relais schaltet sendet er auch jeweils per serial:
Serial.println("0R08");- 1ste Stelle <0> oder <1> für <aus> bzw. <an>
- 2te Stelle <R> für "Relais"
- 3te+4te Stelle <08> für die "Relais-Nummer" im Schaltschrank


folgendes an fhem: (aus dem Log)
2017.03.16 20:04:43 5: Arduino: Spontaneously received "0R"
2017.03.16 20:04:43 5: Arduino dispatch 0R
2017.03.16 20:04:43 5: Arduino: Spontaneously received "08\r\n"
2017.03.16 20:04:43 5: Arduino dispatch 08


Ich hab leider das Prinzip noch nicht verstanden, deswegen steht im classdef auch noch alles in Klartext. Bestimmt gibt es hier eine clevere Variante um <0> bzw. <1> intelligent zu steuern.

Gänzlich unklar ist mir aber was ich in die classdef eintragen muss um beim serial Empfang von z.Bsp <0R08\r\n> den state eines device zu ändern.

#===========Arduino.classdef

# Uebergabeparameter
params PAR1

# Umsetzung in ECMD Befehle
set led_on cmd {"a\n"}
set led_off cmd {"b\n"}

set 1R00 cmd {"1R00\n"}
#set 1R00 expect "1R00\n"
#set 1R00 postproc {s/
set 0R00 cmd {"0R00\n"}
set 0R00 expect "0R00\n"

set 1R01 cmd {"1R01\n"}
set 0R01 cmd {"0R01\n"}
set 1R02 cmd {"1R02\n"}
set 0R02 cmd {"0R02\n"}
set 1R03 cmd {"1R03\n"}
set 0R03 cmd {"0R03\n"}
set 1R04 cmd {"1R04\n"}
set 0R04 cmd {"0R04\n"}
set 1R07 cmd {"1R07\n"}
set 0R07 cmd {"0R07\n"}
set 1R08 cmd {"1R08\n"}
#set 1R008 expect "1R08\n"
set 0R08 cmd {"0R08\n"}
#set 0R008 expect "0R08\n"
set 1R10 cmd {"1R10\n"}
set 0R10 cmd {"0R10\n"}
set 1R11 cmd {"1R11\n"}
set 0R11 cmd {"0R11\n"}
set 1R12 cmd {"1R12\n"}
set 0R12 cmd {"0R12\n"}
set 1R13 cmd {"1R13\n"}
set 0R13 cmd {"0R13\n"}
set 1R14 cmd {"1R14\n"}
set 0R14 cmd {"0R14\n"}
set 1R15 cmd {"1R15\n"}
set 0R15 cmd {"0R15\n"}

get getdata cmd ("0R00\n")
get getdata expect "0R00\n"
#get getdata postproc {\s/(.*)\n/$1/

get status cmd {"VERSION\n"}

tut mir leid wenn Ihr Augenkrebs bekommt bei meinem stümperhaften vorgehen.

VG Alex
RasPi B v2 mit FHEM V5.7 3x18B20 über 1Wire,  CUL868, 4xIT-Schalter, 6xELRO-Schalter, 6xReed-Kontakte, 2xMAX-Fensterkontakt, 3xMAX-Thermostate, 2xMAX-Wandthermostate
PID20, RPI_GPIO, HCW, Alarm, Pushover, GPIO4, MAX, ECMD,IT, AT,

Offline Heimbastler

  • New Member
  • *
  • Beiträge: 49
  • ...es muss doch irgendwie gehen
Antw:Mit ECMD State abfragen
« Antwort #3 am: 19 März 2017, 22:26:14 »

Guten Abend,

noch mal versucht. Leider ohne Erfolg. Wenn ich ein getdata in die ECMD.classdef eingebe:

set 1R08 cmd {"1R08\n"}
set 0R08 cmd {"0R08\n"}

get getdata cmd {"0R10\r\n"}
get getdata expect "0R10\r\n"
get getdata postproc {readingsSingleUpdate(R10, "status", 0R10}

get getdata cmd {"1R10\r\n"}
get getdata expect "1R10\r\n"
get getdata postproc {readingsSingleUpdate(R10, "status", 1R10}

und ich lasse den Arduino senden dann kommt in der log immer noch alles zerhackt an:

2017.03.19 22:14:57 5: Arduino: sending command "1R10\n"
2017.03.19 22:14:57 5: SW: 315231300a
2017.03.19 22:14:57 5: Arduino: Spontaneously received "1R1"
2017.03.19 22:14:57 5: Arduino dispatch 1R1
2017.03.19 22:14:57 5: Arduino: Spontaneously received "0\r\n"
2017.03.19 22:14:57 5: Arduino dispatch 0

Ich habe im ECMD mit dem attr timeout + partial jeweils 3sec auch keinen unterschied gesehen.
Ich denke mal ich habe da immer noch einen denkfehler, weiss aber überhaupt nicht wo ich ansetzen soll.

 :-\

RasPi B v2 mit FHEM V5.7 3x18B20 über 1Wire,  CUL868, 4xIT-Schalter, 6xELRO-Schalter, 6xReed-Kontakte, 2xMAX-Fensterkontakt, 3xMAX-Thermostate, 2xMAX-Wandthermostate
PID20, RPI_GPIO, HCW, Alarm, Pushover, GPIO4, MAX, ECMD,IT, AT,

Offline Dr. Boris Neubert

  • Global Moderator
  • Hero Member
  • ****
  • Beiträge: 3738
Antw:Mit ECMD State abfragen
« Antwort #4 am: 20 März 2017, 01:08:44 »
Poste bitte mal die vollständige Konfiguration des Device namens Arduino, die classdef, einen Logauszug mit logTraffic.

Mit allem an einer Stelle im Überblick sehe ich vielleicht was.
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

Offline Tom_S

  • Full Member
  • ***
  • Beiträge: 244
Antw:Mit ECMD State abfragen
« Antwort #5 am: 23 März 2017, 10:32:48 »
da gab es mal einen Wiki-Eintrag

prinzipiell legst du doch für jedes Relais ein ECMDDevice an.

define <Name> ECMDDevice rel 01
define <Name> ECMDDevice rel 02

usw

in die classdef schreibst du

params pin

set on cmd {"<dein on Befehl> %pin\r\n"}
set off cmd {"<dein off Befehl> %pin\r\n"}

der Parameter %pin steht für das Relais. Du musst also %pin sinnvoll integrieren.
In deinem Fall 1R%pin für on

Meldungen die zurück kommen kannst du mit
reading on match "1R%pin"

abfangen.
off dann mit 0. Soweit ich das noch aus dem Gedächtnis zusammen bekomme.
Probiere mal und wie Boris schon geschrieben hat, bitte mal die gesamte config

LG Tom_S
RaspberryPI2 + pilight, 3x AVR-NetIO, LW12, LW12HX, LW12FC; MAX-Lan, ESP8266, Arduino, H801, Neopixel

Offline Heimbastler

  • New Member
  • *
  • Beiträge: 49
  • ...es muss doch irgendwie gehen
Antw:Mit ECMD State abfragen
« Antwort #6 am: 23 März 2017, 21:35:31 »
Hi Boris und Tom_S...

vielen Dank für Eure Hilfe.

Das Arduino hat vollgende internals:
Internals:
   DEF        serial /dev/ttyACM2@9600
   DeviceName /dev/ttyACM2@9600
   FD         16
   NAME       Arduino
   NR         337
   PARTIAL
   Protocol   serial
   STATE      opened
   TYPE       ECMD
   Readings:
     2017-03-23 20:52:34   state           opened
   Fhem:
     Classdefs:
       Rel:
         filename   /opt/fhem/ECMD.classdef
         params     pin
         Gets:
         Readings:
           Off:
             match      0R%pin
           On:
             match      1R%pin
         Sets:
           Off:
             cmd        {"0R%pin\r\n"}
           On:
             cmd        {"1R%pin\r\n"}
Attributes:
   classdefs  rel=/opt/fhem/ECMD.classdef
   requestSeparator 
   verbose    5

Die ECMDdevice's lasen sich auch alle noch per FHEM schalten. Im reading schaltet state auf on oder off.
Die ECMDdevices haben vollgendes in er cfg:
define R11 ECMDDevice
attr R11 IODev Arduino
attr R11 alias Trägerleuchten
attr R11 class rel 11
attr R11 devStateIcon off:rc_STOP:on on:rc_YELLOW:off
attr R11 group Licht
attr R11 room EG
attr R11 webCmd :

in der classdef steht:
#===========Arduino.classdef

# Uebergabeparameter
params pin

# Umsetzung in ECMD Befehle
set on cmd {"1R%pin\r\n"}
set off cmd {"0R%pin\r\n"}

reading on match "1R%pin"
reading off match "0R%pin"

und in der Log steht:
2017.03.23 21:21:25 5: Arduino: sending command "0R11\r\n"
2017.03.23 21:21:25 5: SW: 305231310d0a
2017.03.23 21:21:25 5: Arduino: Spontaneously received "0R1"
2017.03.23 21:21:25 5: Arduino dispatch 0R1
2017.03.23 21:21:25 5: Arduino: Spontaneously received "1\r\n"
2017.03.23 21:21:25 5: Arduino dispatch 1

2017.03.23 21:21:27 5: Arduino: sending command "1R11\r\n"
2017.03.23 21:21:27 5: SW: 315231310d0a
2017.03.23 21:21:27 5: Arduino: Spontaneously received "1R"
2017.03.23 21:21:27 5: Arduino dispatch 1R
2017.03.23 21:21:27 5: Arduino: Spontaneously received "11\r\n"
2017.03.23 21:21:27 5: Arduino dispatch 11

Ich verstehe nicht wo es noch klemmt. Die

reading on match "1R%pin"
reading off match "0R%pin"

 in der classdef scheinen nichts zu bewirken. Oder ich hab das mit dem Befehl nicht verstanden / richtig umgesetzt.

VG
Alex
RasPi B v2 mit FHEM V5.7 3x18B20 über 1Wire,  CUL868, 4xIT-Schalter, 6xELRO-Schalter, 6xReed-Kontakte, 2xMAX-Fensterkontakt, 3xMAX-Thermostate, 2xMAX-Wandthermostate
PID20, RPI_GPIO, HCW, Alarm, Pushover, GPIO4, MAX, ECMD,IT, AT,

Offline Heimbastler

  • New Member
  • *
  • Beiträge: 49
  • ...es muss doch irgendwie gehen
Antw:Mit ECMD State abfragen
« Antwort #7 am: 23 März 2017, 21:42:19 »
hier noch mal ein Log Auszug wenn ich den logTraffig beim ECMD auf 5 gesetzt habe:

2017.03.23 21:37:08 5: Arduino: read "0R11\r\n"
2017.03.23 21:37:08 5: Arduino: Spontaneously received "0R11\r\n"
2017.03.23 21:37:08 5: Arduino dispatch 0R11

2017.03.23 21:37:11 5: Arduino: read "1"
2017.03.23 21:37:11 5: Arduino: Spontaneously received "1"
2017.03.23 21:37:11 5: Arduino dispatch 1
2017.03.23 21:37:11 5: Arduino: read "R11\r\n"
2017.03.23 21:37:11 5: Arduino: Spontaneously received "R11\r\n"
2017.03.23 21:37:11 5: Arduino dispatch R11

RasPi B v2 mit FHEM V5.7 3x18B20 über 1Wire,  CUL868, 4xIT-Schalter, 6xELRO-Schalter, 6xReed-Kontakte, 2xMAX-Fensterkontakt, 3xMAX-Thermostate, 2xMAX-Wandthermostate
PID20, RPI_GPIO, HCW, Alarm, Pushover, GPIO4, MAX, ECMD,IT, AT,

Offline Dr. Boris Neubert

  • Global Moderator
  • Hero Member
  • ****
  • Beiträge: 3738
Antw:Mit ECMD State abfragen
« Antwort #8 am: 23 März 2017, 21:49:41 »
partial verwenden!
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

Offline Heimbastler

  • New Member
  • *
  • Beiträge: 49
  • ...es muss doch irgendwie gehen
Antw:Mit ECMD State abfragen
« Antwort #9 am: 25 März 2017, 09:20:40 »
Hallo



Wenn ich mir die Detailansicht des Device (R10) anschaue habe ich verschiedene Merkmale die nun mit/von ECMD zu tun haben. Anbei dazu ein Screenshot.

#1
Set
ganz oben in der Detailansicht
set R10 on 1R10
bzw.
set R10 off 0R10
Ich denke mal das kommt direkt aus der Definition im Classdef

#2
ECMD reading
ich glaube das reading / match funktioniert noch nicht zuverlässig
#===========ECMD.classdef

# Uebergabeparameter
params pin
set on cmd {"1R%pin\r\n"}
set off cmd {"0R%pin\r\n"}

reading on match "1R%pin"
reading off match "0R%pin"
in den Internals als auch in den Readings habe ich nun stimmige Einträge vom ECMD Device / Arduino.
In den Readings habe ich nun 3 verschiedene reading (on + off + state)
Der Arduino sendet immer etwas zurück (1R10\r\n bzw. 0R10\r\n. Nur an den Zeitstempeln der Readings kann ich erkennen das es immer noch nicht 100% "matched" wie in der Classdef definiert. Das ist auch nach wie vor mein eigentliches Problem.
Im Device ECMD habe ich auch das Attribute partial verwendet
attr Arduino partial 1
Ob ich 1sec oder bis zu 10sec verwende macht im Log kein Unterschied.

#3
devStateIcon als klare Darstellung
Ich verwende ein
attr R10 devStateIcon off:rc_STOP:on on:rc_YELLOW:off
um das optisch klar anzuzeigen welchen Status das Relais aktuell hat.
Hier habe ich festgestellt das manchmal das Icon rc_YELLOW -> #3a (die klare beleuchtete Taste wie im 1sten screenshot) ODER die "standard Icon / Lampe" -> #3b (2ter Screenshot) leuchtet. Wenn ich das querchecke mit den Logs macht das auch Sinn:

Wenn #3a/bestimmtes Icon dann scheint das im Log "nicht zu matchen":
2017.03.25 08:22:45 5: Arduino: sending command "0R10\r\n"
2017.03.25 08:22:45 5: Arduino: write "0R10\r\n"
2017.03.25 08:22:45 5: SW: 305231300d0a
2017.03.25 08:22:45 5: Arduino: read "0R1"
2017.03.25 08:22:45 5: Arduino: Spontaneously received "0R1"
2017.03.25 08:22:45 5: Arduino dispatch 0R1
2017.03.25 08:22:45 5: Arduino: read "0\r\n"
2017.03.25 08:22:45 5: Arduino: Spontaneously received "0\r\n"
2017.03.25 08:22:45 5: Arduino dispatch 0
Ich denke mal dann greift das reading state

Wenn #3b/standard Icon dann scheint das im Log "zu matchen":
2017.03.25 08:22:06 5: Arduino: sending command "1R15\r\n"
2017.03.25 08:22:06 5: Arduino: write "1R15\r\n"
2017.03.25 08:22:06 5: SW: 315231300d0a
2017.03.25 08:22:06 5: Arduino: read "1R15"
2017.03.25 08:22:06 5: Arduino: Spontaneously received "1R15"
2017.03.25 08:22:06 5: Arduino dispatch 1R15
2017.03.25 08:22:06 5: Arduino: match regex 1R15 for reading on of device R15 with class rel
2017.03.25 08:22:06 5: Arduino: read "\r\n"
2017.03.25 08:22:06 5: Arduino: Spontaneously received "\r\n"
2017.03.25 08:22:06 5: Arduino dispatch
Ich denke mal dann greift das reading state NICHT und fhem nimmt das standard Icon für on? Das ist mir unklar was da passiert.

Ist zwar ein anderes Thema aber was muss im attribute devStateIcon stehen damit das Sinn macht?
regex on bzw. off
devStateIcon off:rc_STOP:on on:rc_YELLOW:off
ODER
regex 0R10 bzw. 1R10
devStateIcon 0R10:rc_STOP:on 1R10:rc_YELLOW:off

?

VG
Alex
« Letzte Änderung: 25 März 2017, 10:44:49 von Heimbastler »
RasPi B v2 mit FHEM V5.7 3x18B20 über 1Wire,  CUL868, 4xIT-Schalter, 6xELRO-Schalter, 6xReed-Kontakte, 2xMAX-Fensterkontakt, 3xMAX-Thermostate, 2xMAX-Wandthermostate
PID20, RPI_GPIO, HCW, Alarm, Pushover, GPIO4, MAX, ECMD,IT, AT,

Offline Heimbastler

  • New Member
  • *
  • Beiträge: 49
  • ...es muss doch irgendwie gehen
Antw:Mit ECMD State abfragen
« Antwort #10 am: 25 März 2017, 09:23:21 »
leider die Screenshots vergessen  :-\
RasPi B v2 mit FHEM V5.7 3x18B20 über 1Wire,  CUL868, 4xIT-Schalter, 6xELRO-Schalter, 6xReed-Kontakte, 2xMAX-Fensterkontakt, 3xMAX-Thermostate, 2xMAX-Wandthermostate
PID20, RPI_GPIO, HCW, Alarm, Pushover, GPIO4, MAX, ECMD,IT, AT,

Offline Dr. Boris Neubert

  • Global Moderator
  • Hero Member
  • ****
  • Beiträge: 3738
Antw:Mit ECMD State abfragen
« Antwort #11 am: 25 März 2017, 20:00:43 »
Hallo,

bitte immer nur eine Problem nach dem anderen.

Nachdem Du partial nun gesetzt hast, wie sagt das Log, wenn vom Arduino die Bestätigung gesendet wird? Bist Du sicher, dass dabei partial am Device Arduino gesetzt ist (attr Arduino partial 1)?

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

Offline Heimbastler

  • New Member
  • *
  • Beiträge: 49
  • ...es muss doch irgendwie gehen
Antw:Mit ECMD State abfragen
« Antwort #12 am: 25 März 2017, 21:41:12 »
Hi Boris,

ja partial am device Arduino gesetzt
Internals:
   DEF        serial /dev/ttyACM2@9600
   DeviceName /dev/ttyACM2@9600
   FD         16
   NAME       Arduino
   NR         337
   PARTIAL
   Protocol   serial
   STATE      opened
   TYPE       ECMD
   Readings:
     2017-03-23 22:43:54   state           opened
   Fhem:
     Classdefs:
       Rel:
         filename   /opt/fhem/ECMD.classdef
         params     pin
         Gets:
         Readings:
           Off:
             match      0R%pin
           On:
             match      1R%pin
         Sets:
           Off:
             cmd        {"0R%pin\r\n"}
           On:
             cmd        {"1R%pin\r\n"}
     Partial:
       msg        1R08
 

       ts         1490467796.96596
Attributes:
   classdefs  rel=/opt/fhem/ECMD.classdef
   logTraffic 5
   partial    1
   requestSeparator 
   verbose    5

und das log sagt vollgendes wenn Arduino eine Antwort schickt
2017.03.25 21:37:43 5: Arduino: sending command "0R10\r\n"
2017.03.25 21:37:43 5: Arduino: write "0R10\r\n"
2017.03.25 21:37:43 5: SW: 305231300d0a
2017.03.25 21:37:43 5: Arduino: read "0R"
2017.03.25 21:37:43 5: Arduino: Spontaneously received "0R"
2017.03.25 21:37:43 5: Arduino dispatch 0R
2017.03.25 21:37:43 5: Arduino: read "10\r\n"
2017.03.25 21:37:43 5: Arduino: Spontaneously received "10\r\n"
2017.03.25 21:37:43 5: Arduino dispatch 10

2017.03.25 21:37:48 5: Arduino: sending command "1R10\r\n"
2017.03.25 21:37:48 5: Arduino: write "1R10\r\n"
2017.03.25 21:37:48 5: SW: 315231300d0a
2017.03.25 21:37:48 5: Arduino: read "1R1"
2017.03.25 21:37:48 5: Arduino: Spontaneously received "1R1"
2017.03.25 21:37:48 5: Arduino dispatch 1R1
2017.03.25 21:37:48 5: Arduino: read "0\r\n"
2017.03.25 21:37:48 5: Arduino: Spontaneously received "0\r\n"
2017.03.25 21:37:48 5: Arduino dispatch 0

Danke für Deine Geduld

VG
Alex
RasPi B v2 mit FHEM V5.7 3x18B20 über 1Wire,  CUL868, 4xIT-Schalter, 6xELRO-Schalter, 6xReed-Kontakte, 2xMAX-Fensterkontakt, 3xMAX-Thermostate, 2xMAX-Wandthermostate
PID20, RPI_GPIO, HCW, Alarm, Pushover, GPIO4, MAX, ECMD,IT, AT,

Offline Heimbastler

  • New Member
  • *
  • Beiträge: 49
  • ...es muss doch irgendwie gehen
Antw:Mit ECMD State abfragen
« Antwort #13 am: 25 März 2017, 22:01:58 »
Hi Boris,

jetzt habe ich ein update des 66_ECMD.pm + 67_ECMDDevice.pm gemacht:

2017.03.25 21:52:57 5: Arduino: sending command 1R10\r\n (\061\122\061\060\015\012)
2017.03.25 21:52:57 5: Arduino: write 1R10\r\n (\061\122\061\060\015\012)
2017.03.25 21:52:57 5: SW: 315231300d0a
2017.03.25 21:52:57 5: Arduino: read 1R10 (\061\122\061\060)
2017.03.25 21:52:57 5: Arduino: Spontaneously received 1R10 (\061\122\061\060)
2017.03.25 21:52:57 5: Arduino dispatch 1R10
2017.03.25 21:52:57 5: Arduino: partial message \r\n (\015\012) expired.
2017.03.25 21:52:57 5: Arduino: trying to match message 1R10 (\061\122\061\060)
2017.03.25 21:52:57 5: Arduino: 1R10 (\061\122\061\060) matches regex 1R10 for reading on of device R10 with class rel
2017.03.25 21:52:57 5: Arduino: read \r\n (\015\012)
2017.03.25 21:52:57 5: Arduino: Spontaneously received \r\n (\015\012)
2017.03.25 21:52:57 5: Arduino dispatch

2017.03.25 21:52:57 5: Arduino: trying to match message \r\n (\015\012)
2017.03.25 21:52:57 5: Arduino: partial message \r\n (\015\012) kept
2017.03.25 21:53:03 5: Arduino: sending command 0R10\r\n (\060\122\061\060\015\012)
2017.03.25 21:53:03 5: Arduino: write 0R10\r\n (\060\122\061\060\015\012)
2017.03.25 21:53:03 5: SW: 305231300d0a
2017.03.25 21:53:03 5: Arduino: read 0R (\060\122)
2017.03.25 21:53:03 5: Arduino: Spontaneously received 0R (\060\122)
2017.03.25 21:53:03 5: Arduino dispatch 0R
2017.03.25 21:53:03 5: Arduino: partial message \r\n (\015\012) expired.
2017.03.25 21:53:03 5: Arduino: trying to match message 0R (\060\122)
2017.03.25 21:53:03 5: Arduino: partial message 0R (\060\122) kept
2017.03.25 21:53:03 5: Arduino: read 10\r\n (\061\060\015\012)
2017.03.25 21:53:03 5: Arduino: Spontaneously received 10\r\n (\061\060\015\012)
2017.03.25 21:53:03 5: Arduino dispatch 10

2017.03.25 21:53:03 5: Arduino: merging partial message 0R (\060\122) and 10\r\n (\061\060\015\012)
2017.03.25 21:53:03 5: Arduino: trying to match message 0R10\r\n (\060\122\061\060\015\012)
2017.03.25 21:53:03 5: Arduino: partial message 0R10\r\n (\060\122\061\060\015\012) kept

nun sind deutlich mehr Infos zu sehen

VG Alex
RasPi B v2 mit FHEM V5.7 3x18B20 über 1Wire,  CUL868, 4xIT-Schalter, 6xELRO-Schalter, 6xReed-Kontakte, 2xMAX-Fensterkontakt, 3xMAX-Thermostate, 2xMAX-Wandthermostate
PID20, RPI_GPIO, HCW, Alarm, Pushover, GPIO4, MAX, ECMD,IT, AT,

Offline Dr. Boris Neubert

  • Global Moderator
  • Hero Member
  • ****
  • Beiträge: 3738
Antw:Mit ECMD State abfragen
« Antwort #14 am: 31 März 2017, 20:21:45 »
Warum 1R10, wenn in deiner Definition 11 als Parameter angegeben ist?

Kannst Du bitte noch den Match auf

0R%pin\r\n

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

 

decade-submarginal