HomeMatic Wired - HMW-LAN-Gateway

Begonnen von Dirk, 02 September 2013, 21:38:44

Vorheriges Thema - Nächstes Thema

bmwfan

Hallo gevoo,

war wieder einmal verreist. Deswegen die späte Antwort.
Folgende Versionen:
Zitathead1
   10_HM485.pm
   Version 0.5.124

Eine Device.pm finde ich nicht in meinem FHEM-Verzeichnis. Ich habe diese *device.pm Datei:
Zitat# $Id: 10_HXBDevice.pm 7686 2015-01-24 11:54:59Z borisneubert $

Mache aber regelmäßig die Updates von FHEM.

Fehlt mir evtl. eine Datei?

Gruß Jürgen
Synology DS720+ mit Docker-Container und Haupt-FHEM, HM-LAN, Jalousienaktoren HmWired, Shelly-Devices; Raspi 3B+ mit piVCCU ohne FHEM-Instanz, CUL, JeeLink; Raspi 3B+ mit FHEM und HMUARTUSB,  Raspi 3B+ mit HMUARTGPIO, 1-wire, ebusd

gevoo


gevoo

Hallo Jürgen,

habe Deinen Beitrag im anderen Thread gelesen. Damit eine Synchronisation zwischen Rolloaktor und Jalousiemodul stattfindet, gehe bitte folgendermaßen vor:
Folgende Eingaben in fhem Kommandozeile und mit <ENTER> abschließen
set testjal level 50
{Jalousie_SetWinkel( 'testjal', 45)}

Dann hätte ich gern Informationen über
1. die Ausgangssituation ( bevor Du die Befehle eingegeben hast).
2. was ist nach Eingabe des 1. Befehls passiert
3. was ist nach Eingabe des 2. Befehls passiert
4. die dazugehörigen Logs.

Gruß gevoo

bmwfan

Hallo gevoo,
nachdem ich den Sommer über viele andere Dinge getan habe, kommen jetzt wieder die Jalousien dran. Habe Deine Befehle eingeben.
1: Ausgangszustand: Jalousie ganz offen.
ZitatInternals:
   DEF        Jal_KU_Ost_03 2 2
   NAME       testjal
   NR         490
   STATE      ??? sollen 3 Fragezeichen bedeuten
   TYPE       Jalousie
   Jalousie:
     ab         50
     aktor      Jal_KU_Ost_03
     auf        50
     drehZeitAb 2
     drehZeitAuf 2
     lastMove   ab
     winkel     0
   Readings:
     2015-06-14 21:06:35   winkel          0
Attributes:
   room       Kueche
2: Nach erstem Befehl:
Zitat2015.11.21 18:37:36 4: CUL_Parse: CUL_0 A 14 DD 845E 2A8260 000000 8830EB0000040000093BFFE0 -90
Illegal division by zero at ./FHEM/90_Jalousie.pm line 214.
2015.11.21 18:38:03 2: Perfmon: ready to watch out for delays greater than one second
FHEM stürzt wegen Division durch 0 ab. Anbei das log-File:
Zitataktuelle Version ist jetzt V 0.00.08 - 07.06.2015
2015-11-21_18:38:08 Jalousie_Define: testjal reference_running_time_top_bottom = 50
2015-11-21_18:38:08 Jalousie_Define: Jal_KU_Ost_03, 50, 50
2015-11-21_18:38:08 Jalousie_Define: testjal, Jal_KU_Ost_03, 2, 2
Seltsam ist, dass das device aber folgende settings hat:
Zitatreference_running_time_top_bottom:   64 s
Bei meinen Versuchen hat es aber manchmal geklappt, die Jalousie auf einen bestimmten level fahren zu lassen. Wenn erfolgreich, konnte ein Winkel einegstellt werden, allerdings hat {Jalousie_SetWinkel( 'testjal', 90)} die Jalousie auf ca. 45 ° gestellt. Ich habe allerdings auch statt 180 ° 90 °-Jalousien konfiguriert.

Also 2 Probleme: Division durch 0 bei level XX und Winkeleinstellugn stimmt nicht.

Gruß Jürgen

Synology DS720+ mit Docker-Container und Haupt-FHEM, HM-LAN, Jalousienaktoren HmWired, Shelly-Devices; Raspi 3B+ mit piVCCU ohne FHEM-Instanz, CUL, JeeLink; Raspi 3B+ mit FHEM und HMUARTUSB,  Raspi 3B+ mit HMUARTGPIO, 1-wire, ebusd

gevoo

Hallo Jürgen,

ich dachte schon die Aktion hast Du abgehakt.
In der Anlage die neue Testversion. Teste bitte wieder in der gleichen Reihenfolge, wie beim letzten mal.

Gruß gevoo

bmwfan

#275
Hallo gevoo,

bei set testjal level 80 fährt die Jalousie auf den level 95, bei level 50 auf den tatsächlichen level 88. Meine Vermutung: Die im Device eingegebenen Fahrzeiten werden nicht ausgelesen.
Wo werden denn die programmierten Laufzeiten des Device in Deinem Code ausgelesen? Ich habs versucht zu finden, aber mangels Perl-kenntnissen nicht entdeckt.

