FHEM unter Win7 64 bit

Begonnen von Guest, 07 Oktober 2011, 20:32:00

Vorheriges Thema - Nächstes Thema

Guest

Originally posted by: <email address deleted>

Guten Tag,

ich beschäftige (habe WS 300 PC II von ELV) mich seit einigen Tagen
mit FHEM und habe mir die wiki und die fhem Page angesehen. Verstanden
habe ich nur 20%. In dieser NG las ich, dass hier einige die Sache
unter Win7 am Rennen haben. Allerdings ist mir nicht klar ob darunter
auch 64bit OSe sind.
Da in meinem Entwicklerrechner 16GB RAM stecken, läuft bei mir Win7 64
bit.
Das dies ein Problem sein wird, war mir schon klar, daher habe ich
unter VMWare Server 2.0 eine Win7 VM genommen, dort erscheint die
WS300 aber nicht im Gerätemanager. Also alles auf dem Echtsystem:

Ich habe dann diese beiden Anleitungen verwendet, um überhaupt
ansatzweise durchzublicken, was man tun muss:

http://www.russellallen.info/post/FHEM-Setup-on-Windows-Home-Server.aspx
http://fhemwiki.de/index.php/Windows_-_FHEM_installieren

Verwendet habe ich aktuell: Strawberry Perl 64bit
nur damit bekomme ich bei: cpan Win32::SerialPort
mitten drin: Warning: prerequisite Win32::API 0 not found.
und dann logischer weise am Ende einen Misserfolg,

Obwohl ich nur USB-Geräte habe und mir nicht klar ist, wozu ich einen
Seriellen Treiber benötige.
Es scheint aber so, dass ich ihn brauche. Warum auch immer.

Der Doku entnahm ich, dass ich in der Weboberfläche folgendes cmd
absetzen muss:

 define WS300Device  WS300   /dev/ttyUSB1

wobei ich nicht einmal weiß, wie ich im Windows Gerätemanager
ermittle, welche Entsprechung eQ-3 WS 300 PC II hat:  /dev/ttyUSBx?
ich sehe dort nur: Port_#0002.Hub_#0005
egal..

setze ich das cmd im Browser ab, dann terminiert der "perl server"
Can't locate object method "new" via package
"Win32::SerialPort" (perhaps you fo
rgot to load "Win32::SerialPort"?) at ./FHEM/50_WS300.pm line 129.

Win32::SerialPort bekomme ich aber nicht ans Rennen, da ich vermutlich
die Bittigkeiten mixe, dass einem nur so schlecht wird.

---------------------------------------------------------------------------------------------

Meine Fragen:

Hat jemand Win7 64bit mit FHEM am laufen?
Wenn ja, mit welcher Perl-Distribution und welcher Bittigkeit?

Käme ich ans Ziel, wenn ich ein 32 Bit Perl verwende?

Wie ermittle ich das x in  /dev/ttyUSBx


Danke




--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

Nachtrag: habe gerade gelesen, dass 64bit gehen müsste aber nicht klappt, da
die win32 API nicht anegpasst wurde.
Mit der 32 bit Version bekomme ich auch den Win32::SerialPort zum laufen.
Nun bleibt nur noch die Frage:

Wie ermittle ich das x in  /dev/ttyUSBx
aus dem Gerätemanager von windows?

Meine config.txt sieht folgendermaßen aus:

attr global logfile c:\strawberry\fhem\fhem.log
attr global modpath .
attr global nofork 1
# "global" keyword at the end of following command allows connection from
any host
attr global port 7072 global
attr global statefile c:\strawberry\fhem\fhem.save
attr global verbose 5

#define CUL CUL com8@9600 1234

define autocreate autocreate

define WEB FHEMWEB 8083 global
define WEBphone FHEMWEB 8084 global
attr WEBphone smallscreen 1
define WEBtablet FHEMWEB 8085 global
attr WEBtablet touchpad 1


Wäre nett, wenn mir jemand helfen könnte

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

Hallo Thomas,

unter Windows gibt es keine /dev/ttyUSB das ist die Gerätebezeichnung für
Linux.
Wenn du für dein Gerät einen virtuellen Com-Port installieren kannst, dann
kannst du es unter Comx ansprechen.
Ob es auch direkt mit USB Ansprechbar ist entzieht sich leider meiner
Kenntnis.

MfG

Volker

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

Hallo Volker,

dass ttys aus der UNIX welt kommen, ist mir natürlich bekannt.

in dem Posting:
https://groups.google.com/forum/#!searchin/fhem-users/WS$20300$20Windows/fhem-users/g9xckc8_-eo/s-YBd7lWGxEJ
steht (Zitat):

