HomeMatic Wired - HMW-LAN-Gateway

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

Vorheriges Thema - Nächstes Thema

gevoo

Hallo Jürgen,

einen hatte ich noch übersehen. Jetzt sollte es funktionieren.

Gruß gevoo

bmwfan

#241
Hallo gevoo,

jetzt hat es doch etwas gedauert, bis ich weitermachen konnte. Habe FHEM auf einen Raspi umgezogen und das hat Dank meiner mangelnden Linux-Kenntnisse doch etwas gedauert.

Habe alles so eiongestellt wie geschrieben. beim
define testjal Jalousie KU_Jalousie_Ost_03 2 2
kommt jetzt
Can't find string terminator '"' anywhere before EOF at (eval 411) line 1

Der Rest sieht so aus wie im Anhang.

Und das steht im Log:
Zitat2015.05.22 21:32:22 1: Jalousie mit Rolloaktor KU_Jalousie_Ost_03 verbunden
2015.05.22 21:32:22 1: PERL WARNING: Bareword found where operator expected at (eval 411) line 1, near """set"
2015.05.22 21:32:22 1: PERL WARNING:    (Missing operator before set?)
2015.05.22 21:32:22 1: PERL WARNING: String found where operator expected at (eval 411) line 1, near "set",""
2015.05.22 21:32:22 1: PERL WARNING: String found where operator expected at (eval 411) line 1, at end of line
2015.05.22 21:32:22 1: PERL WARNING:    (Missing semicolon on previous line?)
2015.05.22 21:32:51 4: CUL_Parse: CUL_0 A 14 06 A270 EF38E0 000000 00D52C25990000723D0C8042 -41
2015.05.22 21:34:39 4: CUL_Parse: CUL_0 A 14 2B 845E 2A8260 000000 8700DB00000400000931FCF7 -78.5
2015.05.22 21:35:31 4: CUL_Parse: CUL_0 A 14 07 A270 EF38E0 000000 00D52D259B0000720C0C8043 -40.5
2015.05.22 21:36:43 4: CUL_Parse: CUL_0 A 14 2C 845E 2A8260 000000 8700DB00000500000932FEF4 -80
2015.05.22 21:37:55 4: CUL_Parse: CUL_0 A 14 08 A270 EF38E0 000000 00D52C259A000071DC0C8041 -41.5

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,

o.k Fehler behoben, auf zum nächsten Versuch.

Gruß gevoo

bmwfan

Hallo gevoo,
hab die neue pm eingebunden. Die obige Meldung kommt nicht mehr. Wollte dann die Jalousie testweise auf Level 60 fahren.
Befehl in FHEM-Befehlszeile: {Jalousie_SetDownSchatten(  "testjal", 60)}

Dann erhalten ich die Meldung:
ZitatUnrecognized character \xC2; marked by <-- HERE after nSchatten(<-- HERE near column 27 at (eval 471) line 1.

Ich habe mir allerdings aus dem Thread zusammengesucht, dass dieser Befehl die Jalousie herunter fahren lassen sollte und hoffe, dass es stimmt. Vielleicht auch nur in einer älteren Version der 90_Jalousie.pm und den Befehl gibt es gar nicht mehr.
Du hast doch bestimmt schon eine Logik mit Deinem Modul laufen. Könntest Du nicht ein Codeschnipsel reinstellen, aus dem ersichtlich ist welche Befehle ich wie eingeben muss, damit die Jalousie z.B. auf Level 50 fährt und dann auf den Winkel 60 °? Würde zumindest mir sehr helfen.

Gibt es zu Deinem Modul ein Wiki, in dem die möglichen Befehele gelistet und evtl. erklärt sind, Dann würden die Beginner in FHEM, so wie ich, vielleicht besser zurecht kommen.

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

cjung

#244
Hallo bmwfan,

die Anleitung findest Du in der Datei selbst.

Hier der Text:
# Vor Verwendung dieses Modules sind folgende Zeiten zu betimmen:
#   - Jalousie steht ganz oben: Abwaertstaste betaetigen und Zeit messen bis Lamellen
#      komplett geschlossen sind ( 0 Grad- Stellung) ==> DrehzeitAb
#   - Jalousie steht ganz unten: Aufwaertstaste betaetigen und Zeit messen bis Lamellen
#      komplett offen sind ( 90 Grad- Stellung) ==> DrehzeitAuf
#   - in der Weboberflaeche des Rolloaktors sind die korrekten Zeiten für den gesamten
#      Schliessvorgang ( Lamellen zu + Jalousie runterfahren) und den gesamten
#      Oeffnungsvorgang einzutragen
#
#   Die Jalousie wird folgendermassen definiert:
#
#   define <name> Jalousie <Rolloaktor_03> <DrehzeitAb> <DrehzeitAuf>
#
#   - <name> ist frei waehlbar
#   - <Rolloaktor_03> ist der Name des Kanal 03 des anzusteuernden Rolloaktors
#   - <DrehzeitAb> und <DrehzeitAuf> sind Zeitangaben in Sekunden -> siehe Beschreibung oben
#
#   {Jalousie_SetWinkel(<name>, 45)}
#   
#   in der fhem Eingabezeile stellt den Winkel der Lamellen auf 45 Grad ein.
#
#   set Jalousie level 60
#
#   faehrt die Jalousie auf 60 %
#



Viele Grüße

Christoph
PS: @gevoo: Ich bin gerade am testen.
Raspberry Pi 2 B
Funk: HM_CFG_USB2, HM-CFG-LAN 8*HM_CC_RT_DN, 3*HM-SEC-SD, 3*HM_TC_IT_WM_W_EU, 1*HM-LC-Dim1TPBU-FM,5*HM-SEC-SC-2, 1*HM-SEC-SCo
Wired: HMW: CFG-LAN, 8*LC_Bl1_DR, LC_Dim1L_DR

gevoo

Hallo Christoph,

ja genau so ist es, Du hast die Sache gründlich studiert. Dem habe ich erstmal nichts weiter hizuzufügen.
Über Rückmeldung zu Deinem Test bin ich dankbar.

Gruß gevoo

cjung

Hallo gevoo,

bei mir klappt die Initialisierung nicht:

015.05.25 11:31:20 3: Modul 90_Jalousie.pm: Init Done with Version V 0.00.06 - 24.05.2015
2015.05.25 11:31:20 3: Name = Jal_Tuer_Links, Parameter = Jalousie HMW_LC_Bl1_DR_LEQ0169803_03 2 2
2015.05.25 11:31:20 1: Jalousie mit Rolloaktor HMW_LC_Bl1_DR_LEQ0169803_03 verbunden
2015.05.25 11:31:20 1: PERL WARNING: Bareword found where operator expected at (eval 60) line 1, near """set"
2015.05.25 11:31:20 3: eval: {ReadingsVal("Jal_Tuer_Links",""set","")}
2015.05.25 11:31:20 1: PERL WARNING: (Missing operator before set?)
2015.05.25 11:31:20 1: PERL WARNING: String found where operator expected at (eval 60) line 1, near "set",""
2015.05.25 11:31:20 3: eval: {ReadingsVal("Jal_Tuer_Links",""set","")}
2015.05.25 11:31:20 1: PERL WARNING: String found where operator expected at (eval 60) line 1, at end of line
2015.05.25 11:31:20 3: eval: {ReadingsVal("Jal_Tuer_Links",""set","")}
2015.05.25 11:31:20 1: PERL WARNING: (Missing semicolon on previous line?)
Raspberry Pi 2 B
Funk: HM_CFG_USB2, HM-CFG-LAN 8*HM_CC_RT_DN, 3*HM-SEC-SD, 3*HM_TC_IT_WM_W_EU, 1*HM-LC-Dim1TPBU-FM,5*HM-SEC-SC-2, 1*HM-SEC-SCo
Wired: HMW: CFG-LAN, 8*LC_Bl1_DR, LC_Dim1L_DR

gevoo

Hallo Christoph,

Fehler beseitigt.

Gruß gevoo

cjung

Hallo gevoo,

danke für Deine schnelle Hilfe.
Das Initialisieren mit "define Jal_Tuer_Links Jalousie HMW_LC_Bl1_DR_LEQ0169803_03 2 2" hat nun geklappt.
Anschließend habe ich mir zwei WebLinks zum Testen erstellt "define JalTest weblink cmdList Jal_Wink45:Jal_Wink45:{Jalousie_SetWinkel(Jal_Tuer_Links,45)} Jal_Schatten60:Jal_Schatten60:{Jalousie_SetWinkel(Jal_Tuer_Links,60)}"

Wenn ich einen davon auswähle, bekomme ich den folgenden Fehler:
Bareword "Jal_Tuer_Links" not allowed while "strict subs" in use at (eval 159) line 1.


Im angehängten Bild ist auch ein kleines Problem: Oben im "Set" Auswahlfeld scheint sich ein Fehlermeldungstext eingeschlichen zu haben.

Vielen Dank für Deine Mühe !!
Viele Grüße
Christoph
Raspberry Pi 2 B
Funk: HM_CFG_USB2, HM-CFG-LAN 8*HM_CC_RT_DN, 3*HM-SEC-SD, 3*HM_TC_IT_WM_W_EU, 1*HM-LC-Dim1TPBU-FM,5*HM-SEC-SC-2, 1*HM-SEC-SCo
Wired: HMW: CFG-LAN, 8*LC_Bl1_DR, LC_Dim1L_DR

gevoo

Hallo Christoph,

versuch es bitte einmal so:
define JalTest weblink cmdList Jal_Wink45:Jal_Wink45:{Jalousie_SetWinkel("Jal_Tuer_Links",45)} Jal_Schatten60:Jal_Schatten60:Jalousie_SetWinkel("Jal_Tuer_Links",60)}

Gruß gevoo

cjung

Hallo gevoo,

Danke für die Hilfe, da habe ich mich wirklich als Anfänger geoutet :-)
Der Gerätename der Definition muss natürlich in Anführungsstriche.

Die cmdlist hat aber aus irgendeinem Grund trotzdem nicht funktioniert, aber das ist kein Thema für diesen Thread.

Ich habe dann mit {Jalousie_SetWinkel("Jal_Tuer_Links",60)}  in der Befehlszeile getestet und hatte dann da teilweisen Erfolg.

Zu den Rahmenbedingungen:
Die beiden Werte: reference_running_time_bottom_top und reference_running_time_top_bottom werden bei mir aus einem Grund, den ich nicht verstehe, immer mal wieder auf den Wert 1371,70 zurückgesetzt. Ich habe Sie dann mal wieder beiden auf 50 gesetzt (das ist die Zeit, die ich gemessen habe) und natürlich ein "Save Config" gemacht. Der Wert stand beim Testen dann auch jeweils 50.

Die Jalousie ist als "define Jal_Tuer_Links Jalousie HMW_LC_Bl1_DR_LEQ0169803_03 2 2" definiert.

Ich habe die Jalousie auf Level = 70 gefahren und dann {Jalousie_SetWinkel("Jal_Tuer_Links",60)}   und {Jalousie_SetWinkel("Jal_Tuer_Links",45)}  eingetragen.
Dabei ist sie zuerst auf Level = 84  und dann auf ca Level = 68 heruntergefahren. Dann habe ich angefangen die Werte zu testen:

{Jalousie_SetWinkel("Jal_Tuer_Links",65)} 
{Jalousie_SetWinkel("Jal_Tuer_Links",67)} 
{Jalousie_SetWinkel("Jal_Tuer_Links",63)} 
{Jalousie_SetWinkel("Jal_Tuer_Links",61)}

Dabei konnte ich sehr erfolgreich die Neigung der Lamellen fein justieren.
Mit einem Winkelwert hatten die Lamellenneigungen allerdings nichts zu tun. Es ist schließlich immer ein Thema, ob ich als letztes nach oben, oder nach unten gefahren bin.
Ich kann mir gut vorstelle, dass bei mir die werte von 50 sec rauf und runter sowie jeweils 2 sec Wendezeit noch nicht so genau passen. Das muss ich die Woche über mal testen.

Wenn ich mir jetzt überlege, was ich mir in der Bedienung wünschen würde, dann könnte es so aussehen:
Ich fahre die Jalousie mit dem normalen slider auf ein bestimmtes Level und  habe dann im webcmd noch einen Wert +1 und -1 mit dem ich die Position zum ausprobieren inkrementell in Einzelschritten verändern kann. Aus der Erfahrung heraus, kann ich den Wert dann mgl.  später auf +3 oder -2 setzen, je nachdem, was ich an meiner speziellen Jalousie dann haben will.
Mit den ermittelten Werten
Ich habe noch keine Möglichkeit gefunden, eine inkrementelle Einstellung zu hinterlegen. evtl. brauche ich da einfach noch mehr Ahnung.

Viele Grüße
Christoph




Raspberry Pi 2 B
Funk: HM_CFG_USB2, HM-CFG-LAN 8*HM_CC_RT_DN, 3*HM-SEC-SD, 3*HM_TC_IT_WM_W_EU, 1*HM-LC-Dim1TPBU-FM,5*HM-SEC-SC-2, 1*HM-SEC-SCo
Wired: HMW: CFG-LAN, 8*LC_Bl1_DR, LC_Dim1L_DR

gevoo

Hallo Christoph,

ich habe offenbar immer noch ein Verständnisproblem:
Es ist schließlich immer ein Thema, ob ich als letztes nach oben, oder nach unten gefahren bin.
Das must Du mir bitte etwas genauer erklären.

Gruß gevoo

cjung

Hallo gevoo,

ich habe nochmal etwas weiter getestet.
In den Fotos habe ich mit der normalen Steuerung das Level verändert.
Die Bilder zeigen:
1. Level 100 auf Level 50
2. Level 50 auf Level 60
3. Level 60 auf Level 40
4. Level 40 auf Level 50

In Bild 1 und Bild 4 steht das Level jeweils auf 50. Die Jalousie ist aber genau andersherum gekippt.

Mein nächstes Ziel war, Dir eine Sammlung von Daten mit Fotos zu schicken.
Dabei wollte ich eine Serie mit verschiedenen Positionen zeigen:
Also (Beispielwerte, hat nichts mit dem Log unten zu tun):
{Jalousie_SetWinkel("Jal_Tuer_Links",60)} 
{Jalousie_SetWinkel("Jal_Tuer_Links",30)} 
{Jalousie_SetWinkel("Jal_Tuer_Links",45)} 
{Jalousie_SetWinkel("Jal_Tuer_Links",70)} 
{Jalousie_SetWinkel("Jal_Tuer_Links",45)} 

Leider hat nicht jeder Befehl auch eine Reaktion gezeigt, so dass die Bilder keinen Unterschied gezeigt hätten.
Auch das Logfile war nicht so aussagekräftig, vor allen weil ich auch keine Korrelation zu den gesetzten Werten gefunden habe.
Kannst Du evtl. ein eigenes Log für die 90_Jalousie.pm erzeugen ?

2015.05.26 20:04:04 3: HM485: HMW_LC_Bl1_DR_LEQ0169803_03: level -> 51
2015.05.26 20:04:06 3: HM485_LAN: Event: I[0](2,Y,F,B)(D8) 0000D511 -> FFFFFFFF [4] 69(i) 02
2015.05.26 20:04:11 3: HM485_LAN: Event: I[1](2,Y,F,B)(DA) 0000D511 -> FFFFFFFF [4] 69(i) 02
2015.05.26 20:04:11 3: HM485: HMW_LC_Bl1_DR_LEQ0169803_03: level -> 50
2015.05.26 20:04:16 3: HM485_LAN: Event: I[2](2,Y,F,B)(DC) 0000D511 -> FFFFFFFF [4] 69(i) 02
2015.05.26 20:04:30 3: HM485_LAN: Event: I[1](3,Y,F,B)(FA) 0000D511 -> FFFFFFFF [4] 69(i) 02
2015.05.26 20:04:30 3: HM485: HMW_LC_Bl1_DR_LEQ0169803_03: level -> 49
2015.05.26 20:04:36 3: HM485_LAN: Event: I[3](0,Y,F,B)(9E) 0000D511 -> FFFFFFFF [4] 69(i) 02
2015.05.26 20:04:41 3: HM485_LAN: Event: I[1](1,Y,F,B)(BA) 0000D511 -> FFFFFFFF [4] 69(i) 02
2015.05.26 20:04:46 3: HM485_LAN: Event: I[3](2,Y,F,B)(DE) 0000D511 -> FFFFFFFF [4] 69(i) 02
2015.05.26 20:04:55 3: HM485_LAN: Event: I[1](3,Y,F,B)(FA) 0000D511 -> FFFFFFFF [4] 69(i) 02
2015.05.26 20:04:55 3: HM485: HMW_LC_Bl1_DR_LEQ0169803_03: level -> 48
2015.05.26 20:05:00 3: HM485_LAN: Event: I[3](0,Y,F,B)(9E) 0000D511 -> FFFFFFFF [4] 69(i) 02
2015.05.26 20:05:14 3: HM485_LAN: Event: I[1](1,Y,F,B)(BA) 0000D511 -> FFFFFFFF [4] 69(i) 02
2015.05.26 20:05:14 3: HM485: HMW_LC_Bl1_DR_LEQ0169803_03: level -> 50
2015.05.26 20:05:19 3: HM485_LAN: Event: I[3](2,Y,F,B)(DE) 0000D511 -> FFFFFFFF [4] 69(i) 02
2015.05.26 20:05:29 3: HM485_LAN: Event: I[1](3,Y,F,B)(FA) 0000D511 -> FFFFFFFF [4] 69(i) 02
2015.05.26 20:05:47 3: HM485_LAN: Event: I[3](0,Y,F,B)(9E) 0000D511 -> FFFFFFFF [4] 69(i) 02
2015.05.26 20:06:04 3: HM485_LAN: Event: I[1](1,Y,F,B)(BA) 0000D511 -> FFFFFFFF [4] 69(i) 02
2015.05.26 20:06:04 3: HM485: HMW_LC_Bl1_DR_LEQ0169803_03: level -> 49
2015.05.26 20:06:09 3: HM485_LAN: Event: I[3](2,Y,F,B)(DE) 0000D511 -> FFFFFFFF [4] 69(i) 02
2015.05.26 20:07:01 3: HM485_LAN: Event: I[1](3,Y,F,B)(FA) 0000D511 -> FFFFFFFF [4] 69(i) 02
2015.05.26 20:07:01 3: HM485: HMW_LC_Bl1_DR_LEQ0169803_03: level -> 50
2015.05.26 20:07:06 3: HM485_LAN: Event: I[3](0,Y,F,B)(9E) 0000D511 -> FFFFFFFF [4] 69(i) 02
2015.05.26 20:07:43 3: HM485_LAN: Event: I[1](1,Y,F,B)(BA) 0000D511 -> FFFFFFFF [4] 69(i) 02
2015.05.26 20:08:11 3: HM485_LAN: Event: I[3](2,Y,F,B)(DE) 0000D511 -> FFFFFFFF [4] 69(i) 02
2015.05.26 20:08:20 3: HM485_LAN: Event: I[1](3,Y,F,B)(FA) 0000D511 -> FFFFFFFF [4] 69(i) 02
2015.05.26 20:08:45 3: HM485_LAN: Event: I[3](0,Y,F,B)(9E) 0000D511 -> FFFFFFFF [4] 69(i) 02
2015.05.26 20:08:45 3: HM485: HMW_LC_Bl1_DR_LEQ0169803_03: level -> 49
2015.05.26 20:08:50 3: HM485_LAN: Event: I[1](1,Y,F,B)(BA) 0000D511 -> FFFFFFFF [4] 69(i) 02
2015.05.26 20:09:14 3: HM485_LAN: Event: I[3](2,Y,F,B)(DE) 0000D511 -> FFFFFFFF [4] 69(i) 02
2015.05.26 20:09:18 3: HM485_LAN: Event: I[1](3,Y,F,B)(FA) 0000D511 -> FFFFFFFF [4] 69(i) 02
2015.05.26 20:09:39 3: HM485_LAN: Event: I[3](0,Y,F,B)(9E) 0000D511 -> FFFFFFFF [4] 69(i) 02
2015.05.26 20:09:39 3: HM485: HMW_LC_Bl1_DR_LEQ0169803_03: level -> 48
2015.05.26 20:09:44 3: HM485_LAN: Event: I[1](1,Y,F,B)(BA) 0000D511 -> FFFFFFFF [4] 69(i) 02
2015.05.26 20:10:08 3: HM485_LAN: Event: I[3](2,Y,F,B)(DE) 0000D511 -> FFFFFFFF [4] 69(i) 02
2015.05.26 20:10:22 3: HM485_LAN: Event: I[1](3,Y,F,B)(FA) 0000D511 -> FFFFFFFF [4] 69(i) 02
2015.05.26 20:10:31 3: HM485_LAN: Event: I[3](0,Y,F,B)(9E) 0000D511 -> FFFFFFFF [4] 69(i) 02


Viele Grüße
Christoph
Raspberry Pi 2 B
Funk: HM_CFG_USB2, HM-CFG-LAN 8*HM_CC_RT_DN, 3*HM-SEC-SD, 3*HM_TC_IT_WM_W_EU, 1*HM-LC-Dim1TPBU-FM,5*HM-SEC-SC-2, 1*HM-SEC-SCo
Wired: HMW: CFG-LAN, 8*LC_Bl1_DR, LC_Dim1L_DR

gevoo

Hallo Christoph,

kann ich aus Deinen Ausführungen schlußfolgern:
- daß die Lamellen beim Herunterfahren nach innen voll geschossen werden?
- daß die Lamellen beim Hochfahren nach außen voll geschlossen werden?
- daß sich beim Ändern des Level immer die Lamellen zuerst in die jeweilige Endlage drehen, bevor sich die Jalousie bewegt?

Gruß gevoo

gevoo

Hallo Christoph,

wie wäre es, wenn wir mit dem Testen der Funktion Jalousie_SetWinkel beginnen.
Habe ein eigenes Log gebaut.
Stell die Jalousie an ein beliebiges Level und experimentiere mit Jalousie_SetWinkel herum.

Gruß gevoo