bei {Jalousie_SetWinkel("testjal",90)} drehen die Jalousien um ca. 45 °.

Frage: das device muss so "testjal" oder so 'testjal' eingegeben werden?

Anbei das log-File und die Erklärung:

Zeit 09:43:00: testjal auf level 80 gefahren. Ist: level 95.
Zeit 09:44:05: Winkel 90° eingegeben. Ist auf ca. 45 ° gefahren.
Dann wieder auf level 100 hochgefahren, um neuen Versuch zu starten
Zeit 09:45:30: testjal auf level 50 gefahren. Ist: Level 88
Zeit 09:44:21: Winkel 90° eingegeben. Ist auf ca. 45 ° gefahren.

Jürgen
Synology DS720+ mit Docker-Container und Haupt-FHEM, HM-LAN, Jalousienaktoren HmWired, Shelly-Devices; Raspi 3B+ mit piVCCU ohne FHEM-Instanz, CUL, JeeLink; Raspi 3B+ mit FHEM und HMUARTUSB,  Raspi 3B+ mit HMUARTGPIO, 1-wire, ebusd

gevoo

Hallo Jürgen,

ZitatWo werden denn die programmierten Laufzeiten des Device in Deinem Code ausgelesen?
in Zeile 105 und 107.
Welche HM-Wired Version benutzt Du eigentlich?
ZitatFrage: das device muss so "testjal" oder so 'testjal' eingegeben werden?
Ist eigentlich egal. Perl akzeptiert beides als string. Mir ist 'testjal' lieber.

Gruß gevoo

bmwfan

Müßten die aktuellen sein, da ich regelmäßig updates mache.

Zitat=head1
   00_HM485_LAN.pm Version 23.03.2015

=head1 SYNOPSIS
   HomeMatic Wired (HM485) Modul for FHEM
   contributed by Dirk Hoffmann 10/2012 - 2013
   $Id$

und

Zitat##############################################
# $Id: 00_HMLAN.pm 9886 2015-11-14 09:50:33Z martinp876 $

und

Zitat=head1
   10_HM485.pm
   Version 0.5.141

und

Zitat#############################################
# $Id: HMConfig.pm 9830 2015-11-08 19:04:41Z martinp876 $
# CUL HomeMatic device configuration data

Weis nicht genau, welches Modul Du meinst.

Gruß Jürgen
Synology DS720+ mit Docker-Container und Haupt-FHEM, HM-LAN, Jalousienaktoren HmWired, Shelly-Devices; Raspi 3B+ mit piVCCU ohne FHEM-Instanz, CUL, JeeLink; Raspi 3B+ mit FHEM und HMUARTUSB,  Raspi 3B+ mit HMUARTGPIO, 1-wire, ebusd

Thorsten Pferdekaemper

Hi,
wenn Du den HM485-Kram regelmäßig aktualisieren würdest,  dann hättest Du 0.7.2x in der 10_Hm485.pm.

@gevoo: Gut von Dir mal wieder was zu lesen. Ich hatte den Eindruck, Du hättest Dich komplett zurüchgezogen.

Gruß,
Thorsten
FUIP

bmwfan

Wieder eine Lücke in meinen FHEM Kenntnissen?
Ich war der Meinung, dass der Befehl "update" alle Module updatet und den gebe ich mindestens jede Woche ein.
Wenn das genannte Modul damit nicht aktualisiert wird, wie kann ich es dann aktualisieren und wie kann ich erkennen, welche Module sonst auch nicht aktualisiert werden?

Gruß Jürgen
Synology DS720+ mit Docker-Container und Haupt-FHEM, HM-LAN, Jalousienaktoren HmWired, Shelly-Devices; Raspi 3B+ mit piVCCU ohne FHEM-Instanz, CUL, JeeLink; Raspi 3B+ mit FHEM und HMUARTUSB,  Raspi 3B+ mit HMUARTGPIO, 1-wire, ebusd

Thorsten Pferdekaemper

Zitat von: bmwfan am 22 November 2015, 20:31:12
Ich war der Meinung, dass der Befehl "update" alle Module updatet und den gebe ich mindestens jede Woche ein.
Nein, das klappt nur für die Module, die in der "offiziellen" FHEM-Auslieferung sind. Das ist für den HMW-Kram noch nicht der Fall.

Zitat
Wenn das genannte Modul damit nicht aktualisiert wird, wie kann ich es dann aktualisieren
Genau so, wie man es auch installiert. Ich habe gerade eine Anleitung im Wiki ergänzt: http://www.fhemwiki.de/wiki/HomeMatic_Wired
Ich würde Dir empfehlen, das nicht auf die Schnelle zu machen. Inzwischen hat sich ganz schön viel getan, da kann es sein, dass Du ein paar Sachen in Deiner Installation ändern musst. Ich würde Dir empfehlen, auch gleich auf die Dev-Version zu gehen.

