win und fhem - probieren wirs mal ... machbarkeit, tippsammlung

Begonnen von the ratman, 09 November 2017, 11:20:56

Vorheriges Thema - Nächstes Thema

the ratman

ich will für mich und später mal für andere (hilfe, anleitung erstellen?) mal probieren, was unter win so geht.
kein vm, keine kompromisse. hardcore klicki-bunti solls werden. alles soll per (kostenloser) grafischen tools lösbar/machbar sein. eine console oder 32bit (einfach mal, weil 64 ne schönere zahl is) sollen nur im äussersten notfall verwendung finden.
da ich unter win sicher fitter als unter linux bin, aber trotzdem nicht grad der super admin, eher ein "fortgeschrittener user", such ich natürlich auch hier nach wissenden/weisen und - vielleicht sogar - nach proggern für spezielles in sachen win<->fhem.



was bis jetzt nicht geht:
links im thread für bastler:was bis jetzt geht:

       
  • fhem als win-service (mit adminconsole und auf pfade achten) "C:\Program Files\Perl\bin\perl" C:\fhem\fhem.pl C:\fhem\fhem.cfg -i
  • fhem - shutdown restart, dank win-service
  • perl-modul - json
  • fhem-modul - proplanta
  • fhem-modul - astro (thx pha für deine affenartig flotte anpassung!)
  • fhem-modul - vccu
  • fhem-modul - hmlan (läuft, aber noch nicht mit hw getestet)
  • fhem-modul - hmusb (ohne serial-port wohl sinnlos)
  • fhem-modul - dewpoint
  • fhem-modul - svg
  • fhem-modul - logproxy
  • fhem-modul - dblog
  • fhem-modul - presence (lan-ping)
  • fhem-modul - fb_callmonitor
  • fhem-modul - holiday
  • fhem-modul - calendar
  • fhem-modul - calview (perl-modul TimeDate nachladen)
  • fhem-modul - abfall
  • fhem-modul - readingsgroup
grafische tools:
weiteres:

       
  • wers braucht - ein "heartbeat", der ein file immer neu schreibt, um an dessen erstellungsdatum den tod von fhem oder sonts was ableiten zu können. defmod heartbeat at +*00:00:10 {qx(type nul > fhem.heartbeat)}
→do↑p!dnʇs↓shit←

rudolfkoenig

Kannst du bitte noch testen, ob FHEM als Windows-Service zu aktivieren noch geht?

the ratman

aufgabenplanung:unabhängig von der benutzeranmeldung ausführen

zum ausführen in der aufgabe:
programm starten: "C:\Program Files\Perl\bin\perl.exe"(wenns dort liegt, das verzeichnis in den eigenschften/security für den gewählten user freigeben)

argumente hinzufügen: fhem.pl fhem.cfg

starten in: C:/fhem (oder wo auch immer es liegt)

so rennts bei mir zumindest wunderbar automatisch, ohne dass ein user am desktop angemeldet sein muß.
→do↑p!dnʇs↓shit←

rudolfkoenig

Das mag sein, das meinte ich aber nicht.

Irgendwer hat vor Jahren Code zu fhem.pl beigetragen, damit es mit dem Windows Service Funktionalitaet laeuft, siehe letzten Abschnitt auf https://fhem.de/HOWTO_Windows.html
Ich weiss zwar nicht, ob das noch funktioniert, bzw. ob es noch benoetigt wird. Wenn keiner das braucht, dann wuerde ich es ausbauen.

mahowi

Es gibt Tools für Windows, um Programme als Service laufen zu lassen. Z.B. als kommerzielle Variante FireDaemon oder als OpenSource Launcher Service.
CUBe (MAX): HT, FK | CUBe (SlowRF): ESA2000WZ
JeeLink: LaCrosse | nanoCUL433: Smartwares SHS-51001-EU, EM1000GZ
ZME_UZB1: GreenWave PowerNode, Popp Thermostat | SIGNALDuino: HE877, X10 MS14A, Revolt NC-5462,  IT Steckdosen + PIR
tado° | Milight | HUE, Lightify | SmarterCoffee

herrmannj

Zitat von: rudolfkoenig am 09 November 2017, 12:02:56
Kannst du bitte noch testen, ob FHEM als Windows-Service zu aktivieren noch geht?
und dort dann auto restart ? nur so als Idee :D Ist ja nicht so dass das System neu wäre :P

