Neue Module ECMD und ECMDDevice (Ethersex) für fhem

Begonnen von Dr. Boris Neubert, 23 Januar 2011, 00:42:58

Vorheriges Thema - Nächstes Thema

Guest

Originally posted by: <email address deleted>

Hallo Boris,

danke für Deinen Hilfeversuch. Deine Tests habe ich wie gewünscht
durchgeführt.
Die COM1 Schnittstelle habe ich in der Zeit an einem 2ten PC immer
abgehört.
Es ist nichts angekommen.
Hier die Ergebnisse:

> Das ist merkwürdig. Hast Du fhem schon mal ohne den ECMD-Teil am laufen
> gehabt? Bitte wie folgt testen:
> 1. Minimalkonfiguration
min.cfg
attr global logfile c:/fhem-5.0/tmp/fhem-min.log
attr global modpath .
attr global nofork 1
attr global port 7072 global
attr global room hidden
attr global statefile c:/fhem-5.0/tmp/fhem-min.save
attr global userattr fm_fav fm_name fm_order fm_groups
attr global verbose 3

define WEB FHEMWEB 8085 global
attr WEB nofork 1
attr WEB refresh 0
attr WEB room hidden

define WEBS FHEMWEB 8086 global
attr WEBS nofork 1
attr WEBS room hidden
attr WEBS smallscreen 1

define Logfile FileLog c:/fhem-5.0/tmpfhem-%Y-%m.log fakelog
attr Logfile room hidden

define CUL CUL com5@38400 0505
attr CUL room hidden

Ergebnis:
PGM2 geht, Putty Telnetzugang okay

fhem-min.log:
2011.03.31 19:33:14 2: FHEMWEB port 8085 opened
2011.03.31 19:33:14 2: FHEMWEB port 8086 opened
2011.03.31 19:33:14 3: CUL opening CUL device com5
2011.03.31 19:33:14 3: CUL setting CUL baudrate to 38400
2011.03.31 19:33:15 3: CUL device opened
2011.03.31 19:33:15 0: Server started (version =VERS= from =DATE=
($Id: fhem.pl,v 1.136 2011-03-10 17:42:01 rudolfkoenig Exp $), pid
3824)

# # #
> 2. wie 1 plus Anlage des ECMD-Geräts
min.cfg + folgende Zeilen am Ende
define mySerialDevice ECMD serial COM1@9600
set mySerialDevice classdef HZCOM1 c:/fhem-5.0/HZCOM1.classdef

Ergebnis:
PGM2 geht NICHT, Kein Telnet (verbinden geht aber keine
Reaktion auf Eingaben)

fhem-min.log
2011.03.31 19:37:47 2: FHEMWEB port 8085 opened
2011.03.31 19:37:47 2: FHEMWEB port 8086 opened
2011.03.31 19:37:47 3: CUL opening CUL device com5
2011.03.31 19:37:47 3: CUL setting CUL baudrate to 38400
2011.03.31 19:37:47 3: CUL device opened
2011.03.31 19:37:47 3: ECMD opening mySerialDevice (protocol serial,
device COM1@9600)
2011.03.31 19:37:47 3: CUL setting mySerialDevice baudrate to 9600
2011.03.31 19:37:47 3: ECMD device opened

# # #
> 3. wie 2 plus Anlage des ECMDDevice-Geräts
min.cfg + folgende Zeilen am Ende
define mySerialDevice ECMD serial COM1@9600
set mySerialDevice classdef HZCOM1 c:/fhem-5.0/HZCOM1.classdef
define myHZCOM1 ECMDDevice HZCOM1

Ergebnis:
PGM2 geht NICHT, Kein Telnet (verbinden geht aber keine
Reaktion auf Eingaben)

fhem-min.log
2011.03.31 20:27:01 2: FHEMWEB port 8085 opened
2011.03.31 20:27:01 2: FHEMWEB port 8086 opened
2011.03.31 20:27:02 3: CUL opening CUL device com5
2011.03.31 20:27:02 3: CUL setting CUL baudrate to 38400
2011.03.31 20:27:02 3: CUL device opened
2011.03.31 20:27:05 3: ECMD opening mySerialDevice (protocol serial,
device COM1@9600)
2011.03.31 20:27:05 3: CUL setting mySerialDevice baudrate to 9600
2011.03.31 20:27:05 3: ECMD device opened