Zitat
und wie kann ich erkennen, welche Module sonst auch nicht aktualisiert werden?
Du hast wahrscheinlich die HMW-Dateien irgend wann einmal manuell reinkopiert. Alle Module, die so installiert sind, werden vom FHEM-update nicht behandelt.

Gruß,
   Thorsten
FUIP

bmwfan

Hallo Thorsten,

zu spät.  ;)
Hab schon die Version 0.7.21 (und alle anderen Dateien aus dem downgeloadeden zip-File) wieder händisch reinkopiert. FHEM ist nach restart wieder problemlos angelaufen. Dann ein update gemacht. FHEM ist wieder angelaufen, ich habe allerdings jetzt Meldungen im log, die vorher nicht da waren. Z.B.:
Zitat2015.11.23 20:54:14 1: Perfmon: possible freeze starting at 20:54:13, delay is 1.387
2015.11.23 20:54:16 1: Perfmon: possible freeze starting at 20:54:15, delay is 1.861
2015.11.23 20:55:06 1: PERL WARNING: Use of uninitialized value in sprintf at fhem.pl line 2038.

Keine Ahnung, ob das von dem händischen Update kommt. Werde es noch beobachten.

Gibt es irgendwo eine Aufstellung, welche Module automatisch upgedatet werden und welche nicht?
Alternativ: Kann ich ein update-script erstellen, das mir auch die nicht automatische upgedateten Module prüft und ggf. updated?

Gruß Jürgen

P.S.: Da ich an einem Jalousienmodul etwas anpassen will suche ich schon eine Weile danach, wie PERL-Programme für FHEM entwickelt werden. Hardware: Raspi. Editor im Moment: Notepad++. Aber wie hier debuggen? Deswegen einige grundlegende Fragen an einen erfahrenen Entwickler:
Wie macht Ihr Entwickler das?
Nur im Editor schreiben und auf das laufende System zum Test aufspielen? Debugging mit Log-Einträgen?
IDE benutzen mit Debugger? Wenn ja, welchen
Das Ganze auf einem Entwicklungssystem oder auf der "scharfen" Hardware?

Bin da für jeden Tip dankbar.

Gruß Jürgen
Synology DS720+ mit Docker-Container und Haupt-FHEM, HM-LAN, Jalousienaktoren HmWired, Shelly-Devices; Raspi 3B+ mit piVCCU ohne FHEM-Instanz, CUL, JeeLink; Raspi 3B+ mit FHEM und HMUARTUSB,  Raspi 3B+ mit HMUARTGPIO, 1-wire, ebusd

Thorsten Pferdekaemper

Zitat von: bmwfan am 23 November 2015, 21:33:27ich habe allerdings jetzt Meldungen im log, die vorher nicht da waren.
Sowas in der Richtung habe ich bisher im Zusammenhang mit HM485 nicht gesehen.

Zitat
Gibt es irgendwo eine Aufstellung, welche Module automatisch upgedatet werden und welche nicht?
Alternativ: Kann ich ein update-script erstellen, das mir auch die nicht automatische upgedateten Module prüft und ggf. updated?
So ganz allgemein geht das wohl nicht, da das System ja nicht weiß, woher die nicht-FHEM Sachen her sind. ...aber wahrscheinlich kann man sich schon ein Skript schreiben, das den HM485-Kram runterlädt und reinkopiert. Ich arbeite aber auch gerade daran, HM485 in die "offizielle" FHEM-Auslieferung zu bekommen. Das kann aber noch ein bisschen dauern, da ich noch einiges an Doku schreiben muss.

Zitat
P.S.: Da ich an einem Jalousienmodul etwas anpassen will suche ich schon eine Weile danach, wie PERL-Programme für FHEM entwickelt werden. Hardware: Raspi. Editor im Moment: Notepad++. Aber wie hier debuggen? Deswegen einige grundlegende Fragen an einen erfahrenen Entwickler:
Wie macht Ihr Entwickler das?
Nur im Editor schreiben und auf das laufende System zum Test aufspielen? Debugging mit Log-Einträgen?
Genau so mache ich das. Manchmal braucht man ein "shutdown restart", aber oft reicht sogar ein "reload <Dateiname>".

Zitat
IDE benutzen mit Debugger? Wenn ja, welchen
Meine "IDE" ist notepad++, WinSCP und putty.

Zitat
Das Ganze auf einem Entwicklungssystem oder auf der "scharfen" Hardware?
Auf einem Entwicklungssystem. Insbesondere im Winter...

Gruß,
   Thorsten
FUIP

gevoo

Hallo Thorsten,

Zitat@gevoo: Gut von Dir mal wieder was zu lesen. Ich hatte den Eindruck, Du hättest Dich komplett zurüchgezogen.
Ich lese immer mit und bin begeistert, wie Ihr die Sachen schon weiterentwickelt habt. Ich bin mehr der Typ der nur was schreibt, wenn es auch etwas zu schreiben gibt. Deshalb war es in letzter Zeit etwas ruhiger. Ihr hab die Sache doch wunderbar gemeistert.

Gruß gevoo

gevoo

Hallo Jürgen,

hast Du nach den letzten Updates noch einmal einen Test gefahren?

Gruß gevoo