krikan

Zitat von: rudolfkoenig am 09 November 2017, 13:30:23
Irgendwer hat vor Jahren Code zu fhem.pl beigetragen, damit es mit dem Windows Service Funktionalitaet laeuft, siehe letzten Abschnitt auf https://fhem.de/HOWTO_Windows.html
Ich weiss zwar nicht, ob das noch funktioniert, bzw. ob es noch benoetigt wird. Wenn keiner das braucht, dann wuerde ich es ausbauen.

Das Aktivieren als Service ging zumindest im Juni/Juli 2017 noch problemlos als ich den aktualisierten und zukünftigen Nachfolger der Seite https://fhem.de/HOWTO_Windows.html unter
https://wiki.fhem.de/wiki/FHEM_Installation_Windows/en bzw.
https://wiki.fhem.de/wiki/FHEM_Installation_Windows
miterstellt habe und es laufen hier noch 2 Installationen auf diese Weise.

Getestet aber nicht mit ActivePerl, sondern ausschließlich Strawberry Perl. Also bitte keinesfalls ausbauen.

Auf https://fhem.de/fhem_DE.html ist der Link schon ins Wiki geändert. Auf https://fhem.de/fhem.html ist es noch auf Todo, da ich noch auf Verbesserungen meines "Englisch" in https://wiki.fhem.de/wiki/FHEM_Installation_Windows/en hoffe.


krikan

Zitat von: the ratman am 09 November 2017, 11:20:56
gesucht wird noch ein serialport. der win32:serialport soll ja angeblich auch unter 64bit gehen (hätte ich zumindest mal gelesen), aber ich find den nirgends für activeperl.
Danach https://code.activestate.com/ppm/Win32-SerialPort/ sieht es nicht sehr vielversprechend aus.
Deckt sich mit dem älteren Wikieintrag: https://wiki.fhem.de/wiki/Windows_-_FHEM_installieren#Perl_installieren
Meine Erfahrungen mit 64Bit Strawberry Perl waren auch so, dass ich auf 32Bit umgestiegen bin.

the ratman

viel kann beim service nicht fehlen
hab mir mal den win32-daemon installiertC:\Users\the-ratman>"C:\Program Files\Perl\bin\perl" C:\fhem\fhem.pl C:\fhem\fhem.cfg -i
try to install fhem windows service as: C:\Program Files\Perl\bin\perl.exe C:/fhem/fhem.pl C:/fhem/fhem.cfg
Failed to add fhem service: Der Vorgang wurde erfolgreich beendet.

Note: if you're getting an error: Service is marked for deletion, then close the service control manager window and try again.
zumindest krachts nicht gleich.
→do↑p!dnʇs↓shit←

krikan

Failed to add fhem service: Der Vorgang wurde erfolgreich beendet.
Mehr Rechte bitte  ;)
Starte einmal mit Administratorrechten.

the ratman

ZitatStarte einmal mit Administratorrechten.
upps, falsche console *g*
Microsoft Windows [Version 10.0.16299.19]
(c) 2017 Microsoft Corporation. Alle Rechte vorbehalten.

C:\WINDOWS\system32>"C:\Program Files\Perl\bin\perl" C:\fhem\fhem.pl C:\fhem\fhem.cfg -i
try to install fhem windows service as: C:\Program Files\Perl\bin\perl.exe C:/fhem/fhem.pl C:/fhem/fhem.cfg
fhem service successfully added.

C:\WINDOWS\system32>
rennt
shutdown restart geht auch ...und nur, damit wirs nicht vergessen: win64 und perl64 ... da muß der rest auch machbar sein.

frage: wenn ich nen usb-stick unter win hab ... scheiterts an perl, an fehlenden win-tools oder an fhem-modulen, die einfach nicht mit win-standards reden wollen?
sprich: gibts theoretische alternativen zum serial port?
→do↑p!dnʇs↓shit←

mahowi

CUBe (MAX): HT, FK | CUBe (SlowRF): ESA2000WZ
JeeLink: LaCrosse | nanoCUL433: Smartwares SHS-51001-EU, EM1000GZ
ZME_UZB1: GreenWave PowerNode, Popp Thermostat | SIGNALDuino: HE877, X10 MS14A, Revolt NC-5462,  IT Steckdosen + PIR
tado° | Milight | HUE, Lightify | SmarterCoffee

