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

@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...