Hallo zusammen,
ich habe ein paar Änderungen ins CVS eingescheckt, um die
Lauffähigkeit unter Windows zu ermöglichen(FHZ, EM und WS300):
1. Ersetzen des statische "use Device::SerialPort; new ..." durch if
($^O=~/Win/) {
eval ("use Win32::SerialPort;");
my $po = new Win32::SerialPort ($DeviceName);
}else{
eval ("use Device::SerialPort;");
my $po = new Device::SerialPort ($DeviceName);
}

Demnach ist das ganze unter Windows prinzipiell lauffähig ..

d.h., hier wird scheinbar auf die COM-Ports von Windows gemappt (habe aber
0,00% Perl-Kentnisse -> programmiere nur in c und vb)

somit wäre auch die Frage beantwortet, wozu ich Win32::SerialPort benötige


D.h., ich muss irgendwo einen seriellen Treiber für die WS300 auftreiben,
mit dem das Teil dann im Gerätemanager als COMx erscheint?

Frage:

Woher bekomme ich denn diesen Treieber? Das gleiche Problem hätte ich dann
doch auch unter Linux, da hängt das Gerät doch ebenfalls an der
USB-Schnittstelle?

Gruß Thomas

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

könnte das ein FTDI-Treiber sein?

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

Hallo Thomas,

um welchen chip es sich handelt müsste man im Windows Geräte-Manager
herausfinden können.

Habe mir gerade mal die Windows Software für die WS300 angeschaut, im Ordner
Drivers sind die FTDI-Files drin. ftdiport.inf müsste dann einen virtuellen
Com-Port erzeugen. Falls nicht schon bei der Installation geschehen.

Unter Linux hast du ja dann ein /dev/ttyUSBx Gerät welches du benutzen
kannst.


MfG

Volker

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

Hallo Volker, danke für die Info.

Die Sache scheint recht aussichtslos:

beim letzten Treiber (2.4.16.1) den ich unter Win7 64 zum Laufen bekomme,
gibt es ein Kreuz bei [VCP]. Wenn ich dass ankreuze und noch
von http://www.ftdichip.com/Drivers/VCP.htm
2.08.14 WHQL Certified installiere,
erscheint ein neues Gerät USB Serial Port
wenn ich gemäß der Anleitung
http://www.ftdichip.com/Support/Documents/InstallGuides.htm
dem Seriellen USB Gerät den Treiber der WS 300 installiere, dann fängt er an
zu installieren und rödelt einige Minuten und sagt dann,
dass er wegen Zeitüberschreitung nicht installieren kann

Habe das ganze noch auf Win7 32 Bit getestet. Gleiches Verhalten ..

Ich werde mal einige ältere Treiber testen und muss dann wohl in den sauren
Apfel beissen, eine physische Linux Maschine zu installieren.


Frage: Läuft das Gerät wenigstens unter LINUX? Welche Distribution ist am
empfehlenswertesten für einen DAU?

Gruß Thomas

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

so, auf dem 3. Windows PC habe ich nun eine Com 11 mit dem WS300

was muss ich nun unter Windows tun, um das Gerät mit seiner Schnittstelle
Com 11
an FHEM zu übergeben?

Volker, könntest Du mir das kurz mitteilen?

Danke

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

Hallo Thomas,

probiere es mal mit Aufnahme der Zeile

define WS300Device  WS300 com11@9600 1234

in der fhem.cfg.

Gruß
Markus

P.S. Bei mir läuft FHEM mit ActivePerl unter Win 7 64bit

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

Hallo Markus,

danke für den Hinweis. Bei mir läuft leider Strawberry Perl.

Deine Zeile scheint korrekt zu sein, wenn ich damit starte kommt aber
folgender Fehler:

C:\strawberry\fhem>perl fhem.pl config.txt
Das System kann die angegebene Datei nicht finden.
can't open device: com11@9600
 at ./FHEM/50_WS300.pm line 129

mein Log:

2011.10.09 16:16:27 5: Cmd: >attr global logfile
c:\strawberry\fhem\fhem.log<
2011.10.09 16:16:27 5: Cmd: >attr global modpath .<
2011.10.09 16:16:27 5: Loading ./FHEM/99_SUNRISE_EL.pm
2011.10.09 16:16:27 5: Loading ./FHEM/99_Utils.pm
2011.10.09 16:16:27 5: Loading ./FHEM/99_XmlList.pm
2011.10.09 16:16:27 5: Loading ./FHEM/99_updatefhem.pm
2011.10.09 16:16:27 5: Cmd: >attr global nofork 1<
2011.10.09 16:16:27 5: Cmd: >attr global port 7072 global<
2011.10.09 16:16:27 5: Cmd: >attr global statefile
c:\strawberry\fhem\fhem.save<
2011.10.09 16:16:27 5: Cmd: >attr global verbose 5<
2011.10.09 16:16:27 5: Cmd: >define WS300Device  WS300 com11@9600 1234<
2011.10.09 16:16:27 5: Loading ./FHEM/50_WS300.pm
2011.10.09 16:16:27 1: Error opening WS300 Device com11@9600
2011.10.09 16:16:27 1: define: Can't open com11@9600:

2011.10.09 16:16:27 5: Cmd: >define autocreate autocreate<
2011.10.09 16:16:27 5: Loading ./FHEM/98_autocreate.pm
2011.10.09 16:16:27 5: Triggering global (1 changes)
2011.10.09 16:16:27 5: global trigger: Checking autocreate for notify
2011.10.09 16:16:27 5: Cmd: >define WEB FHEMWEB 8083 global<
2011.10.09 16:16:27 5: Loading ./FHEM/01_FHEMWEB.pm
2011.10.09 16:16:27 2: FHEMWEB port 8083 opened
2011.10.09 16:16:27 5: Triggering global (1 changes)
2011.10.09 16:16:27 5: global trigger: Checking autocreate for notify
2011.10.09 16:16:27 5: Cmd: >define WEBphone FHEMWEB 8084 global<
2011.10.09 16:16:27 2: FHEMWEB port 8084 opened
2011.10.09 16:16:27 5: Triggering global (1 changes)
2011.10.09 16:16:27 5: global trigger: Checking autocreate for notify
2011.10.09 16:16:27 5: Cmd: >attr WEBphone smallscreen 1<
2011.10.09 16:16:27 5: Cmd: >define WEBtablet FHEMWEB 8085 global<
2011.10.09 16:16:27 2: FHEMWEB port 8085 opened
2011.10.09 16:16:27 5: Triggering global (1 changes)
2011.10.09 16:16:27 5: global trigger: Checking autocreate for notify
2011.10.09 16:16:27 5: Cmd: >attr WEBtablet touchpad 1<
2011.10.09 16:16:27 1: configfile: Can't open com11@9600:

2011.10.09 16:16:27 5: Triggering global (1 changes)
2011.10.09 16:16:27 5: global trigger: Checking autocreate for notify
2011.10.09 16:16:27 0: Server started (version 5.1 from 2011-07-08 ($Id:
fhem.pl,v 1.145 2011-07-07 08:46:28 rudolfkoenig Exp $), pid 6800)

Der Port com11 ist aber da. Wenn ich mit einem Portmonitor logge, dann sehe
ich aber, dass der Port garnicht angesprochen wird.

Vorher hatte ich versentlich die falsche Zeile abgesetzt:

define CUL          CUL   com11@9600 1234

und das zweite CUL vergessen gegen WS300 zu tauschen.

Dabei habe ich mir mit einem Seriellen Portmonitor die Kommunikation
angesehen und mitbekommen, dass FHEM
die Sequenz V \LF \LF (hex: 56 0A 0A) sendet, ohne allerdings eine Antwort
zu bekommen, da dies scheinbar die Versionsabfrage für eine CUL  ist ..

D.h., das Serielle Port funktioniert scheinbar.

Irgendwas muss dann an meiner Config faul sein. Allerdings habe auch keine
richtige Ahnung von FHEM.

Hast Du eine Idee?

Ich habe nur die WS300 und noch nie etwas mit FHEM gemacht.

Muss ich evtl auch Perl-Ebene noch ein COM-Device erstellen?
Gibt es irgendwo eine Perl-Testroutine, um die WS300 unter Windows ComXX
abzufragen?

Ich weiß nun quasi nicht mehr weiter und hätte nur noch die Idee auf
ActivePerl zu testen, aber da laufe ich bestimmt in die gleichen oder in
andere Probleme.

Gruß Thomas




--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

Nachtrag:

$po = new Win32::SerialPort ($DeviceName);        Zeile 129


--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

Hallo Thomas,

ich wollte auch zuerst fhem mit dem perl aus xampp zum Laufen bringen
und habe es nicht geschafft. Mit ActivePerl lief es sofort problemlos.
Somit wäre es einen Versuch wert.
Da ich keine WS300 habe, kann ich Dir sonst nicht weiterhelfen.

Gruß
Markus

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

So, nun wird das Gerät in FHEM angezeigt, aber mehr auch nicht ..

Die define Zeile lautet aber nicht

define WS300Device  WS300 com11@9600 1234

sondern läuft bei mir nur unter Weglassung von @:

define WS300Device  WS300 com11 1234

Im Com-Monitor sehe ich, dass Daten an die WS300 gesendet werden, selbige
antwortet aber nicht!

FE 32 FC (hex)

Im Protokoll steht RAW 0

Auf der Webseite steht dann unter

STATE    timeout


Nun weiss ich wirklich nicht mehr weiter..




--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com