the ratman

wusst ichs doch *g*
irgenwer hat immer ne lösung parat.

müsste man noch noob-gerecht aufbereiten, sag ich mal so als noob.
→do↑p!dnʇs↓shit←

krikan

Zitat von: mahowi am 10 November 2017, 16:34:34
Hier hat scheinbar jemand einen Fix für Win32::SerialPort.
Mit http://strawberryperl.com/download/5.26.1.1/strawberry-perl-5.26.1.1-64bit-portable.zip funktioniert die Anpassung laut Link nach Schnelltest.
Zumindest wird der ZWave-Stick erkannt und eine Inklusion war möglich. Ob das für einen Dauerbetrieb genügt: ?

Warum ist es eigentlich so wichtig Perl 64Bit statt Perl 32Bit einzusetzen? Gibt es einen entscheidenden Vorteil?

mahowi

Ich benutze zwar kein Perl unter Windows, aber generell habe ich die Erfahrung gemacht, daß es immer mehr Programme nur noch für 64 Bit gibt. Von daher sehe ich es einfach als zukunftssicher, wenn auch unter 64 Bit alles funktioniert.
CUBe (MAX): HT, FK | CUBe (SlowRF): ESA2000WZ
JeeLink: LaCrosse | nanoCUL433: Smartwares SHS-51001-EU, EM1000GZ
ZME_UZB1: GreenWave PowerNode, Popp Thermostat | SIGNALDuino: HE877, X10 MS14A, Revolt NC-5462,  IT Steckdosen + PIR
tado° | Milight | HUE, Lightify | SmarterCoffee

the ratman

@krikan nicht wirklich.
ich denk nur, dass 64 bit eventuell zukunftssicherer sein könnte - man verzeihe mir das eventuelle milchmädchen-rechnen.

ansonsten gehts mir einfach ums prinzip. man sieht ja jetzt schon an diesen beispiel, was für scherereien wegen fehlender 64er versionen geben kann. was tut dann z.b. einer, der - aus welchen gründen auch immer - auf seinem rechner nur perl in 64 bit verwenden kann und vm's gleich gern hasst, wie ich? wenns dann mal so weit is, hat fhem wieder mal ne fertige lösung *g*.
→do↑p!dnʇs↓shit←

the ratman

so, nächstes prolem: wget ...
gut, gibts ja genug auch für win - ich hab den https://eternallybored.org/misc/wget/ genommen, weil er auch ne 64er version hat, der beliebtere scheint jener hier http://gnuwin32.sourceforge.net/packages/wget.htm zu sein.

jetzt frag ich mich aber, wie ich das über fhem/perl aufruf.
einfach den pfad zum wget dazu zu geben, reicht wohl nicht ... kann man onkel ahnungslos auf die sprünge helfen?

sagen ma mal, wget.exe liegt in C:\Windows\
wie müsste folgendes dann geändert werden, daits geht?qx(wget -T 5 -N --directory-prefix=/opt/fhem/www/images/weather/ --user-agent='Mozilla/5.0 Firefox/4.0.1' '$dllink');
→do↑p!dnʇs↓shit←

the ratman

gibts eig. niemanden, der auch so irre wie ich ist? vorzugsweise leute, die sich auch n bissi mehr helfen können als ich? leute, die auch interesse an einem zukunftssicheren win-fhem haben?

nachdem bei meinen versuchen 2 von 3 module out of the box nicht zu 100% funktionieren, seh ich mich bei meinem kleinen projekt ein klein wenig überfordert.die hilfe kommt zwar (wie hier üblich) super flott, aber was macht man mit modulen, die von reinen linux-leuten geschrieben wurden, wo also keine hilfe erwartbar ist?
ideen hätt ich ja, aber von nem noob wie mir nicht mal im ansatz umsetzbar.

also, wo sind die win-freaks mit hirnschmalz und perl-kenntnissen und langeweile?
wir könnten uns zusammen tun und zumindest mal ne art schlachtplan aufstellen, um die warscheinlich vielen baustellen mal kartographieren zu können.
für alle, die nicht alles lesen wollen: aufbau eines fhem unter win64 mit (active)per64 ohne vm, möglichst ohne 32bit zeugs.
endziel: wiki mit bauanleitung und alles möglichst klicki-bunti (z.b. grafischer perl paket manager, grafische sql-verwaltung, ..., installationstool für fhem), kostenlos und noob-sicher.