Gruß Mark

--
Sie haben diese Nachricht erhalten, da Sie der Google Groups-Gruppe FHEM users beigetreten sind.
Wenn Sie Nachrichten in dieser Gruppe posten möchten, senden Sie eine E-Mail an fhem-users@googlegroups.com.
Wenn Sie aus dieser Gruppe austreten möchten, senden Sie eine E-Mail an fhem-users+unsubscribe@googlegroups.com.
Besuchen Sie die Gruppe unter http://groups.google.com/group/fhem-users?hl=de, um weitere Optionen zu erhalten.

Dr. Boris Neubert

                                             

Am 31.03.2011 20:39, schrieb Mark:
>> 2. wie 1 plus Anlage des ECMD-Geräts
> min.cfg + folgende Zeilen am Ende
> define mySerialDevice ECMD serial COM1@9600
> set mySerialDevice classdef HZCOM1 c:/fhem-5.0/HZCOM1.classdef
>
> Ergebnis:
> PGM2 geht NICHT, Kein Telnet (verbinden geht aber keine
> 2011.03.31 19:37:47 3: ECMD device opened

Ich vermute ein Problem mit Zeile 370 in 66_ECMD.pm:

     last if($err && $err =~ m/^Timeout/);


Bitte füge davor folgende Zeile ein:

Log 1, "DEBUG: " . $err;

Dann zeige uns bitte das Protokoll.

Grüße,
Boris

--
Sie haben diese Nachricht erhalten, da Sie der Google Groups-Gruppe FHEM users beigetreten sind.
Wenn Sie Nachrichten in dieser Gruppe posten möchten, senden Sie eine E-Mail an fhem-users@googlegroups.com.
Wenn Sie aus dieser Gruppe austreten möchten, senden Sie eine E-Mail an fhem-users+unsubscribe@googlegroups.com.
Besuchen Sie die Gruppe unter http://groups.google.com/group/fhem-users?hl=de, um weitere Optionen zu erhalten.
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

Guest

Originally posted by: <email address deleted>

> Dann zeige uns bitte das Protokoll.

2011.03.31 21:38:31 2: FHEMWEB port 8085 opened
2011.03.31 21:38:31 2: FHEMWEB port 8086 opened
2011.03.31 21:38:31 3: CUL opening CUL device com5
2011.03.31 21:38:31 3: CUL setting CUL baudrate to 38400
2011.03.31 21:38:31 3: CUL device opened
2011.03.31 21:38:34 3: ECMD opening mySerialDevice (protocol serial,
device COM1@9600)
2011.03.31 21:38:34 3: CUL setting mySerialDevice baudrate to 9600
2011.03.31 21:38:34 3: ECMD device opened
2011.03.31 21:38:34 1: DEBUG: Device lost when reading answer for get
clear
2011.03.31 21:38:34 1: DEBUG: Device lost when reading answer for get
clear

Die letzte Meldung wiederholt sich (470.000x in ein paar Sekunden)

Gruß Mark

--
Sie haben diese Nachricht erhalten, da Sie der Google Groups-Gruppe FHEM users beigetreten sind.
Wenn Sie Nachrichten in dieser Gruppe posten möchten, senden Sie eine E-Mail an fhem-users@googlegroups.com.
Wenn Sie aus dieser Gruppe austreten möchten, senden Sie eine E-Mail an fhem-users+unsubscribe@googlegroups.com.
Besuchen Sie die Gruppe unter http://groups.google.com/group/fhem-users?hl=de, um weitere Optionen zu erhalten.

Dr. Boris Neubert

                                             

Am 31.03.2011 21:42, schrieb Mark:
> 2011.03.31 21:38:34 1: DEBUG: Device lost when reading answer for get
> clear

OK, ich weiß, was fhem zum Hängen bringt. Es liegt daran, daß der
Filedescriptor unter Windows verschwindet. Der entsprechende Kode, den
ich aus dem CUL-Kode herauskopiert hat, deutet daraufhin, daß dem
ursprünglichen Autor das Problem bekannt ist. Ich werde in den nächsten
Tagen eine aktualisierte Version einchecken, um den Hänger zu
beseitigen. Der Sache mit dem "Device lost" muß separat betrachtet werden.

Grüße,
Boris

--
Sie haben diese Nachricht erhalten, da Sie der Google Groups-Gruppe FHEM users beigetreten sind.
Wenn Sie Nachrichten in dieser Gruppe posten möchten, senden Sie eine E-Mail an fhem-users@googlegroups.com.
Wenn Sie aus dieser Gruppe austreten möchten, senden Sie eine E-Mail an fhem-users+unsubscribe@googlegroups.com.
Besuchen Sie die Gruppe unter http://groups.google.com/group/fhem-users?hl=de, um weitere Optionen zu erhalten.
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

Guest

Originally posted by: <email address deleted>

Okay, danke für das Update.

Schönes Wochenende.

Gruß Mark

--
Sie haben diese Nachricht erhalten, da Sie der Google Groups-Gruppe FHEM users beigetreten sind.
Wenn Sie Nachrichten in dieser Gruppe posten möchten, senden Sie eine E-Mail an fhem-users@googlegroups.com.
Wenn Sie aus dieser Gruppe austreten möchten, senden Sie eine E-Mail an fhem-users+unsubscribe@googlegroups.com.
Besuchen Sie die Gruppe unter http://groups.google.com/group/fhem-users?hl=de, um weitere Optionen zu erhalten.

Dr. Boris Neubert

                                             

Bitte neue Version von 66_ECMD.pm aus CVS abrufen!

Für die nächsten Versuche bitte

attr global verbose 5

setzen.

Grüße,
Boris

--
Sie haben diese Nachricht erhalten, da Sie der Google Groups-Gruppe FHEM users beigetreten sind.
Wenn Sie Nachrichten in dieser Gruppe posten möchten, senden Sie eine E-Mail an fhem-users@googlegroups.com.
Wenn Sie aus dieser Gruppe austreten möchten, senden Sie eine E-Mail an fhem-users+unsubscribe@googlegroups.com.
Besuchen Sie die Gruppe unter http://groups.google.com/group/fhem-users?hl=de, um weitere Optionen zu erhalten.
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

Guest

Originally posted by: <email address deleted>

Hallo Boris
> Bitte neue Version von 66_ECMD.pm aus CVS abrufen!
>
> Für die nächsten Versuche bitte
>
> attr global verbose 5
Sieht schonmal gut aus !
Bei dem Versuch habe ich wieder die Schnittstelle beobachtet
set myHZCOM1 on und off senden die eingestellten Befehle.

Windows cmd:
set myHZCOM1 on liefert:
C:\fhem-5.0>fhem min.cfg
Use of uninitialized value $text in concatenation (.) or string at C:
\fhem-5.0\f
hem.pl line 522.
Use of uninitialized value $r[0] in join or string at ./FHEM/
66_ECMD.pm line 600
.
direkt danach set myHZCOM1 off liefert
Use of uninitialized value $text in concatenation (.) or string at C:
\fhem-5.0\f
hem.pl line 522.
Use of uninitialized value $r[0] in join or string at ./FHEM/
66_ECMD.pm line 600
.

HZCOM1.classdef:
set on cmd { "3" }
set off cmd { "3 3 off" }

fhem-min.log:
2011.04.01 23:08:25 5: Cmd: >attr global logfile c:/fhem-5.0/tmp/fhem-
min.log<
2011.04.01 23:08:25 5: Cmd: >attr global modpath .<
2011.04.01 23:08:25 5: Loading ./FHEM/99_SUNRISE_EL.pm
2011.04.01 23:08:25 5: Loading ./FHEM/99_Utils.pm
2011.04.01 23:08:25 5: Loading ./FHEM/99_XmlList.pm
2011.04.01 23:08:25 5: Cmd: >attr global nofork 1<
2011.04.01 23:08:25 5: Cmd: >attr global port 7072 global<
2011.04.01 23:08:25 5: Cmd: >attr global room hidden<
2011.04.01 23:08:25 5: Cmd: >attr global statefile c:/fhem-5.0/tmp/
fhem-min.save<
2011.04.01 23:08:25 5: Cmd: >attr global userattr fm_fav fm_name
fm_order fm_groups<
2011.04.01 23:08:25 5: Cmd: >attr global verbose 5<
2011.04.01 23:08:25 5: Cmd: >define WEB FHEMWEB 8085 global<
2011.04.01 23:08:25 5: Loading ./FHEM/01_FHEMWEB.pm
2011.04.01 23:08:25 2: FHEMWEB port 8085 opened
2011.04.01 23:08:25 5: Triggering global (1 changes)
2011.04.01 23:08:25 5: Cmd: >attr WEB nofork 1<
2011.04.01 23:08:25 5: Cmd: >attr WEB refresh 0<
2011.04.01 23:08:25 5: Cmd: >attr WEB room hidden<
2011.04.01 23:08:25 5: Cmd: >define WEBS FHEMWEB 8086 global<
2011.04.01 23:08:25 2: FHEMWEB port 8086 opened
2011.04.01 23:08:25 5: Triggering global (1 changes)
2011.04.01 23:08:25 5: Cmd: >attr WEBS nofork 1<
2011.04.01 23:08:25 5: Cmd: >attr WEBS room hidden<
2011.04.01 23:08:25 5: Cmd: >attr WEBS smallscreen 1<
2011.04.01 23:08:25 5: Cmd: >define Logfile FileLog c:/fhem-5.0/
tmpfhem-%Y-%m.log fakelog<
2011.04.01 23:08:25 5: Loading ./FHEM/92_FileLog.pm
2011.04.01 23:08:25 5: Triggering global (1 changes)
2011.04.01 23:08:25 5: global trigger: Checking Logfile for notify
2011.04.01 23:08:25 5: Cmd: >attr Logfile room hidden<
2011.04.01 23:08:25 5: Cmd: >define CUL CUL com5@38400 0505<
2011.04.01 23:08:25 5: Loading ./FHEM/00_CUL.pm
2011.04.01 23:08:25 3: CUL opening CUL device com5
2011.04.01 23:08:25 3: CUL setting CUL baudrate to 38400
2011.04.01 23:08:25 3: CUL device opened
2011.04.01 23:08:25 5: CUL/RAW (ReadAnswer): V 1.40 CUL868


2011.04.01 23:08:28 5: CUL/RAW (ReadAnswer): 0505


2011.04.01 23:08:28 5: GOT CUL fhtid: 0505
2011.04.01 23:08:28 5: Triggering global (1 changes)
2011.04.01 23:08:28 5: global trigger: Checking Logfile for notify
2011.04.01 23:08:28 5: Cmd: >attr CUL room hidden<
2011.04.01 23:08:28 5: Cmd: >define mySerialDevice ECMD serial
COM1@9600<
2011.04.01 23:08:28 5: Loading ./FHEM/66_ECMD.pm
2011.04.01 23:08:28 3: ECMD opening mySerialDevice (protocol serial,
device COM1@9600)
2011.04.01 23:08:28 3: ECMD setting mySerialDevice baudrate to 9600
2011.04.01 23:08:28 3: ECMD device opened
2011.04.01 23:08:28 5: Triggering global (1 changes)
2011.04.01 23:08:28 5: global trigger: Checking Logfile for notify
2011.04.01 23:08:28 5: Cmd: >set mySerialDevice classdef HZCOM1 c:/
fhem-5.0/HZCOM1.classdef<
2011.04.01 23:08:28 5: mySerialDevice: adding new class HZCOM1 from
file c:/fhem-5.0/HZCOM1.classdef
2011.04.01 23:08:28 5: mySerialDevice: evaluating >set on cmd { "3" }<
2011.04.01 23:08:28 5: mySerialDevice: set on defined as { "3" }
2011.04.01 23:08:28 5: mySerialDevice: evaluating >set off cmd { "3 3
off" }<
2011.04.01 23:08:28 5: mySerialDevice: set off defined as { "3 3
off" }
2011.04.01 23:08:28 5: Triggering mySerialDevice (1 changes)
2011.04.01 23:08:28 5: mySerialDevice trigger: Checking Logfile for
notify
2011.04.01 23:08:28 5: Cmd: >define myHZCOM1 ECMDDevice HZCOM1<
2011.04.01 23:08:28 5: Loading ./FHEM/67_ECMDDevice.pm
2011.04.01 23:08:28 5: Triggering global (1 changes)
2011.04.01 23:08:28 5: global trigger: Checking Logfile for notify
2011.04.01 23:08:28 5: Triggering global (1 changes)
2011.04.01 23:08:28 5: global trigger: Checking Logfile for notify
2011.04.01 23:08:28 0: Server started (version =VERS= from =DATE=
($Id: fhem.pl,v 1.136 2011-03-10 17:42:01 rudolfkoenig Exp $), pid
4840)
2011.04.01 23:08:35 4: Connection accepted from FHEMWEB:
217.255.166.49:1641
2011.04.01 23:08:35 5: Loading ./FHEM/98_SVG.pm
2011.04.01 23:08:35 4: HTTP FHEMWEB:217.255.166.49:1641 GET /fhem
2011.04.01 23:08:47 5: CUL/RAW: /K71569166FB

Gruß Mark

--
Sie haben diese Nachricht erhalten, da Sie der Google Groups-Gruppe FHEM users beigetreten sind.
Wenn Sie Nachrichten in dieser Gruppe posten möchten, senden Sie eine E-Mail an fhem-users@googlegroups.com.
Wenn Sie aus dieser Gruppe austreten möchten, senden Sie eine E-Mail an fhem-users+unsubscribe@googlegroups.com.
Besuchen Sie die Gruppe unter http://groups.google.com/group/fhem-users?hl=de, um weitere Optionen zu erhalten.

Guest

Originally posted by: <email address deleted>

Moin :-)

Das Schalten mit der 3 funktioniert.
Wird ein Leerzeichen gesendet " ", antwortet die Steuerung mit einem
Status,
Sa 10:36      6%
Ts=+51ß Tk=+48ßC@
den ich natürlich gerne in ein Logdatei zur späteren Auswertung
schreiben möchte.
Den filelog habe ich definiert
define FileLog_myHZCOM1 FileLog c:/fhem-5.0/tmp/HZCOM1-%Y.log myHZCOM1

Ein get in die classdef eingefügt
get value cmd {" "}
get value params
das liefert leider keine Ergebnisse.


Vielleicht kann man auch gleich die Antwort der Steuerung
verwenden.
ßC6 = Abwesend ßC5 = Nacht ßC@ = Tag
Ta = Aussentemteratur
Tk = Kesseltemperatur
6% = heutige Laufzeit

Gesendet: "3 "
Antwort:
Sa 10 38      6%
Ta=+16ß Tk=+48ßC6
Gesendet: "3 "
Antwort:
Sa 10:38      6%
Ts=+30ß Tk=+48ßC5
Gesendet: "3 "
Antwort:
Sa 10 38      6%
Ts=+10ß Tk=+48ßC@

Viel Fragen ;-) Freue mich weiter über Tipps und Anregungen.

Sonnige Grüße

Mark

--
Sie haben diese Nachricht erhalten, da Sie der Google Groups-Gruppe FHEM users beigetreten sind.
Wenn Sie Nachrichten in dieser Gruppe posten möchten, senden Sie eine E-Mail an fhem-users@googlegroups.com.
Wenn Sie aus dieser Gruppe austreten möchten, senden Sie eine E-Mail an fhem-users+unsubscribe@googlegroups.com.
Besuchen Sie die Gruppe unter http://groups.google.com/group/fhem-users?hl=de, um weitere Optionen zu erhalten.

Dr. Boris Neubert

                                             

Hallo,

Am 02.04.2011 10:47, schrieb Mark:
> Ein get in die classdef eingefügt
> get value cmd {" "}
> get value params

Die zweite Zeile ist überflüssig. Bitte weglassen.

> das liefert leider keine Ergebnisse.

In Zeile 596 von 66_ECMD.pm ist ein Tippfehler. Entweder neue
CVS-Version abrufen oder aus "'ecmd" ein "$ecmd" machen. Danach wieder
mit Level 5 debuggen und die Ausschnitte aus dem Log nach den set- und
get-Kommandos zeigen.

> Vielleicht kann man auch gleich die Antwort der Steuerung
> verwenden.

Die sollte als Reading "value" bzw. auch schon bei "on" und "off"
stehen. Bei mir sieht das beispielsweise so aus:


list 3.dz.roll1
Internals:
   DEF        VeluxRC 3 4 5
   IODev      AVRNETIO
   NAME       3.dz.roll1
   NR         9
   STATE      up: OK;OK;OK;OK
   TYPE       ECMDDevice
   Readings:
     2011-04-01 08:28:26   stop            OK;OK;OK;OK
     2011-04-02 08:00:02   up              OK;OK;OK;OK
     Down:
       TIME       2011-03-30 12:06:27
       VAL
   Fhem:
     classname  VeluxRC
     Params:
       btndown    5
       btnstop    4
       btnup      3
Attributes:
   room       3-DG

Viele Grüße,
Boris

--
Sie haben diese Nachricht erhalten, da Sie der Google Groups-Gruppe FHEM users beigetreten sind.
Wenn Sie Nachrichten in dieser Gruppe posten möchten, senden Sie eine E-Mail an fhem-users@googlegroups.com.
Wenn Sie aus dieser Gruppe austreten möchten, senden Sie eine E-Mail an fhem-users+unsubscribe@googlegroups.com.
Besuchen Sie die Gruppe unter http://groups.google.com/group/fhem-users?hl=de, um weitere Optionen zu erhalten.
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

Guest

Originally posted by: <email address deleted>

Hallo Boris,
> mit Level 5 debuggen und die Ausschnitte aus dem Log nach den set-
Windows CMD:
C:\fhem-5.0>fhem min.cfg
Use of uninitialized value $text in concatenation (.) or string at C:
\fhem-5.0\f
hem.pl line 522.
Use of uninitialized value $r[0] in join or string at ./FHEM/
66_ECMD.pm line 600
.
fhem-min.log:
2011.04.02 22:35:51 5: Cmd: >set myHZCOM1 on<
2011.04.02 22:35:51 5: ECMDDevice: Analyze command >{ "3" }<
2011.04.02 22:35:51 5: mySerialDevice sending 3
2011.04.02 22:35:51 5:
2011.04.02 22:35:51 5: Triggering myHZCOM1 (1 changes)
2011.04.02 22:35:51 5: myHZCOM1 trigger: Checking FileLog_myHZCOM1 for
notify
2011.04.02 22:35:51 5: myHZCOM1 trigger: Checking Logfile for notify
2011.04.02 22:35:51 4: ECMDDevice myHZCOM1 on:

> get-Kommandos zeigen.
Windows CMD:
Use of uninitialized value $text in concatenation (.) or string at C:
\fhem-5.0\f
hem.pl line 522.
Use of uninitialized value $r[0] in join or string at ./FHEM/
66_ECMD.pm line 600
.
fhem-min.log:
2011.04.02 22:39:30 5: Cmd: >get myHZCOM1 value<
2011.04.02 22:39:30 5: ECMDDevice: Analyze command >{" "}<
2011.04.02 22:39:30 5: mySerialDevice sending
2011.04.02 22:39:30 5:
2011.04.02 22:39:30 5: Triggering myHZCOM1 (1 changes)
2011.04.02 22:39:30 5: myHZCOM1 trigger: Checking FileLog_myHZCOM1 for
notify
2011.04.02 22:39:30 5: myHZCOM1 trigger: Checking Logfile for notify
2011.04.02 22:39:30 4: ECMDDevice myHZCOM1 value:

Logfile Inhalt:
2011-04-02_22:35:51 myHZCOM1 on:
2011-04-02_22:39:30 myHZCOM1 value:


> Bei mir sieht das beispielsweise so aus:
Bei mir so:
list myHZCOM1
fhem> list myHZCOM1
Internals:
   DEF        HZCOM1
   IODev      mySerialDevice
   NAME       myHZCOM1
   NR         7
   STATE      value:
   TYPE       ECMDDevice
   Readings:
     2011-04-02 22:35:51   on
     2011-04-02 22:39:30   value
   Fhem:
     classname  HZCOM1
Attributes:

fhem>

Grüße

Mark

--
Sie haben diese Nachricht erhalten, da Sie der Google Groups-Gruppe FHEM users beigetreten sind.
Wenn Sie Nachrichten in dieser Gruppe posten möchten, senden Sie eine E-Mail an fhem-users@googlegroups.com.
Wenn Sie aus dieser Gruppe austreten möchten, senden Sie eine E-Mail an fhem-users+unsubscribe@googlegroups.com.
Besuchen Sie die Gruppe unter http://groups.google.com/group/fhem-users?hl=de, um weitere Optionen zu erhalten.

Dr. Boris Neubert

                                             

Hallo Mark,


Am 02.04.2011 22:45, schrieb Mark:
> Use of uninitialized value $r[0] in join or string at ./FHEM/
> 66_ECMD.pm line 600

deutet daraufhin, daß ECMD_ReadAnswer keine Antwort liefert.

> fhem-min.log:
> 2011.04.02 22:39:30 5: Cmd: >get myHZCOM1 value<
> 2011.04.02 22:39:30 5: ECMDDevice: Analyze command >{" "}<
> 2011.04.02 22:39:30 5: mySerialDevice sending
> 2011.04.02 22:39:30 5:

Was man in der vorstehenden Zeile auch sieht.

Du mußt ab jetzt selbst debuggen. Die Kommunikation läuft in der Routine
ECMD_Write (66_ECMD.pm, Zeilen 586 bis 601) ab. In Zeile 595 wird das
Kommando (ein Space) an die serielle Schnittstelle geschickt und in
Zeile 596 wird die Antwort ausgelesen. Bau mal ein paar
Debugging-Outputs in der Form Log 1, "DEBUG: ich sende " . $ecmd; usw.
ein. Vielleicht mußt Du auch in ECMD_SimpleWrite und _SimpleRead
reinschauen.

Viele Grüße,
Boris

--
Sie haben diese Nachricht erhalten, da Sie der Google Groups-Gruppe FHEM users beigetreten sind.
Wenn Sie Nachrichten in dieser Gruppe posten möchten, senden Sie eine E-Mail an fhem-users@googlegroups.com.
Wenn Sie aus dieser Gruppe austreten möchten, senden Sie eine E-Mail an fhem-users+unsubscribe@googlegroups.com.
Besuchen Sie die Gruppe unter http://groups.google.com/group/fhem-users?hl=de, um weitere Optionen zu erhalten.
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

Guest

Originally posted by: <email address deleted>

Hallo Boris,

> Du mußt ab jetzt selbst debuggen.
Was in meiner Macht liegt habe ich gemacht.

Ergebnis:
Test 1: Dem Terminalprogramm welches den COM1 Port beobachtet habe ich
zusätzlich
die Aufgabe gegeben alle 10ms den Text Antwort zu senden.
get myHZCOM1 Value - Kommt an COM1 an, die Antwort bleibt immer leer.
> deutet daraufhin, daß ECMD_ReadAnswer keine Antwort liefert.
Test 1 bestätigt dies.

Test 2: Ein Perlscript aus dem Internet, welches COM1 Daten mitliest.
Der Text "Antwort" der von dem Terminalprogramm gesendet wird,
wird einwandfrei empfangen.

Weiter eingrenzen kann ich das mit meinen Möglichkeiten / Perl Know
How leider nicht.
Letztendlich kann es nur eine Kleinigkeit bei dem Read Befehl sein.
Theoretisch würde ich jetzt die Zeile 596 in den Read Befehl des
"Logger.pl" Scripts ändern.

Boris, vielleicht kannst Du das mit diesen Informationen umsetzen?

Danke

Gruß Mark

Logger.pl
use strict;
use warnings;
use Win32::SerialPort;

$| = 1;
my ($data, $num);
my $port = Win32::SerialPort->new ('COM1');

  $port->databits(8);
  $port->baudrate(9600);
  $port->parity('none');
  $port->stopbits(1);
  $port->handshake("rts");

#$port->read_interval(100);
#$port->read_const_time(10);

START:
($num, $data) = $port->read(100);
if ($num > 0) {
print $data;
print "\n";
}

goto START;
$port->close();
undef $port;

--
Sie haben diese Nachricht erhalten, da Sie der Google Groups-Gruppe FHEM users beigetreten sind.
Wenn Sie Nachrichten in dieser Gruppe posten möchten, senden Sie eine E-Mail an fhem-users@googlegroups.com.
Wenn Sie aus dieser Gruppe austreten möchten, senden Sie eine E-Mail an fhem-users+unsubscribe@googlegroups.com.
Besuchen Sie die Gruppe unter http://groups.google.com/group/fhem-users?hl=de, um weitere Optionen zu erhalten.

Dr. Boris Neubert

                                             

Hallo Mark,

Am 03.04.2011 20:00, schrieb Mark:
>> Du mußt ab jetzt selbst debuggen.
> Was in meiner Macht liegt habe ich gemacht.

Danke für Deine Rückmeldung.

Anpassungen bei dem Modul möchte ich nicht machen, da ich die von Dir
eingesetzte Kombination (Windows + seriellen Port) nicht testen kann.
Den Code habe ich "blind" aus dem CUL-Modul übernommen. Der
Schreiben-Teil funktioniert ja, der Lesen-Teil aber bei Dir nicht.

Ich schlage vor, daß Du einen neuen Thread aufmachst zu dem spezifischen
Problem, daß Dich plagt. Vielleicht gibt es einen anderen Anwender von
EMCD unter Windows auf seriellem Port, der Dir weiterhelfen kann, oder
einen anderen fhem-Entwickler, der sich mit seriellem Port unter Windows
auskennt.

Sorry.
Boris

--
Sie haben diese Nachricht erhalten, da Sie der Google Groups-Gruppe FHEM users beigetreten sind.
Wenn Sie Nachrichten in dieser Gruppe posten möchten, senden Sie eine E-Mail an fhem-users@googlegroups.com.
Wenn Sie aus dieser Gruppe austreten möchten, senden Sie eine E-Mail an fhem-users+unsubscribe@googlegroups.com.
Besuchen Sie die Gruppe unter http://groups.google.com/group/fhem-users?hl=de, um weitere Optionen zu erhalten.
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

Guest

Originally posted by: <email address deleted>

Hallo Boris,

vielen Dank für Deine Unterstützung.

Wenn ich weiter gekommen bin melde ich mich gerne wieder.

Schönen Abend noch.

Gruß Mark

--
Sie haben diese Nachricht erhalten, da Sie der Google Groups-Gruppe FHEM users beigetreten sind.
Wenn Sie Nachrichten in dieser Gruppe posten möchten, senden Sie eine E-Mail an fhem-users@googlegroups.com.
Wenn Sie aus dieser Gruppe austreten möchten, senden Sie eine E-Mail an fhem-users+unsubscribe@googlegroups.com.
Besuchen Sie die Gruppe unter http://groups.google.com/group/fhem-users?hl=de, um weitere Optionen zu erhalten.

Guest

Originally posted by: <email address deleted>

Hallo Boris,

ich habe eine Lösung gefunden :-)
Zeile 596
        $answer= ECMD_ReadAnswer($hash, "$ecmd");
geändert in:
        $answer= ECMD_SimpleRead($hash);

get myHZCOM1 value liefert dann

value: So 21 39      4%
Ta=+ 6ß Tk=+58ßCD

Nochmal Danke für Deinen Einsatz.

Gruß Mark


--
Sie haben diese Nachricht erhalten, da Sie der Google Groups-Gruppe FHEM users beigetreten sind.
Wenn Sie Nachrichten in dieser Gruppe posten möchten, senden Sie eine E-Mail an fhem-users@googlegroups.com.
Wenn Sie aus dieser Gruppe austreten möchten, senden Sie eine E-Mail an fhem-users+unsubscribe@googlegroups.com.
Besuchen Sie die Gruppe unter http://groups.google.com/group/fhem-users?hl=de, um weitere Optionen zu erhalten.