aja
ich versuch beitrag 1 hier immer mit dem neuesten stand zu versorgen ...
→do↑p!dnʇs↓shit←

rudolfkoenig

Zitatwo sind die win-freaks mit hirnschmalz und perl-kenntnissen und langeweile?
Meiner Erfahrung nach ist diese Kombination ganz selten, ich versuche die Exemplare auch dann schon zu pflegen, wenn nur 2 der 3 Kriterien vorhanden sind :)

the ratman

ach, die trauen sich nur ned, weils angst vor den bösen linuxern haben *g*
→do↑p!dnʇs↓shit←

fl_Indigo

ich hatte bis vor ca. einem jahr fhem auch unter windows 7 x64 am laufen, allerdings war ich das gefrickel bei verschiedenen modulen (speedtest, enocean über usb-->serial, kein autocreate, etc...) dann leid. hab jetzt eine vm mit debian am laufen und das läuft eigentlich soweit problemlos...
einziger nachteil wenn das keine standalonekiste ist ist eigentlich das so ein windows server ab und an mal streikt und dann kein fhem verfügbar ist :p
parallel probier ich gerade an nem bananapi rum, der läuft soweit supergut, allerdings sind plots auf dem ding eine lahme krücke...
bei mir ist der windows server eigentlich always on, von daher wollt ich mir immer eine extrakista sparen.
mal sehen was noch wird...

kannst ja meine threads mal durchforsten (sind eh noch nicht so viele), vielleicht ist ja die eine oder andere lösung für dich dabei...

the ratman

werd ich gucken ... mir gehts wie dir: meine nas/serverchen is nun mal win und ausserdem versteh ich nix von linux - da dacht ich halt, man könnts probieren. neugierug aufs ergebnis bin ich allerdings selber am allermeisten *g*. ich hoff ja immer noch, dass das n projekt mit leuten wird, die mehr drauf haben, als nur blöd rumspielen, wie meinereiner.

derzeit tümpelt fhem bei mir auf nem raspi3 rum. banana pro hat ich hauptsächlich als mediaserver. raspis rechnen schneller, bananas sind im datentransfer besser - beide sind allerdings lächerlich gegen meinen intel nuc - wer häts gedacht *g*
→do↑p!dnʇs↓shit←

fl_Indigo

naja, linuxkenntnisse halten sich bei mir ebenfalls in grenzen, aber ich bemüh mich besser zu werden :)
hab den umstieg auf die debian VM nicht bereut bis jetzt, läuft alles wie am schnürchen...

the ratman

ich hab mittlerweile auch einiges über linux glernt - genug, um sagen zu können, dass ich nie im leben kapieren werd, was wann wo und wie ... hab ja schon unter win genug probleme, bei denen ich mir ned selber helfen kann, aber da kann ich mir wenigstens ansatzweise denken, was es sein könnte.
mittlerweile is es ne prinzipfrage geworden - ich will einfach, dass das zeug geht und wenns n jahr dauert, dauerts halt solange. ausserdem denk ich, dass da einige leute nix gegen hätten, fhem auf ihren win-sachen laufen zu haben.
mir wird ja sowieso schwummrig, wenn ich denk, dass ich - blauäugig wie ich war - anfangs sowieso win verwenden wollt. 0 wissen über fhem und die probleme wären lustig geworden. DAS - wenn auch nur gedankliche - problem, will ich künftigen usern einfach ersparen.
→do↑p!dnʇs↓shit←

the ratman

nachdem ich div. motivierte leute per pn kennen lernen durfte, hab ich hier wieder aufgemacht. vielleicht mags ja wer weiter führen ...
→do↑p!dnʇs↓shit←

fl_Indigo

hab heute einen interessanten weg ausprobiert unter windows OHNE VM ;)

seit dem windows 10 creators update gibts die möglichkeit eine ubuntu (also debian) bash nativ unter windows laufen zu lassen, inkl. apt und allem pipapo
also mal schnell das feature aktiviert und fhem installiert - funzt tadellos!
nur fhem als "service" beim start des rechners zu starten hat jetzt mal auf anhieb nicht geklappt, sollte aber mit etwas knoffhoff möglich sein.

find ich alles in allem einen ziemlich eleganten weg um fhem unter windows nativ laufen zu lassen.

the ratman

geht die ganze hw? bt, usb, usw.?
dann wärs ja wirklich mal lustig zu probieren.
→do↑p!dnʇs↓shit←

Alibaba

aufgrund deiner Recherchen habe ich jetzt fhem unter perl64 (ActivePerl-5.24.2.2403-MSWin32-x64-403863) und Windows2012R2 64-bit erfolgreich als Dienst laufen.
Folgendes funktioniert bei mir bzw. habe ich im Einsatz:

  • DbLog
  • holiday
  • Calendar
  • HM-LanAdapter => HMLAN
  • vccu = > CUL_HM
  • HM-CC-TC => CUL_HM
  • HM-CC-VD => CUL_HM
  • HM-SEC-RHS => CLU_HM
  • HM-SEC-SD => CLU_HM
  • HM-SEC-SC => CLU_HM
  • HM-LC-SW1-FM => CLU_HM
  • HM-CC-RT-DN => CLU_HM
  • HM-WDS100-C6-O => CLU_HM
  • ActionDetector => CLU_HM
  • Zwave USB-Stick ZME_UZB1 => ZWDongle
  • FIBARO System FGWPE/F Wall Plug => ZWAVE
  • FIBARO System FGR222 Roller Shutter Controller 2 => ZWAVE
  • FIBARO System FGS223 Double Relay => ZWAVE
  • Sensative Strips => ZWAVE
  • FBAHAHTTP
  • FB_CALLMONITOR
  • FRITZ!Powerline 546E => FBDECT
  • Sonos Play-1 => SONOS
  • Pioneer SC-1223 => PIONEERAVR
  • SamsungTV => STV
  • Notify, DoIf, Threshold (angepasstes Modul 98_THRESHOLD.pm), dummy, SVG, at, readingsGroup
  • andfhem => angepasstes Modul 98_gcmsend.pm
  • eigene und übernommene Routinen => 99_My_Utils.pm

Wie wurde perl64 installiert:

  • ActivePerl-5.24.2.2403-MSWin32-x64-403863 installiert
  • CMD als Admin ausführen und ins Perl/bin Verzeichnis wechseln
  • CPAN ausführen damit allen notwendigen Komponenten für CPAN nachgeladen werden
  • CPAN über Quit beenden
  • PPM Install Crypt::CBC
  • PPM Install Crypt::Cipher::AES
  • PPM Install Crypt::Rijndael
  • PPM Install LWP::Simple
  • PPM Install LWP::UserAgent
  • PPM Install SOAP::Lite
  • PPM Install XML::Parser::Lite
  • PPM Install Win32::Daemon
  • PPM Install Win32::Console
  • CPAN ausführen und folgendes dann eingeben: Install force Win32::SerialPort
  • CPAN über Quit beenden
  • Datei CommPort.pm im Verzeichnis <Perl>\site\lib\Win32API durch angehängte Datei ersetzen

Unix-Tools für Windows installiert und in Suchpfad aufgenommen => dann funktioniert auch das Backup. Das BackupVerzeichnis habe ich mit Symlink auf ein anderes Laufwerk verschoben

Was bei mir nicht oder nur eingeschränkt funktioniert:

  • Fork => hier wird immer dblog und die Serielle Schnittstelle beendet und FHEM stürzt ab
  • Update => nach einem Update, wenn dies im Hintergrund läuft muss Fhem direkt gestartet werden. Grund siehe Fork
  • shutdown restart => funktioniert unzuverlässig, deshalb habe ich diese Zeile geändert in fhem.pl
      Zeile 1655      # use the OS SCM to stop and start the service
      Zeile 1656      exec('cmd.exe /C sleep '.AttrVal("global", "restartDelay", 2).' & TASKKILL.exe /IM perl.exe /FI "Session eq 0" /F & sleep 1 & net start fhem');
      Bemerkung: Dienst braucht über net stop fhem nicht beendet werden, weil wenn sich perl beendet automatisch der Dienst fhem beendet ist.
      Taskkill beendet nur perl.exe in der Session 0 (Dienste werden immer in der Session 0 ausgeführt)


rudolfkoenig

ZitatZeile 1656      exec('cmd.exe /C sleep '.AttrVal("global", "restartDelay", 2).' & TASKKILL.exe /IM perl.exe /FI "Session eq 0" /F & sleep 1 & net start fhem');

Zeile 1656 ist die letzte Zeile von CommandSave. Entweder bezieht sich dein Patch auf eine veraltete FHEM Version, oder es ist Zeile 1686 gemeint.

fl_Indigo

Zitat von: the ratman am 28 November 2017, 21:28:40
geht die ganze hw? bt, usb, usw.?
dann wärs ja wirklich mal lustig zu probieren.

soweit hab ichs jetzt nicht getestet ;)
mir gings nur darum einen alternativen weg aufzuzeigen der jetzt auch möglich ist...

the ratman

du, ich find den weg echt genial, hab aber bedenken. eingeschränkt ist das ding ja definitiv.
z.b. könntest du out of the box keine grafische oberfläche lauffähig kriegen. gibt zwar ne "hack-anleitung" dafür im netz, aber da bin ich geistig weggebrochen *g*.
zumindest denk ich mir, dass das nicht die einzige einschränkung sein könnte. drum auch gleich meine frage ...
→do↑p!dnʇs↓shit←

Alibaba

Zitat von: rudolfkoenig am 29 November 2017, 17:08:16
Zeile 1656 ist die letzte Zeile von CommandSave. Entweder bezieht sich dein Patch auf eine veraltete FHEM Version, oder es ist Zeile 1686 gemeint.

Oh, Schreibfehler.
Es war natürlich Zeile 1686.
Ich setze wenn möglich immer den neusten Stand von Fhem ein.

Alibaba

Zitat von: rudolfkoenig am 08 November 2017, 12:02:56
Kannst du bitte noch testen, ob FHEM als Windows-Service zu aktivieren noch geht?

Der Aufruf geht unter perl64.
Einziger Unterschied zu perl32 in der Registrierungsdatenbank von Windows => der Eintrag  WOW64 (Reg_DWORD) = 1 fehlt.
Dies ist für 64-Bit Programme korrekt

rudolfkoenig

Schade, d.h. Win32::Daemon::CreateService ist nicht ganz 64-Bit faehig.
Kannst du fuer FHEM/WinService.pm einen Patch schreiben? :)

herrmannj

Bringt der Linux Unterbau auf win dann auch solche Sachen wie einheitliche konstanten bei fcnt (zB nonblocking) oder ein select auf nicht Network sockets mit?

Alibaba

Zitat von: rudolfkoenig am 29 November 2017, 22:11:40
Schade, d.h. Win32::Daemon::CreateService ist nicht ganz 64-Bit faehig.
Kannst du fuer FHEM/WinService.pm einen Patch schreiben? :)

meiner Meinung nach ist der Win32::Daemon 64-Bit fähig. Wie komst du darauf?

Bei mir funktioniert der Befehl C:\Perl64_5.24.2.2403\bin\perl.exe F:/fhem/fhem.pl F:/fhem/fhem.cfg -i korrekt. Windows-Dienst wird angelegt und funktioniert danach auch korrekt.
Ich führe danach zwei Änderungen aus Sicherheitgründen durch.
1. Dienst wird mit einem eingeschränkten User FHEMService ausgeführt
2. Der User FHEMService bekommt das Recht den Service FHEM zu starten und stoppen => sonst funktioniert mit einem User ohne Adminrechten ein shutdown restart nicht

rudolfkoenig

Ich habe offensichtlich deinen Beitrag nicht aufmerksam gelesen, und nur das "fehlt" gesehen. Sorry fuer die Verwirrung.

fl_Indigo

Zitat von: the ratman am 29 November 2017, 19:08:21
du, ich find den weg echt genial, hab aber bedenken. eingeschränkt ist das ding ja definitiv.
z.b. könntest du out of the box keine grafische oberfläche lauffähig kriegen. gibt zwar ne "hack-anleitung" dafür im netz, aber da bin ich geistig weggebrochen *g*.
zumindest denk ich mir, dass das nicht die einzige einschränkung sein könnte. drum auch gleich meine frage ...

grafische oberfläche brauch ich unter windows eh keine zusätzliche ;)

habs nur schnell in der arbeit probiert, deshalb hab ich auch keine aussage zum produktiveinsatz. am homeserver daheim läuft windows 7, daher auch auf die schnelle kein test möglich...
ich glaube aber das es immer noch eine bessere möglichkeit darstellt als die krücke direkt unter windows laufen zu lassen...

Wolfgang Hochweller

#38
Also, so weit ich es benutze, geht alles - einschliesslich Win32::SerialPort.
In Verwendung : Windows 10 mit OpenSSl, FHEM als Service ( mit ein paar Ungereimheiten, funktioniert aber ), Strawberry Perl, RFXTRX, Z-Wave, Hyperion, Internet Radio, Verbindung zur Verisure Alarmanlage ( Python ) , HTTPS, RemoteServer, IP-Kameras ( sofern sie was besseres als RTSP koennen )
Einzige Unklarheit ist eine Fehlermeldung beim Einbinden des FHEM-Logfiles, aber er funktioniert.

Kleiner Nachtrag : LGTV_WebOS funktioniert, fuellt aber das Logfile mit reichlich Fehlermeldungen ( sowohl Windows als auch Linux )
, musste ich daher abschalten.

Alibaba

Zitat von: howi42 am 12 Dezember 2017, 14:52:07
Also, so weit ich es benutze, geht alles - einschliesslich Win32::SerialPort.
In Verwendung : Windows 10 mit OpenSSl, FHEM als Service ( mit ein paar Ungereimheiten, funktioniert aber ), Strawberry Perl, RFXTRX, Z-Wave, Hyperion,

Geht bei dir auch fork oder hast du nofork gesetzt? (Wobei bei mir unter Acriveperl trotz nofork=1 Fehlermeldungen und sporadische Abstürze aufgetaucht sind)
In der Zwischenzeit teste ich eine von mir geänderte blocking.pm und fhem.pl. Mit dieser gibt es jetzt keinerlei Fehlermeldungen und es läuft sehr stabil!
Nur beim shutdown treten noch vereinzelt Fehlermeldungen auf, aber ohne jegliche Auswirkung.

Welche Ungereimtheiten hast du bei FHEM als Service? Bei mir (Activeperl 32-bit oder 64-bit und Windows 2012R2) funktioniert dies einwandfrei.

Wolfgang Hochweller

fork bzw. nofork muesste ich untersuchen, habe ich mich nicht drum gekuemmert ..

Service :
FHEM verabschiedet sich gelegentlich, ohne dass ich sehen könnte, warum.
Danach muss man den Service wieder von Hand starten, automatisch geht dann nichts mehr.
Aehnliches passiert ab und an, wenn man den Rechner neu startet; manchmal startet der FHEM-Service, manchmal aber auch nicht.
Allerdings nicht weiter schlimm, ein Restart des Rechners passiert nie unbemerkt.
shutdown restart geht,
update all geht auch, aber erfordert einen manuellen Restart des Windows-Service( besser gesagt, man muss den Perl-Interpreter stoppen und kann dann den Service wieder starten).

czcbe

Hallo zusammen

Habt ihr inzwischen was Neues rausgefunden? Also ich habe meinen kürzlich gebauten nanoCul in Windows/Strawberry Perl nicht zum Laufen gebracht, mal ging es kurz, das 2. oder 3. mal fand er den COM-Port nicht mehr etc. Da musste ich leider nach etlichen Versuchen aufgeben. In Linux läuft er stabil. Sonst läuft es in Windows aber nicht schlecht.
Verstehe ich das richtig, dass mit nofork=1 in den GLOBAL-Einstellg. evtl. nicht gleichzeitig auf script-Files (z. Bsp. aus Presence) zugegriffen werden kann?
FHEM 5.9 mit TabletUI | Pagebuttonmenü | Win2012R2 | Lubuntu 18.04 | Load-Balancing/Failover 2xFHEM | cygwin | nanoCUL 433 | Harmony Hub | IT Funksteckdosen | Squeezebox-Server (LMS) | Kodi | Sprachsteuerung | Webcams | Wetteransage | Telegram Bot | Presence-Script | Winconnect-Powershell

Wolfgang Hochweller

#42
Mein FHEM ( windows 10, letzte Version ) stuerzt ab und an mit der folgenden Fehlermeldung ab :



ERROR: Select error -1 (128), error count= 0
Select error -1 (128)



Worauf kann das hindeuten ?

Ansonsten laeuft es prima.

Von wegen COM-Port :

Ist der Port da, wird nur nicht gefunden ?

Ist ein anderer, neuer COM-Port da ?
In vielen Faellen erhaelt man einen anderen COM-Port, wenn man den USB-Anschluss neu einsteckt.



czcbe

Ja, COM ist im Gerätemanager vorhanden und sollte ansprechbar sein. Im FHEM sieht man dann kurz INITIALIZED beim CUL und dann schmiert FHEM sofort ab. Bleibt FHEM mal bisschen länger gestartet, erkennt er manchmal immerhin die "VERSION", aber das Reading "update" bleibt bei "no answer". Ich habe auch versch. COM1-4 versucht, versch. Perl-Installationen, läuft immer auf dasselbe raus.
Irgendwo bei der Win32::SerialPort Installation läuft wohl was schief...


Deinen Fehler kann ich so absolut nicht zuordnen. Erscheint diese Error-Meldung im Eventlog?

FHEM 5.9 mit TabletUI | Pagebuttonmenü | Win2012R2 | Lubuntu 18.04 | Load-Balancing/Failover 2xFHEM | cygwin | nanoCUL 433 | Harmony Hub | IT Funksteckdosen | Squeezebox-Server (LMS) | Kodi | Sprachsteuerung | Webcams | Wetteransage | Telegram Bot | Presence-Script | Winconnect-Powershell

Wolfgang Hochweller

#44
COM : 

Was mir zu COM noch einfaellt : Meinen RFXTRX-Dongle muss ich mit 'NOINIT'  starten, sonst geht nichts.

Fehlermeldung :

Die Fehlermeldung erscheint im Logfile.

Ich sehe, dass die Fehlermeldung in fhem.pl  generiert wird.
Moeglicherweise hat es ja auch etwas mit dem im Windows-Perl fehlenden 'which'-Befehl zu tun,
der beim Start angemeckert wird, aber ohne direkte Folgen.


Eine weitere kommt ab und an aus PERL, ebenfalls im Logfile :



PERL WARNING: Terminating on signal SIGHUP(1)


Wolfgang Hochweller

#45
Ein Update :
Ich bin das Problem mit dem fehlenden 'which' angegangen und habe dazu GnuWin32 installiert.
Damit loest sich das 'which'-Problem.
Allerdings wird jetzt folgende Fehlermeldung ausgegeben :



which: no ssh in (.;C:\ProgramData\Oracle\Java\javapath;C:\WINDOWS\System32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files\nodejs\;C:\Program Files (x86)\Calibre2\;C:\Users\howi\AppData\Local\Programs\Python\Python36-32\;C:\Users\howi\AppData\Local\Programs\Python\Python36-32\Scripts\;C:\Strawberry\c\bin;C:\Strawberry\perl\site\bin;C:\Strawberry\perl\bin;C:\Program Files (x86)\GnuWin32\bin;C:\WINDOWS\System32\OpenSSH;C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\;C:\Users\howi\AppData\Local\Microsoft\WindowsApps;C:\Users\howi\AppData\Roaming\npm)


was mich stutzig macht, denn ssh.exe befindet sich in C:\WINDOWS\System32\OpenSSH\

Die gleiche Fehlermeldung erhaelt man, wann man in einem Command prompt :   which ssh
aufruft.

Der Verursacher dieser Probleme ist das Hyperionmodul.
Es braucht einen keyless ssh Zugang zum System auf dem der Hyperionserver laeuft, warum auch immer.
Das ist mit Windows und Libreelec nicht trivial, ich habe das Modul erstmal entfernt.


Sebulba2k

#46
Hallo,

bei mir läuft fhem seit Beginn auf meinem Win2008 Server in der Console.
Inzwischen mit ActivePerl v5.26.3

Hatte bisher keine großen Schwierigkeiten, aber seit ich auch ein Hyperion-Ambilight habe wäre ssh von Vorteil.
Gibt es hierzu inzwischen eine Lösung?
Aktuell habe ich beim starten von fhem im Log folgende Meldung:


2019.05.17 19:34:41 1: starting in console mode
2019.05.17 19:34:41 1: Including fhem.cfg
ssh not found.
:42 3: telnetPort: port 7072 opened
2019.05.17 19:34:42 3: WEB: port 8083 opened
2019.05.17 19:34:42 2: eventTypes: loaded 5285 events from ./log/eventTypes.txt


Gruß
Sebulba2k