FHEM Forum

FHEM - Hausautomations-Systeme => ZWave => Thema gestartet von: HomeAlone am 03 Juni 2015, 18:13:21

Titel: Merten Funk-Rolladentaster Connect (5025, 5035, 5045) modelConfig: unknown
Beitrag von: HomeAlone am 03 Juni 2015, 18:13:21
Hallo zusammen,

System: Rasberry Pi 2, RaZberry Z-Wave Plus Modul mit Merten Funk-Rolladentaster Connect 503519

Der Funk-Taster ist direkt auf dem Merten Jalousiesteuerungs-Einsatz Standard (580698) aufgesetzt.

Wenn ich den Taster anlerne, gibt mir das Logfile folgendes aus:

2015-06-03_11:17:26 ZWave_WINDOW_COVERING_3 associationAdd 1 01
2015-06-03_11:17:27 ZWave_WINDOW_COVERING_3 modelConfig: unknown
2015-06-03_11:17:27 ZWave_WINDOW_COVERING_3 modelId: 007a-4004-0001
2015-06-03_11:17:27 ZWave_WINDOW_COVERING_3 model: Merten Wall Roller Shutter Module


Anschließendes runter und hochfahren klappt am Schalter selbst.
Im Log von fhem (zuvor habe ich das device noch umbenannt und den log level auf 5 gestellt) wird das wie folgt festgehalten:


2015-06-03_11:25:30 Rollade_rechts.Wohnzimmer UNPARSED: BASIC_WINDOW_COVERING 03500200
2015-06-03_11:25:32 Rollade_rechts.Wohnzimmer UNPARSED: BASIC_WINDOW_COVERING 03500100
2015-06-03_11:57:40 Rollade_rechts.Wohnzimmer UNPARSED: BASIC_WINDOW_COVERING 03500140
2015-06-03_11:58:09 Rollade_rechts.Wohnzimmer UNPARSED: BASIC_WINDOW_COVERING 03500100
2015-06-03_12:06:41 Rollade_rechts.Wohnzimmer UNPARSED: BASIC_WINDOW_COVERING 03500140


Als ich dann in der GUI von fhem bei den Parametern zu der "Rollade_rechts.Wohnzimmer" auf das associationAdd 1 01 geklickt habe, verschwand der Text und es erscheint nun eine Glühbirne die an ist und eine die aus ist.

Daß ich nun über fhem hoch- und runterfahren kann ist ja schon mal nicht schlecht :)

Im Log erscheint jetzt folgendes:

2015-06-03_16:34:34 Rollade_rechts.Wohnzimmer on
2015-06-03_16:35:22 Rollade_rechts.Wohnzimmer off
2015-06-03_16:36:04 Rollade_rechts.Wohnzimmer on


Vermutlich sollte hier aber etwas wie up und down stehen, oder?

Auf der Detailseite zu Rollade_rechts.Wohnzimmer erscheinen folgende Internals:

DEF d7882578 3
IODev ZWAVE1
LASTInputDev ZWAVE1
MSGCNT 1
NAME Rollade_rechts.Wohnzimmer
NR 30
STATE on
TYPE ZWave
ZWAVE1_MSGCNT 1
ZWAVE1_RAWMSG 0004000303500140
ZWAVE1_TIME 2015-06-03 12:06:41
homeId d7882578
id 03
lastMsgTimestamp 1433343317


Bei den Readings folgendes:

UNPARSED BASIC_WINDOW_COVERING 03500140 2015-06-03 12:06:41
model Merten Wall Roller Shutter Module 2015-06-03 16:55:17
modelConfig unknown 2015-06-03 16:55:17
modelId 007a-4004-0001 2015-06-03 16:55:17
state on 2015-06-03 16:36:04
transmit OK 2015-06-03 16:36:04


Hier irritiert mich vor allem der Eintrag UNPARSED BASIC_WINDOW_COVERING 03500140.
Zudem scheint es keine config für den Taster zu geben?
Zumindest vermute ich das nach der Lektüre von www.fhemwiki.de/wiki/Z-Wave (http://www.fhemwiki.de/wiki/Z-Wave)

attr Rollade_rechts.Wohnzimmer classes
Liefert mir im Textfeld dahinter:
MANUFACTURER_SPECIFIC VERSION CONFIGURATION MULTI_CHANNEL ASSOCIATION MULTI_CHANNEL_ASSOCIATION SWITCH_MULTILEVEL BASIC_WINDOW_COVERING SENSOR_MULTILEVEL SENSOR_CONFIGURATION PROTECTION MARK BASIC_WINDOW_COVERING


Sooo... und jetzt hakt es bei mir leider aus.

Was bedeuten die Fehlermeldungen? fhem "UNPARSED BASIC_WINDOWS_COVERING" gibt bei Google ganze Null Treffer und auch die model Config unknown Meldung lassen mich vermuten, dass hier etwas noch nicht ganz rund läuft.

Hat jemand einen Tipp für mich?

Viele Grüße,
Sascha



Titel: Antw:Merten Funk-Rolladentaster Connect (5025, 5035, 5045) modelConfig: unknown
Beitrag von: krikan am 03 Juni 2015, 19:13:54
Hallo Sascha,

vorweg: Z-Wave-spezifische Fragen sind im Unterforum zu Z-Wave besser aufgehoben. Dort hast Du bessere Chancen bei Fragen, insbesondere liest dort der Entwickler des Z-Wave-Moduls mit.

Zu Deiner Frage: "UNPARSED xyz" ist keine Fehlermeldung, sondern das sind dir "Rohnachrichten. Es bedeutet, dass die Z-Wave Command Class von Fhem noch nicht bzw. nicht vollständig eingebunden ist. Hier müssen ggfs. noch Anpassungen am 10_ZWave.pm-Modul vorgenommen werden. Wenn Du genau sagst, welche UNPARSED zu welcher Aktion passt, kann man das angehen. Ich schau aber noch mal in die entsprechenden Doku, ob es nicht dort schon erkennbar ist oder ich es hier verstehe.

ZitatVermutlich sollte hier aber etwas wie up und down stehen, oder?
Ja, könnte. Aber das kannst Du auch eigenständig anpassen: Schau nach http://forum.fhem.de/index.php/topic,12080.msg71651.html#msg71651.

ZitatZudem scheint es keine config für den Taster zu geben?
Zumindest vermute ich das nach der Lektüre von www.fhemwiki.de/wiki/Z-Wave
Das ist korrekt. Merten ist bei Z-Wave teilweise besonders und hier nicht so häufig vertreten. Das ist aber nicht tragisch und kein Problem.
Die Configs sind lediglich Einrichtungshilfen für Z-Wave und haben keine funktionale Bedeutung in Fhem. Wenn Du eine Config anlegen möchtest, dann kannst Du das gerne hier zur Verfügung stellen und ich packe das mit ins nächste  Config-Update.

Gruß, Christian

PS: Sehe gerade Deine andere Frage zur Heizungssteuerung: Kennst Du die Z-Wave Heatit-Steuerung?

Titel: Antw:Merten Funk-Rolladentaster Connect (5025, 5035, 5045) modelConfig: unknown
Beitrag von: krikan am 03 Juni 2015, 20:54:16
Die UNPARSED-Meldungenn sollten verschwinden, wenn Du in 10_ZWAVE.pm den Block zu BASIC_WINDOW_COVERING folgendermaßen ersetzt:
  BASIC_WINDOW_COVERING    => { id => '50',
    set   => { coveringClose  => "0140",
               coveringOpen   => "0100",
               coveringStop   => "02"  },
    parse => { "03500140"     => "covering:close",
               "03500100"     => "covering:open",
               "03500200"     => "covering:stop" } },

Kannst Du gerne probieren und berichten. Kann es halt nicht testen.

Interessanter sollte aber sein, ob die Steuerung über "set dim %" funktioniert und das entsprechende Reading "dim" dann die richtige Position der Rollade anzeigt.

Zum Hintergrund: Die Command Class BASIC_WINDOW_COVERING soll laut alter Z-Wave Doku aus 2009 nicht mehr verwendet werden und ist auch sehr rudimentär. Stattdessen soll laut  Doku die Command Class SWITCH_MULTILEVEL verwendet werden. SWITCH_MULTILEVEL ist auch für Dimmer zuständig und darum sind die Befehle auch on/off/dim.

Was mich wundert: Warum bekommst Du die UNPARSED-Meldungen der CC BASIC_WINDOW_COVERING, obwohl du anscheinend bereits mit on/off der CC SWITCH_MULTILEVEL steuerst? Kommst UNPARSED nur bei Steuerung über den Taster?
Titel: Antw:Merten Funk-Rolladentaster Connect (5025, 5035, 5045) modelConfig: unknown
Beitrag von: HomeAlone am 03 Juni 2015, 21:44:02
Hallo krikan,

habe die Änderungen in 10_Zwave.pm eingepflegt.

Anschließend in der GUI

Dann am Schalter folgende Sequenz gedrückt:
Runter (Taster lange nach oben gedrückt)
Rauf (Taste lange nach oben gedrückt)
Stop (Taster kurz nach unten gedrückt)
"nix passiert" (Taste kurz nach oben gedrückt)
Rauf (Taste lange nach oben gedrückt)

Lange heißt hier ca. 1-2 Sekunden - halt so lange, bis sich die Rollade bewegt hat.

Das führt zu folgendem Log:

2015-06-03_21:24:50 Rollade_rechts.Wohnzimmer covering: close
2015-06-03_21:25:19 Rollade_rechts.Wohnzimmer covering: open
2015-06-03_21:25:39 Rollade_rechts.Wohnzimmer UNPARSED: BASIC_WINDOW_COVERING 03500240
2015-06-03_21:25:50 Rollade_rechts.Wohnzimmer covering: stop
2015-06-03_21:26:03 Rollade_rechts.Wohnzimmer covering: open


So, ich bin ja (hoffentlich) lernfähig - d.h. das UNPARSED kam, wenn die Rollade sich nach oben bewegt und ich kurz nach unten drücke.
Danach das Stop müsste dann dem kurz nach oben drücken bei stehender Rollade entsprechen.

Richtig?

Ich versuche gleich mal alle Tastenkombinationen aus: Also kurz rauf, lange rauf, kurz runter lange runter - jeweils für stehende Rolladen und sich bewegende Rolladen. Dann müssten ja alle Events erfasst sein.

Zum Dim: Ich kann zwar sowohl über den Slider neben set einen Wert einstellen - nach Klicken auf set tut sich aber nix. Im log steht zwar was, aber die Rollade verweilt an Ihrer Ursprungsposition.

2015-06-03_21:20:08 Rollade_rechts.Wohnzimmer on
2015-06-03_21:20:46 Rollade_rechts.Wohnzimmer dim 28
2015-06-03_21:21:24 Rollade_rechts.Wohnzimmer off
2015-06-03_21:22:03 Rollade_rechts.Wohnzimmer on
2015-06-03_21:22:08 Rollade_rechts.Wohnzimmer off
2015-06-03_21:22:39 Rollade_rechts.Wohnzimmer on
2015-06-03_21:24:13 Rollade_rechts.Wohnzimmer dim 46


Ich kann aber gerade nicht mehr sagen, was ich da in welcher Reihenfolge in der GUI geklickt habe.

Werde mich mal an mein Laptop schwingen und das mobil machen - ist etwas einfacher als hier zu klicken und ans andere Ende der Wohnung zu rennen, um zu sehen was und ob was passiert... :)

Dann führe ich beide Versuchsreihen durch - also einmal alle Schalterkombinationen und alle Klickkombinationen.

P.S.: zu dem Heatit - das wurde mir heute auf Amazon "empfohlen" ;) Ist allerdings ein stolzer Preis mit gut 170 Euro.
Titel: Antw:Merten Funk-Rolladentaster Connect (5025, 5035, 5045) modelConfig: unknown
Beitrag von: HomeAlone am 03 Juni 2015, 22:28:30
OK, erste Testreihe für den Taster abgeschlossen.

Start mit Rollade ganz oben:

Das Logfile des Tasters (ich habe die Nummern von oben mit eingefügt):

01) 2015-06-03_21:53:23 Rollade_rechts.Wohnzimmer covering: close
02) 2015-06-03_21:53:54 Rollade_rechts.Wohnzimmer covering: open
03) 2015-06-03_21:54:24 Rollade_rechts.Wohnzimmer UNPARSED: BASIC_WINDOW_COVERING 03500240
04) 2015-06-03_21:54:27 Rollade_rechts.Wohnzimmer covering: stop
05) 2015-06-03_21:54:33 Rollade_rechts.Wohnzimmer covering: close
06) 2015-06-03_21:54:43 Rollade_rechts.Wohnzimmer covering: stop
07) 2015-06-03_21:54:46 Rollade_rechts.Wohnzimmer UNPARSED: BASIC_WINDOW_COVERING 03500240
08) 2015-06-03_21:54:51 Rollade_rechts.Wohnzimmer covering: close
09) 2015-06-03_21:55:09 Rollade_rechts.Wohnzimmer UNPARSED: BASIC_WINDOW_COVERING 03500240
10) 2015-06-03_21:55:11 Rollade_rechts.Wohnzimmer covering: stop
11) 2015-06-03_21:55:14 Rollade_rechts.Wohnzimmer covering: open
12) 2015-06-03_21:55:33 Rollade_rechts.Wohnzimmer UNPARSED: BASIC_WINDOW_COVERING 03500240
13) 2015-06-03_21:55:34 Rollade_rechts.Wohnzimmer covering: stop
14) 2015-06-03_21:55:36 Rollade_rechts.Wohnzimmer covering: open


D.h. im Modul fehlt noch der Code für kurz runter - habe ich in 10_ZWave.pm eingefügt:


  BASIC_WINDOW_COVERING    => { id => '50',
    set   => { coveringClose  => "0140",
               coveringOpen   => "0100",
               coveringStop   => "02"  },
    parse => { "03500140"     => "covering:close",
               "03500100"     => "covering:open",
               "03500200"     => "covering:stop",
               "03500240"     => "covering:stop" } },


Und siehe da im Log kommt kein UNPARSED: ... mehr:


2015-06-03_22:22:42 Rollade_rechts.Wohnzimmer covering: close
2015-06-03_22:22:47 Rollade_rechts.Wohnzimmer covering: stop
2015-06-03_22:22:50 Rollade_rechts.Wohnzimmer covering: stop
2015-06-03_22:22:52 Rollade_rechts.Wohnzimmer covering: stop
2015-06-03_22:22:53 Rollade_rechts.Wohnzimmer covering: open

Tastenkombi: lange runter, kurz runter, kurz rauf, kurz runter, lange rauf

qed ;) D.h. diese Zeilen müssten in das 10_ZWave Modul, richtig?

In der GUI habe ich angefangen auszuprobieren, aber da dort ein STOP als Option fehlt, stimmt hier irgendwas noch nicht. Eine Idee?
Titel: Antw:Merten Funk-Rolladentaster Connect (5025, 5035, 5045) modelConfig: unknown
Beitrag von: krikan am 03 Juni 2015, 22:42:03
Sieht doch gut aus! Kannst für Rudi einen Patch machen, wenn Du magst (http://www.fhemwiki.de/wiki/How_to_write_a_patch), und im Z-Wave Unterforum einstellen. Wobei ich mir nicht sicher bin, ob das wirklich eine Standard-Command Class ist oder -wozu ich tendiere- merten-spezifisch ist.

Wobei mich bei dem Aktor einige Dinge wundern:
Laut http://www.pepper1.net/zwavedb/device/85 kann der BASIC_WINDOW_COVERING V2. Nur eine Version 2 finde ich in keiner "offiziellen" Quelle.
SWITCH_MULTILEVEL wird nach deinem Test auch nicht richtig unterstützt; evtl. musst Du aber noch die in pepper1 genannten Fahrzeiten konfigurieren und vielleicht läuft es dann. STOP gibt es auch in SWITCH_MULTILEVEL (eigentlich solltest Du schon einen stop-Befehl haben).
Warum hat der Aktor 2 Endpoints? Kann man 2 Jalousien unanhängig voneinander anschließen und steuern?
Also es gibt noch ein paar Besonderheiten, die Du erforschen darfst  ;)
Titel: Antw:Merten Funk-Rolladentaster Connect (5025, 5035, 5045) modelConfig: unknown
Beitrag von: HomeAlone am 06 Juni 2015, 19:29:33
So, der Patch ist eingereicht und angenommen. D.h. die die Anzeige von Tasterdrücken ist jetzt sauber.

Zu den anderen Punkten habe ich ein wenig ausprobiert, stehe aber jetzt auf dem Schlauch.

Zitat
Laut http://www.pepper1.net/zwavedb/device/85 kann der BASIC_WINDOW_COVERING V2. Nur eine Version 2 finde ich in keiner "offiziellen" Quelle.
dito. Ich habe jetzt einmal Merten angeschrieben, vielleicht bekomme ich ja eine Antwort.

ZitatSWITCH_MULTILEVEL wird nach deinem Test auch nicht richtig unterstützt; evtl. musst Du aber noch die in pepper1 genannten Fahrzeiten konfigurieren und vielleicht läuft es dann. STOP gibt es auch in SWITCH_MULTILEVEL (eigentlich solltest Du schon einen stop-Befehl haben).
Ich habe mir das Datenblatt bei pepper1 angeschaut - kannst Du mir einen kleinen Tipp geben, wie ich bei der Ermittlung der Parameter vorgehen soll?

Also als Beispiel Parameter 176, Umschaltpaus (Motorschutz), Eingabe (0-255) * 0,1s
Die Werte habe ich aus dem "Beipackzettel" zum Rolladentaster. Dort wird als Range immer 0-255 angegben. Bei Pepper1 0-127.
Was hat es mit dem Motorschutz auf sich? Kann ich hier etwas zerstören?
Wie messe ich diesen Wert?

ZitatWarum hat der Aktor 2 Endpoints? Kann man 2 Jalousien unanhängig voneinander anschließen und steuern?
Ich vermute mal stark, dass der 2. Endpoint für einen Lichtsensor ist. Der Schalter heißt in der Anleitung "Funk Rollladentaster CONNECT mit Sensoranschluss".

In der Zwischenzeit habe ich auch einmal die z-way Software installiert (auf einer anderen SD-Card). Diese führt ein ausführliches Interview mit dem Taster durch. Allerdings wird er nach dem ersten Auto-Durchlauf nicht korrekt erkannt. Man kann über die GUI ein Description file herunterladen. Anschließend laufen die meisten Interviews der erkannten Klassen via force interview korrekt durch.
Das logfile mit den Interviews, sowie anschließendem Test der Funktionen hoch, runter und stop (dort über den Expertenmodus in der Klasse MULTILEVEL_SWITCH) habe ich angehangen; vielleicht gibt das ja noch den ein oder anderen Aha-Effekt bei wissenden Leuten.
Unter Z-Way wurden mir auch viele der ZWave Klassen doppelt angezeigt, unter anderem MULTILEVEL_SWITCH.
Ich habe hier noch mal ein wenig gegoogelt und bin auf diesen Thread gestoßen: http://forum.z-wave.me/viewtopic.php?f=3419&t=19279&p=46849&hilit=merten#p46849 (http://forum.z-wave.me/viewtopic.php?f=3419&t=19279&p=46849&hilit=merten#p46849)
Könnte die Antwort von PoltoS, 25 May 2012 16:02  einen Hinweis darauf geben, warum sich die Merten-Geräte so schwer tun? Die beiden Instanzen haben ich bei meinem Device ja auch. Im angehangenen Logfile kann man sehen, dass das Device 3 sowohl als Node 3:0, als Node 3:1 als auch als Node 3:2 angesprochen wird.

Also ich stochere gerade wie gesagt ein wenig im Dunkeln... Vielleicht sieht der eine oder andere ja einen Lichtschalter? ;)
Titel: Antw:Merten Funk-Rolladentaster Connect (5025, 5035, 5045) modelConfig: unknown
Beitrag von: krikan am 06 Juni 2015, 20:53:07
ZitatDie Werte habe ich aus dem "Beipackzettel" zum Rolladentaster. Dort wird als Range immer 0-255 angegben. Bei Pepper1 0-127.
In Pepper sind die Werte auf 2 Bytes aufgeteilt, wenn Dein Beipackzettel das auf Word-Basis angibt hast Du schon mal Ähnlichkeit. Versuche doch mal time up und time down mit "set configByte" oder set configWord" zu konfigurieren (Laufzeit schätzen!) und entsprechend mit get configByte/configWord zurrückzulesen. Dann mal wieder mit "set dim %" Prozent probieren und hoffen, dass eine vernünftige Rücknachricht kommt.

ZitatWas hat es mit dem Motorschutz auf sich? Kann ich hier etwas zerstören?
Vermutung: Schutz gegen sofortige Umschaltung der Laufrichtung. Das kann man selbst beeinflußen und manche Motoren haben afaik auch einen Schutz.

Zitat
z-way Software
Das Log zeigt, dass Z-Way die Class BASIC WINDOW COVERING nicht unterstützt.
Das Command "SwitchMultilevel Start Level Change", welches Z-Way nutzt, ist in Fhem bisher nicht eingebaut, weil das zumeist auch über dim geht. Wenn Merten das aber nicht kann, muss das wohl eingebaut werden. Merten ist halt speziell...

ZitatVielleicht sieht der eine oder andere ja einen Lichtschalter?
Verschiebe den Thread bitte nach Z-Wave. Da lesen auch die Wissenden (u.a. Rudi) mit. Hier ist er nur sporadisch unterwegs, so dass Deine Aussichten schlechter werden. Da er aber verschobene Threads immer noch nicht mitbekommt, musst Du im wohl über den Patchthread eine Info zukommen lassen ;)
Titel: Antw:Merten Funk-Rolladentaster Connect (5025, 5035, 5045) modelConfig: unknown
Beitrag von: HomeAlone am 24 Juni 2015, 16:19:19
ZitatVerschiebe den Thread bitte nach Z-Wave. Da lesen auch die Wissenden (u.a. Rudi) mit. Hier ist er nur sporadisch unterwegs, so dass Deine Aussichten schlechter werden. Da er aber verschobene Threads immer noch nicht mitbekommt, musst Du im wohl über den Patchthread eine Info zukommen lassen

Oki, hiermit geschehen. :) Hat etwas gedauert, da ich zwischenzeitlich im Urlaub war  8)

Dies hier war der letzte Stand:
ZitatDas Log zeigt, dass Z-Way die Class BASIC WINDOW COVERING nicht unterstützt.
Das Command "SwitchMultilevel Start Level Change", welches Z-Way nutzt, ist in Fhem bisher nicht eingebaut, weil das zumeist auch über dim geht. Wenn Merten das aber nicht kann, muss das wohl eingebaut werden. Merten ist halt speziell...

Ich helfe gerne, wenn ich hier Daten liefern kann. Ich bräuchte nur einen kleinen Stups in die richtige Richtung, welche Daten benötigt werden...
Titel: Antw:Merten Funk-Rolladentaster Connect (5025, 5035, 5045) modelConfig: unknown
Beitrag von: krikan am 27 Juni 2015, 21:17:37
Zitat von: HomeAlone am 24 Juni 2015, 16:19:19
Ich helfe gerne, wenn ich hier Daten liefern kann. Ich bräuchte nur einen kleinen Stups in die richtige Richtung, welche Daten benötigt werden...
Daten liefern brauchst Du nicht.
Vielmehr muss "nur" das Command "SwitchMultilevel Start Level Change" der Class SWITCH_MULTILEVEL in 10_ZWave.pm eingebaut werden. Anschließend müsstest Du testen, ob das mit dem Merten danach funktioniert. Infos zu den notwendigen Codes findest Du bspw. unter http://www.fhemwiki.de/wiki/Z-Wave#Links (Hilfen zur Einbindung von Command Classes in Fhem).
Zur "Not" könnte man es vorab auch mit raw-Messages zum Testen probieren, siehe bspw.: http://forum.fhem.de/index.php/topic,37202.msg294912.html#msg294912

ZitatVersuche doch mal time up und time down mit "set configByte" oder set configWord" zu konfigurieren (Laufzeit schätzen!) und entsprechend mit get configByte/configWord zurrückzulesen. Dann mal wieder mit "set dim %" Prozent probieren und hoffen, dass eine vernünftige Rücknachricht kommt.
Hast Du das eigentlich probiert?
Titel: Antw:Merten Funk-Rolladentaster Connect (5025, 5035, 5045) modelConfig: unknown
Beitrag von: HomeAlone am 29 Juni 2015, 23:11:39
ZitatVielmehr muss "nur" das Command "SwitchMultilevel Start Level Change" der Class SWITCH_MULTILEVEL in 10_ZWave.pm eingebaut werden.

OK, ich habe mir die Definition von SwitchMultilevel angeschaut. In der 10_ZWave.pm sind lediglich set und get definiert. Es fehlen noch startlevelchange, report, stoplevelchange und dolevelchange: https://github.com/yepher/RaZBerry/blob/master/CommandClasses.md (https://github.com/yepher/RaZBerry/blob/master/CommandClasses.md) (Die Struktur bei COMMAND_CLASS_SWITCH_MULTILEVEL suchen)

Die zu ergänzenden Zeilen in der 10_ZWave.pm müssten dann doch so aussehen:

    report => { off         => "0300",
on          => "03FF"},
startlevelchange    => { swmStatus => "04"},
stoplevelchange    => { swmStatus => "05"},
dolevelchange    => { off        => "0600",
on         => "06FF"},

startlevelchange ist noch nicht korrekt. Dort wird im Gegensatz zu den anderen Parametern eine variable Bitmaske übergeben. Wie gebe ich das in der 10_ZWave.pm an?

Das hier wäre der zu transformierende Part:

{
            "FIELD_KEY": "4",
            "FIELD_NAME": "SWITCH_MULTILEVEL_START_LEVEL_CHANGE",
            "FIELD_DESCRIPTION": "Switch Multilevel Start Level Change",
            "FIELD_PARAMETERS": {
              "FIELD_KEY": "0",
              "FIELD_TYPE": "STRUCT_BYTE",
              "FIELD_TYPEhashcode": "7",
              "bitfield": {
                "FIELD_KEY": "3",
                "FIELD_NAME": "Reserved",
                "FIELD_BIT_MASK": "31",
                "FIELD_OFFSET": "0"
              },
              "FIELD_BIT_DEF": [
                {
                  "FIELD_KEY": "2",
                  "FIELD_FLAG_DESCRIPTION": "Ignore Start Level",
                  "FIELD_FLAG_MASK": "32"
                },
                {
                  "FIELD_KEY": "1",
                  "FIELD_FLAG_DESCRIPTION": "UP/DOWN",
                  "FIELD_FLAG_MASK": "64"
                },
                {
                  "FIELD_KEY": "0",
                  "FIELD_FLAG_DESCRIPTION": "Roll Over",
                  "FIELD_FLAG_MASK": "128"
                }
              ]
            }


ZitatZur "Not" könnte man es vorab auch mit raw-Messages zum Testen probieren, siehe bspw.: http://forum.fhem.de/index.php/topic,37202.msg294912.html#msg294912

get ZWAVE1 raw 1304043203 (die Rollade hat bei mir die ID 4) ergibt im Logfile:

2015.06.29 22:28:47 4: ZWDongle get ZWAVE1 raw 1304043203
2015.06.29 22:28:47 5: ZWDongle_Write 00 1304043203
2015.06.29 22:28:47 5: SW: 0107001304043203da
2015.06.29 22:28:47 4: ZWDongle_ReadAnswer arg:raw regexp:^0113
2015.06.29 22:28:47 4: ZWDongle_Read ZWAVE1: sending ACK, processing 011301
2015.06.29 22:28:47 5: SW: 06
2015.06.29 22:28:47 4: ZWDongle_ReadAnswer for raw: 011301
2015.06.29 22:28:47 4: ZWDongle_Read ZWAVE1: sending ACK, processing 001305000003
2015.06.29 22:28:47 5: SW: 06
2015.06.29 22:28:47 5: ZW_SEND_DATA:OK received, removing 0107001304043203da from sendstack
2015.06.29 22:28:47 5: ZWAVE1 dispatch 001305000003
2015.06.29 22:28:47 4: ZWAVE1 CMD:ZW_SEND_DATA ID:00 ARG:0003
2015.06.29 22:28:47 4: ZWAVE1 transmit OK for 05


Aus obigem Thread wird mir aber nicht ganz klar, wie ich diese Ausgabe verwenden soll, um den Taster RAW anzusprechen?

Zu der anderen Frage:
ZitatZitat

    Versuche doch mal time up und time down mit "set configByte" oder set configWord" zu konfigurieren (Laufzeit schätzen!) und entsprechend mit get configByte/configWord zurrückzulesen. Dann mal wieder mit "set dim %" Prozent probieren und hoffen, dass eine vernünftige Rücknachricht kommt.

Hast Du das eigentlich probiert?
Jetzt ja.  ;)

Die Parameter im Originalzustand (Auslesen aus dem Merten-Schalter):

177 = 4
178 = 176
179 = 4
180 = 176

Also laut der Formel in der Beschreibung:
Hochfahren = (256*4 + 176) *0,1s = 120s default Wert. Dito für Herunterfahren.

Messen hat ergeben, dass es bei mir sowohl 27s für hoch als auch für runter braucht.
Also ergeben sich die Parameter 1 und 14 für obige Rechnung

Ein anschließendes "set dim %" wird zwar brav geloggt, nur die Rollade bewegt sich nicht.

Titel: Antw:Merten Funk-Rolladentaster Connect (5025, 5035, 5045) modelConfig: unknown
Beitrag von: krikan am 30 Juni 2015, 19:35:09
Hallo Sascha,
habe das wohl ein bißchen zu knapp geschrieben, so dass Du tlw. auf einem zu schwierigen Weg bist. Sorry. In 10_ZWave.pm (r8861 ab Zeile39ff.) brauchst Du mMn nur "SwitchMultilevel Start Level Change" als set ergänzen. Die anderen Befehle sind schon drin. Als Doku schau mal im github-Link https://github.com/yepher/RaZBerry im docs-Verzeichnis im SDS...pdf nach und in https://github.com/OpenZWave/open-zwave/blob/master/cpp/src/command_classes/SwitchMultilevel.cpp

Du könntest mal probieren, ob die raw-Befehle für "Switch Multilevel Start Level Change" überhaupt Auswirkungen haben, bevor Du was einbaust. Mein Link zu den raw-Befehlen sollte nur die grds. Vorgehensweise zeigen. Du müsste für CC SWITCH_MULTILEVEL und "Switch Multilevel Start Level Change" anpassen. So fährt bei meinem Fibaro FGRM222 mit NodeId 4 folgender raw-Befehl für "Switch Multilevel Start Level Change" die geschlossene Jalousie hoch:

get ZWAVE1 raw 1304042604603205

Ich habe nämlich noch so ein bißchen die Befürchtung, dass derzeit die Befehle an den falschen Endpoint geschickt werden.
Gruß, Christian

Titel: Antw:Merten Funk-Rolladentaster Connect (5025, 5035, 5045) modelConfig: unknown
Beitrag von: HomeAlone am 30 Juni 2015, 22:24:53
Hallo Christian,

erst einmal vielen Dank für Deine Geduld!

ZitatIch habe nämlich noch so ein bißchen die Befürchtung, dass derzeit die Befehle an den falschen Endpoint geschickt werden.
Ich würde jetzt mal halblaut behaupten, dass das Device richtig eingerichtet ist. Auf der Konfigurationsseite des Merten-Tasters in fhem steht in den Internals:
IODev ZWAVE1
id 04

Beim Drücken auf on oder off in der fhem GUI für den Merten-Taster fährt die Rollade ja auch hoch und runter.
Zudem habe ich mir - um ein Erfolgserlebnis zu haben und weil ich den 6fach Schalter praktisch finde - von Homematic den HM-CFG-USB2 mit dem HM-PB-6-WM55 gekauft. Ein Notify auf ein kurzes Drücken der ersten beiden Tasten gelegt und auch hier fährt die Rollade hoch und runter.
Oder interpretiere ich das falsch?

get ZWAVE1 raw 1304042604603205
Habe ich jetzt ausprobiert - die Rollade bewegt sich nicht.  :(
Die Ausgabe im Fenster:
ZWAVE1 raw_1304042604603205 => 011301
Das hier wird geloggt:

2015.06.30 21:44:38 4: ZWDongle get ZWAVE1 raw 1304042604603205
2015.06.30 21:44:38 5: ZWDongle_Write 00 1304042604603205
2015.06.30 21:44:38 5: SW: 010a00130404260460320593
2015.06.30 21:44:38 4: ZWDongle_ReadAnswer arg:raw regexp:^0113
2015.06.30 21:44:38 4: ZWDongle_Read ZWAVE1: sending ACK, processing 011301
2015.06.30 21:44:38 5: SW: 06
2015.06.30 21:44:38 4: ZWDongle_ReadAnswer for raw: 011301
2015.06.30 21:44:38 4: ZWDongle_Read ZWAVE1: sending ACK, processing 001305000006
2015.06.30 21:44:38 5: SW: 06
2015.06.30 21:44:38 5: ZW_SEND_DATA:OK received, removing 010a00130404260460320593 from sendstack
2015.06.30 21:44:38 5: ZWAVE1 dispatch 001305000006
2015.06.30 21:44:38 4: ZWAVE1 CMD:ZW_SEND_DATA ID:00 ARG:0006
2015.06.30 21:44:38 4: ZWAVE1 transmit OK for 05


:o

Ich hab jetzt einfach mal einen Fibaro FGRM222 bestellt. Der soll laut Doku ja auch mit Schaltern, die einen Schalter für rauf und einen für runter haben (das ist hier standardmäßig verbaut worden) verwendbar sein. Vielleicht bekomme ich ja mehr heraus, wenn ich den angeschlossen habe (z.B. ob ich nicht vielleicht doch einen Fehler in meiner config habe).

Nichts desto trotz, möchte ich natürlich den Merten-Taster auch dazu bekommen, den dim % (oder ein Äquivalent dazu) hinzubekommen.

Viele Grüße,
Sascha
Titel: Antw:Merten Funk-Rolladentaster Connect (5025, 5035, 5045) modelConfig: unknown
Beitrag von: krikan am 30 Juni 2015, 22:37:21
Kannst Du auch noch das mal probieren (Gegenrichtung), ob es eine Reaktion auslöst:
get ZWAVE1 raw 1304042604003205
Das geht bei mir auch.
Rest kommentiere ich gleich/später
Titel: Antw:Merten Funk-Rolladentaster Connect (5025, 5035, 5045) modelConfig: unknown
Beitrag von: HomeAlone am 30 Juni 2015, 23:04:34
Das funktioniert!
Die Rollade fährt hoch.  ;D

Logfile in diesem Fall:

2015.06.30 23:00:58 4: ZWDongle get ZWAVE1 raw 1304042604003205
2015.06.30 23:00:58 5: ZWDongle_Write 00 1304042604003205
2015.06.30 23:00:58 5: SW: 010a001304042604003205f3
2015.06.30 23:00:58 4: ZWDongle_ReadAnswer arg:raw regexp:^0113
2015.06.30 23:00:58 4: ZWDongle_Read ZWAVE1: sending ACK, processing 011301
2015.06.30 23:00:58 5: SW: 06
2015.06.30 23:00:58 4: ZWDongle_ReadAnswer for raw: 011301
2015.06.30 23:00:58 4: ZWDongle_Read ZWAVE1: sending ACK, processing 001305000005
2015.06.30 23:00:58 5: SW: 06
2015.06.30 23:00:58 5: ZW_SEND_DATA:OK received, removing 010a001304042604003205f3 from sendstack
2015.06.30 23:00:58 5: ZWAVE1 dispatch 001305000005
2015.06.30 23:00:58 4: ZWAVE1 CMD:ZW_SEND_DATA ID:00 ARG:0005
2015.06.30 23:00:58 4: ZWAVE1 transmit OK for 05
2015.06.30 23:01:13 4: ZWDongle_Read ZWAVE1: sending ACK, processing 000400020a32022144000000000000
2015.06.30 23:01:13 5: SW: 06
2015.06.30 23:01:13 5: ZWAVE1 dispatch 000400020a32022144000000000000
2015.06.30 23:01:13 4: ZWAVE1 CMD:APPLICATION_COMMAND_HANDLER ID:02 ARG:0a32022144000000000000
Titel: Antw:Merten Funk-Rolladentaster Connect (5025, 5035, 5045) modelConfig: unknown
Beitrag von: krikan am 30 Juni 2015, 23:17:14
Prima! Zumindest ein Erfolg. Jetzt sollten wir doch überlegen, dass Command in 10_Zwave.pm einzubauen. Dann lässt sich leichter testen.
Zitat
Ich würde jetzt mal halblaut behaupten, dass das Device richtig eingerichtet ist.
Zweifel auch nicht an Deiner Einrichtung, sondern sehe das Problem in den Merten-Besonderheiten, die irgendwelche Abweichungen von den mir bekannten Standards darstellen.

ZitatBeim Drücken auf on oder off in der fhem GUI für den Merten-Taster fährt die Rollade ja auch hoch und runter.
Das nutzt die Pflichtklasse CC BASIC, wenn das nicht funktionieren würde, hätten wir gar nicht weiterforschen brauchen.

ZitatIch hab jetzt einfach mal einen Fibaro FGRM222 bestellt. Der soll laut Doku ja auch mit Schaltern, die einen Schalter für rauf und einen für runter haben (das ist hier standardmäßig verbaut worden) verwendbar sein. Vielleicht bekomme ich ja mehr heraus, wenn ich den angeschlossen habe (z.B. ob ich nicht vielleicht doch einen Fehler in meiner config habe).
Betreibe den ohne Taster, kann dazu also nichts schreiben. Fehler s.o.: Vermutlich nein.

ZitatNichts desto trotz, möchte ich natürlich den Merten-Taster auch dazu bekommen, den dim % (oder ein Äquivalent dazu) hinzubekommen.
Fände ich auch toll, aber hoffentlich ist der Weg nicht mehr allzu steinig ;).
Ich frage mich immer noch, warum zway 3 Devices für Merten hat..
Titel: Antw:Merten Funk-Rolladentaster Connect (5025, 5035, 5045) modelConfig: unknown
Beitrag von: krikan am 01 Juli 2015, 14:05:57
Stolpere gerade über einen weiteren "Stein" (Fels?)
Hat Dein Merten-Aktor wirklich nur SWITCH_MULTILEVEL Version 1?
Dann befürchte ich, dass "Switch Multilevel Start Level Change"  Dir nicht wirklich viel hilft, da das Command keine Laufzeit akzeptiert. Das startet nur das Hoch- und Runterfahren und Du musst bei der gewünschten Position mit "set <device> stop" anhalten. Ein gezieltes Anfahren, wie über "dim %" ist dann mMn nur mit Rechnen über Perl-Code möglich. Hoffe meine Befürchtung ist falsch.
Evtl. kannst Du den gleichen Effekt jetzt schon mit "set <device> on/off", Perl-Code und "set <device> stop" erreichen, ohne etwas einbauen zu müssen.
Titel: Antw:Merten Funk-Rolladentaster Connect (5025, 5035, 5045) modelConfig: unknown
Beitrag von: HomeAlone am 01 Juli 2015, 20:26:18
Ja, ist anscheinend nur V1:


get wz_Rollade_rechts versionClass 38


gibt zurück:
versionClass_26:01 .

Hm, das ist natürlich blöd. BASIC_WINDOW_COVERING wäre ja in V2 verfügbar - aber da weiß keiner was V2 kann. Oder hast Du noch eine Idee, wie man das mit BASIC_WINDOW_COVERING V2 versuchen könnte?

Alternativ hört sich Perl auch OK an.
Habe gerade hier gelesen: http://www.fhemwiki.de/wiki/99_myUtils_anlegen und das hört sich nicht zu kompliziert an.
Titel: Antw:Merten Funk-Rolladentaster Connect (5025, 5035, 5045) modelConfig: unknown
Beitrag von: krikan am 02 Juli 2015, 12:05:45
ZitatJa, ist anscheinend nur V1:
Nicht gut, mir fehlen dann auch nach dem xten Lesen der bekannten Infos zu V1 stichhaltige Ideen es umzusetzen.

ZitatOder hast Du noch eine Idee, wie man das mit BASIC_WINDOW_COVERING V2 versuchen könnte?
Nein leider auch nicht.

ZitatAlternativ hört sich Perl auch OK an.
Kannst ja erst mal mit Kombinationen von on/off, http://fhem.de/commandref.html#sleep und stop experimentieren. Vielleicht reicht Dir das so schon.

Titel: Antw:Merten Funk-Rolladentaster Connect (5025, 5035, 5045) modelConfig: unknown
Beitrag von: HomeAlone am 03 Juli 2015, 18:34:44
OK, meine Funktion ist soweit, dass ich sie gerne einmal testen würde. Leider scheitere ich am Aufruf der Funktion :(

Der Funktionsheader sieht wie folgt aus:
sub Merten_dim($$$) {
  my ($startlevel, $endlevel, $device) = @_;
  ...

Und aus Sicherheitsgründen wollte ich die berechneten Werte erst einmal nur ausgeben:

...
    {Log 1, "Direction: $direction"};
    {Log 1, "DiffSeconds: $diffseconds"};
...


Jetzt würde ich das Ganze gerne aus dem Webfrontend aufrufen.
Dazu würde ich gerne einen Slider im Webfrontend anlegen, der von 0 - 99 (wie die dim Funktion) Werte annehmen kann.

Das klappt:

define MertenDimmer dummy
attr MertenDimmer room Wohnzimmer
attr MertenDimmer webCmd state
attr MertenDimmer setList state:slider,0,1,99


Der Slider gibt ja zunächst den startlevel an. Wenn ich ihn bewege, gibt er den endlevel an (nachdem ich auf set klicke).

-> Kann ich an dieser Stelle beide Werte abrufen? Also den Wert, der zuvor dort war und den, den ich neu eingestellt habe?

Ich habe verstanden, dass das Aufrufen der Funktion über notify funktionieren soll, bekomme aber die Syntax nicht hin.
Ich habe es erst mal mit fixen Werten versucht:

define MyNotifyMerten notify MertenDimmer:state {Merten_dim(0,50,"wz_Rollade_rechts")}


Gibt keine Fehlermeldung - es passiert aber auch nichts (es wird nichts geloggt). Vermutlich ist hier irgendwas nicht ganz korrekt...?

Hat jemand einen kurzen Tipp, wie ich es mache, dass ich beim Klicken auf set die Funktion Merten_dim($startlevel, $endlevel, <current device name>) aufrufe?

Viele Grüße,
Sascha
Titel: Antw:Merten Funk-Rolladentaster Connect (5025, 5035, 5045) modelConfig: unknown
Beitrag von: krikan am 03 Juli 2015, 18:47:59
Mache mal in einem 2. Browserfenster einen EventMonitor auf und löse mal Deinen slider per set aus, dann siehst Du Dein Event/regexp für notify und kannst das korrigieren: http://www.fhemwiki.de/wiki/Notify

Schau Dir auch mal unter http://fhem.de/commandref.html#perl OldValue("device") an.
Titel: Antw:Merten Funk-Rolladentaster Connect (5025, 5035, 5045) modelConfig: unknown
Beitrag von: HomeAlone am 08 Juli 2015, 21:29:01
Ich habe es hinbekommen. :) Obwohl ich aus der Ausgabe des EventMonitors und der Beschreibung von notify nicht schlau geworden bin. Was dann half war wildes Ausprobieren, bis ich mich dann endlich der eigentlichen Aufgabe dem Codestück widmen konnte.  :o Die Hinweise zu OldValue() waren Gold wert. :)

Im EventMonitor wird folgendes geloggt, wenn ich den Slider verschiebe:

2015-07-08 19:06:30 dummy MertenDimmer 47


Nach Rumspielen mit addRegexpPart kam heraus, dass es MertenDimmer:.* heißen muss... Dann wird die Funktion auch aufgerufen.

Hier die (aktuelle noch nicht 100% fertige) Funktion, welche ich in 99_myUtils.pm eingetragen habe:

sub Merten_dim($$$) {
  my ($startlevel, $endlevel, $device) = @_;
  my $functionname = (caller(0))[3] . ": "; # helpful for logging
 
  ################################################################
  # Do not edit anything above here!!!
  #define how long your roller shutters need to drive up and down
  my $debug = 1; #used to troubleshoot
  my $downseconds = 27; # time your roller shutter needs to drive down
  my $upseconds = 27; # time your roller shutter needs to drive up
    # Do not edit anything below here!!!
  ################################################################
 
  my $seconds = 0; # seconds to move from start to end position
  my $diffseconds = 0; # seconds to move to end position

  if ($debug == 1) {
  {Log 1, $functionname . "startlevel : " . $startlevel};
  {Log 1, $functionname . "endlevel   : " . $endlevel};
  {Log 1, $functionname . "device     : " . $device};
  # we need to save the state within the Merten Switch later...
    # of no real functionality right now
    {Log 1, $functionname . "oldvalue   : " . OldValue("$device")};
  {Log 1, $functionname . "value      : " . Value("$device")};
  {Log 1, $functionname . "dimlevel   : " . ReadingsVal("$device","dim",0)}
  }
 
  # check for invalid parameters
  my $direction = "";

  if ($startlevel < 0 || $startlevel > 99) {
    {Log 1, $functionname . "Invalid startlevel: ($startlevel) - doing nothing"};
    return;
  }

  if ($endlevel < 0 || $endlevel > 99) {
    {Log 1, $functionname . "Invalid endlevel: ($endlevel) - doing nothing"};
    return;
  }
 
  if ($startlevel == $endlevel) {
{Log 1, $functionname . "startlevel ($startlevel) = endlevel ($endlevel) - doing nothing"};
    return;
  }
 
  # special conditions: fully open or close
  if ($endlevel == 0) {
    fhem( "set $device coveringOpen" );
    return;
  }
 
  if ($endlevel == 99) {
    fhem( "set $device coveringClose" );
    return;
  }
 
  # here we go for the dimming part
  my $difflevel = 0;
 
  if ($startlevel > $endlevel) {
    $direction = "coveringOpen";
    $seconds = $downseconds;
  }
  else {
    $direction = "coveringClose";
    $seconds = $upseconds;
  }

  $difflevel = abs ($startlevel - $endlevel);
  $diffseconds = int ((($seconds / 99) * $difflevel) + 0.5);

  fhem( "set $device $direction" );
  sleep $diffseconds;
  fhem( "set $device coveringStop" );
#  fhem( "setreading $device dim $endlevel");
 
  if ($debug == 1) {
    {Log 1, $functionname . "Direction  : $direction"};
    {Log 1, $functionname . "DiffSeconds: $diffseconds"};
  }
}


Wer es einmal ausprobieren möchte: Zunächst die Zeit stoppen, die Eure Rolladen für eine komplette Hochfahrt und eine komplette Runterfahrt benötigen.
Diese Werte im Code eintragen:


  my $downseconds = 27; # time your roller shutter needs to drive down
  my $upseconds = 27; # time your roller shutter needs to drive up


Die Funktion natürlich vorher in die 99_myUtils.pm einfügen :)

Aufgerufen wird sie über folgendes notify:

MertenDimmer:.* {Merten_dim(OldValue("MertenDimmer"),Value("MertenDimmer"),"wz_Rollade_rechts")}


Natürlich ist das noch nicht perfekt:

Als nächstes werde ich mich dann an das Speichern der Werte über den Neustart machen. Vermutlich kann man dann auch den slider in einem Reading des Merten-Taster speichern, oder? Dann bräuchte ich das Hilfskonstrukt mit dem Webschalter nicht.

Titel: Antw:Merten Funk-Rolladentaster Connect (5025, 5035, 5045) modelConfig: unknown
Beitrag von: krikan am 08 Juli 2015, 22:24:07
ZitatIch habe es hinbekommen.
:)
Zitat
Obwohl ich aus der Ausgabe des EventMonitors und der Beschreibung von notify nicht schlau geworden bin.
Du darfst auch nachfragen; hoffe aber es ist nun verständlich.

Was mir auffällt:
Du nutzt in sub Merten_dim Perl-sleep. Das stoppt Fhem für den sleep-Zeitraum. Du solltest Fhem-sleep passend nutzen, damit Fhem weiter arbeitet.

ZitatBei ganz kleinen Schritten kommt es zu Rundungsfehlern - also wenn ich immer in Einerschritten von 0 auf 1 auf 2 auf... gehe tut sich nix. Damit kann ich prinzipiell leben, da ich vermutlich nur 10% Schritte verwenden werde. Wenn hier aber jemand eine schlaue Lösung parat haben sollte, dann bau ich sie gerne ein.
Auch Aktoren mit Positionierungslogik haben immer Abweichungen. Also nichts worüber ich mich aufregen würde.
Titel: Antw:Merten Funk-Rolladentaster Connect (5025, 5035, 5045) modelConfig: unknown
Beitrag von: rudolfkoenig am 09 Juli 2015, 09:42:30
Christian hat Recht, ich kriege verschobene Threads nicht mit.

Allerdings weiss ich nach durchlesen der Diskussion nicht, was ich machen soll.

Habe hoechstens fuer die Perl-Funktion ein paar Tipps:
- man braucht nicht alle Perl Befehle in {} einschliessen (siehe die Log Zeilen), das war nur der Einfall einer gewitzten FHEM-Anwender, um ;; in at und Notify zu vermeiden. In ausgelagerten Modulen gibt es gar kein Grund dafuer, und selbst in at/notify finde ich es stoerend beim verstehen. Und ; nach {} ist zwar zulaessig, aber sinnlos.
- wenn man von perl Sleep auf FHEM-Sleep umsteigt: fhem "set $device $direction; sleep $diffseconds; set $device coveringStop"; dann ist das nicht blockierend, da der FHEM-sleep alles, was dahinter kommt, per InternalTimer ausfuehrt.
- downseconds/upseconds wuerde ich in 2 userattr stecken, und diese in Merten_dim mit AttrVal abfragen.
Titel: Antw:Merten Funk-Rolladentaster Connect (5025, 5035, 5045) modelConfig: unknown
Beitrag von: HomeAlone am 12 Juli 2015, 17:34:44
Hallo Rudi,

erst einmal vielen Dank für die Tipps zum Perl Code - habe ich befolgt. :) Resultat als Attachement. Was noch fehlt, ist:

ZitatAllerdings weiss ich nach Durchlesen der Diskussion nicht, was ich machen soll.
:)

Konkret zu der Frage, was Du machen "sollst": Sollst natürlich nicht, aber ich würde mich freuen, wenn Du hier Hilfestellung / Tipps geben könntest - wie jeder andere gerne auch. Für mich sind eigentlich folgende Fragen offen geblieben:


Viele Grüße,
Sascha
Titel: Antw:Merten Funk-Rolladentaster Connect (5025, 5035, 5045) modelConfig: unknown
Beitrag von: krikan am 12 Juli 2015, 18:10:40
Zitat von: HomeAlone am 12 Juli 2015, 17:34:44
Würde es helfen eine config Datei für den Merten Taster zu haben? kirkan sprach das hier an (http://forum.fhem.de/index.php/topic,37793.msg300582.html#msg300582). Mir ist allerdings noch nicht klar, wie eine solche Config aussehen soll / welchen Normen sie entsprechen muss. Ein kurzer Stupser in die richtige Richtung und ich kann gerne eine baseln.
Hallo Sascha,
das würde Dir nicht wirklich helfen, da Du das bereits jetzt per normalem config-Befehl mit Parameternummer/-wert machen kannst. Mit der XML-Config-Datei würdest Du "nur" einen separaten configXY-Befehl für jede Parameternummer mit Erläuterung der möglichen Parameterwerte erhalten. Zudem hat Rudi gerade implementiert, dass fehlende Classes durch die XMLs bei der Inklusion automatisch ergänzt werden können. Die Configs kommen von openzwave und müssen daher diesen https://github.com/OpenZWave/open-zwave/wiki/Adding-Devices Aufbau haben. Bitte alles einpflegen, auch wenn wir es in Fhem derzeit nicht nutzen. Wenn Du eine XML erstellst, hänge Sie hier an und ich packe sie in eine der nächsten Updates.
Gruß, Christian
Titel: Antw:Merten Funk-Rolladentaster Connect (5025, 5035, 5045) modelConfig: unknown
Beitrag von: HomeAlone am 13 Juli 2015, 21:36:26
Hallo Krikan,

mache ich gerne. Kurze Frage, eh ich jetzt alles manuell eingebe: Unter der von Dir angegebenen URL steht, dass man product type und product id nachschlagen soll:
ZitatProduct Type and Product ID - This two numbers help identify the actual product. Again, this information can be found usually in the device manual, pepper1 database, Z-Wave Alliance Product Database and the zwcfg file.
Jetzt war ich auf der pepper1-Seite und habe unter diesem Link: http://www.pepper1.net/zwavedb/?sort=name&sort_type=desc&filter_cmd_class=&filter_frequency=&filter_language=&filter_manufacturer=69&filter_generic_class= (http://www.pepper1.net/zwavedb/?sort=name&sort_type=desc&filter_cmd_class=&filter_frequency=&filter_language=&filter_manufacturer=69&filter_generic_class=) auf der zweiten Seite eine XML-Datei für den Merten Taster gefunden. Habe ich spaßeshalber mal angehangen. Kannst Du mit dieser Definition schon etwas anfangen (existiert ein Parser dafür?) oder soll ich sie manuell in das OpenZWave Format "übersetzen"?

Gruß,
Sascha
Titel: Antw:Merten Funk-Rolladentaster Connect (5025, 5035, 5045) modelConfig: unknown
Beitrag von: krikan am 13 Juli 2015, 23:53:29
Antworte mit dem Verweis auf heute erstellte Frage in der FAQ: die http://www.fhemwiki.de/wiki/Z-Wave#Wie_k.C3.B6nnen_fehlende_XML-Config-Informationen_f.C3.BCr_mein_ZWave-Ger.C3.A4t_in_Fhem_eingebunden_werden.3F
Bitte meckern, wenn es unverständlich ist. Natürlich freue ich mich auch über Verbesserungen.

Noch mal: Versprich Dir bloß nicht zu viel von der Config....

PS: Konntest Du eigentlich mit ZWay -so wie von Fhem gewünscht- prozentual steuern? Nach meiner Erinnerung nicht. Falls doch, war das im Log drin?
Titel: Antw:Merten Funk-Rolladentaster Connect (5025, 5035, 5045) modelConfig: unknown
Beitrag von: HomeAlone am 08 August 2015, 16:30:05
So, hat was gedauert. Ich habe die Config-Dateien für den Merten Funkrolladentaster angehangen. Die 50x5xx.xml Datei habe ich innerhalb von openzwave auch wie angegeben mit make xmltest überprüft:

...
/home/pi/repos/open-zwave/config/merten/50x5xx.xml validates
...


Ich hoffe, ich habe die Anweisung auf der FAQ-Seite richtig verstanden und demzufolge nur den Merten-Teil in die angehängte manufacturer_specific.xml Datei reingetan.

Wenn nicht, bitte noch mal kurz sagen, was ich anders machen soll.

Leider habe ich nicht verstanden, wie ich einen "pull request" bei OpenZWave durchführe - habe die Daten auch alle so vorliegen wie sie für das OpenZWave Format notwendig wären, aber das werde ich dort mal erfragen. :) Das wäre vermutlich der sauberere Weg, vermute ich, da diese Infos ja auch hier einfließen.

ZitatPS: Konntest Du eigentlich mit ZWay -so wie von Fhem gewünscht- prozentual steuern? Nach meiner Erinnerung nicht. Falls doch, war das im Log drin?

Nein, konnte ich nicht.

In der Zwischenzeit habe ich an einer zweiten Rollade auch den Fibaro-Dimmer eingebaut. Das ist weit unproblematischer gewesen: Einbauen, gut quetschen :-}, anlernen und es funktioniert - auch mit Dimmen - sofort. Fast sofort: Ich musste noch in den Parametern einstellen, dass es ein Schalter und kein Taster ist, da dort noch die original Merten MEG 3715-0000 zur Steuerung verwendet werden. Ich überlege mir gerade, diese noch durch einen Taster zu ersetzen, kostet nicht viel und bedeutet zusätzlichen Komfort, da man nicht immer zwei Schalter bewegen muss, wenn man abends die Rolladen ruterfahren will / morgens hochfahren.
Als weiteren großen Vorteil sehe ich an, dass ich mit dem Fibaro-Jalousiesteuerungseinsatz über meinen Homematic 6-fach Taster das Hoch- bzw. Runterfahren unterbrechen kann (also beim Runterfahren auf die Hochtaste drücken und er hält an). Mit dem Merten-Schalter gelingt mir das über den Homematic Taster nicht - da fährt die Rollade direkt in die entgegengesetzte Richtung. Vermutlich ließe sich auch das über Programmierung in den Griff bekommen, aber ich werde die restlichen Rolladen in der Wohnung mit den Unterputz-Steuereinsätzen bestücken.

Zwar sind der Fibaro und der Mertenschalter jetzt unterschiedlicher Meinung darüber was on und off ist (also oben oder unten) aber das könnte man durch das Vertauschen von zwei Drähten ja noch in den Griff bekommen. :)

Übrigens konnte ich mit dem Fibaro Schalter nun auch meine Dim-Funktion testen: Die Rolladen fahren beide an nahezu dieselben Stellen, bei gleichen Prozentwerten. :)
Titel: Antw:Merten Funk-Rolladentaster Connect (5025, 5035, 5045) modelConfig: unknown
Beitrag von: krikan am 08 August 2015, 18:40:24
Zitat von: HomeAlone am 08 August 2015, 16:30:05
Ich hoffe, ich habe die Anweisung auf der FAQ-Seite richtig verstanden und demzufolge nur den Merten-Teil in die angehängte manufacturer_specific.xml Datei reingetan.
Wenn nicht, bitte noch mal kurz sagen, was ich anders machen soll.
Auf den ersten Blick sieht das prima aus. Muss aber noch einmal in  Ruhe durchsehen.

Zitat
Leider habe ich nicht verstanden, wie ich einen "pull request" bei OpenZWave durchführe - habe die Daten auch alle so vorliegen wie sie für das OpenZWave Format notwendig wären, aber das werde ich dort mal erfragen. :) Das wäre vermutlich der sauberere Weg, vermute ich, da diese Infos ja auch hier einfließen.
Das würde es mir vereinfachen,da ich dann nur noch von ozw übernehmen müsste. Wollte das auch schon mal angehen und nehme es mir mal wieder vor.

ZitatNein, konnte ich nicht.
Wenn das mit Z-way nicht geht, die mEn angeben Merten zu unterstützen, dann werden wir es vermutlich auch nicht so einfach schaffen...

Zitat
Ich überlege mir gerade, diese noch durch einen Taster zu ersetzen, kostet nicht viel
Ich suche schon ewig einen Taster mit geringer Einbautiefe. Ist Dir da vielleicht etwas bekannt? Der Gira Wipptaster 4fach 014700 hat leider eine extreme Einbautiefe und als Einfachvariante finde ich nichts mit Mittelstellung.

ZitatÜbrigens konnte ich mit dem Fibaro Schalter nun auch meine Dim-Funktion testen: Die Rolladen fahren beide an nahezu dieselben Stellen, bei gleichen Prozentwerten. :)
Wenn Du magst, wäre es schön, wenn Du Deine endgültige Lösung posten könntest. Evtl. ist das auch etwas fürs Wiki.
Titel: Antw:Merten Funk-Rolladentaster Connect (5025, 5035, 5045) modelConfig: unknown
Beitrag von: krikan am 16 August 2015, 10:20:01
Zitat von: HomeAlone am 08 August 2015, 16:30:05
So, hat was gedauert. Ich habe die Config-Dateien für den Merten Funkrolladentaster angehangen.
Ist eingecheckt.
Wird Morgen ab ca. 8 Uhr per update verteilt. Wenn Du heute testen willst, bitte direkt aus SVN holen.
Titel: Antw:Merten Funk-Rolladentaster Connect (5025, 5035, 5045) modelConfig: unknown
Beitrag von: HomeAlone am 16 August 2015, 10:27:33
Hui, da wollte ich gerade meinen Beitrag losschicken, und das System sagt mir, dass gerade ein neuer Beitrag verfasst wurde. :) Erst einmal vielen Dank für das Aufnehmen! Seit den frühen Morgenstunden habe ich mich mit git auseinandergesetzt und den Pull Request bei OpenZWave eingetragen. Ich hoffe, dass ich da alles korrekt eingetragen habe.
Aber super, dass Du es bereits für fhem implementiert hast!
Ich muss gleich los - werde aber versuchen es heute Nachmittag / Abend zu testen!

ZitatIch suche schon ewig einen Taster mit geringer Einbautiefe. Ist Dir da vielleicht etwas bekannt? Der Gira Wipptaster 4fach 014700 hat leider eine extreme Einbautiefe und als Einfachvariante finde ich nichts mit Mittelstellung.
Mittelstellung... das war das Zauberwort  :D
Ich habe natürlich prompt die falschen Taster bestellt (sie sind angekommen und jetzt verstehe ich einiges mehr). Ich bin naiverweise davon ausgegangen, dass alle Taster eine Wippe nach oben und unten haben. OK, wenn man mal ins Schaltbild schaut, sollte klar sein, dass dem nicht so ist, aber die 5Euro für den Einfachtaster reißen auch kein großes Loch in das Haushaltsbudget.   :P

Daraufhin habe ich jetzt auch mal recherchiert, allderdings habe ich bei den Herstellern keine technischen Daten finden können.

Folgende Tastereinsätze habe ich mit Hilfe von Herrn Google gefunden, die eigentlich alle über eine Mittelstellung verfügen sollten (bitte um Korrekturen / Bestätigungen - habe das lediglich recherchiert und mich auf die Angaben im Web verlassen!):

Folgende Taster mit Mittelstellung, die allerdings teurer (da über Funk oder KNX-Anbindung verfügend):

Mal eine Frage: Da ich bei mir das Schalterprogramm Merten M-Smart verwende: gibt es eine Möglichkeit die UP-Einsätze eines anderen Herstellers zu verwenden und entsprechende Aufsätze von Merten?

ZitatWenn Du magst, wäre es schön, wenn Du Deine endgültige Lösung posten könntest. Evtl. ist das auch etwas fürs Wiki.
Seit meinem letzten Posting habe ich nicht mehr an dem Skript weitergearbeitet. Was auf jeden Fall noch fehlt, ist die Möglichkeit, dass sich der Dim-Zustand über einen Neustart des FHEM-Servers / Raspberry-Pi gemerkt wird und außerdem, wenn ich die Rollade am Taster direkt hoch und runter fahre, diese Änderung auch an FHEM weitergeleitet wird. Ich kann hier aber gerne noch einmal Zeit investieren, damit es zu einem sauberen Abschluss kommt, von dem alle (hoffentlich) profitieren können.
Am besten würde ich dazu einen neuen Thread im Unterforum Code-Schnipsel eröffnen und wenn das Skript fertig ist, einen Wiki-Eintrag dazu machen?
Titel: Antw:Merten Funk-Rolladentaster Connect (5025, 5035, 5045) modelConfig: unknown
Beitrag von: krikan am 16 August 2015, 15:57:19
Zitat
Folgende Taster mit Mittelstellung, die allerdings teurer (da über Funk oder KNX-Anbindung verfügend):

  • Merten Busankoppler 671199 EAN Nr. 4011281619450 (KNX)
  • Busch-Jaeger Bedienelement 6108/01 Typ 6133-0-0206 EAN Nr. 4011395135419 (KNX)
  • Peha AP-Wands. 2-Kanal 00321713 Typ D 450.21 FU-BLS JR (EnOcean)

Mal eine Frage: Da ich bei mir das Schalterprogramm Merten M-Smart verwende: gibt es eine Möglichkeit die UP-Einsätze eines anderen Herstellers zu verwenden und entsprechende Aufsätze von Merten?
Der Peha ist ein normaler EnOcean-Taster, d.h. den kann man nicht per Kabel direkt am Aktor anschließen, sondern nur über den "Umweg" Fhem den Aktor ansteuern. So mache ich das derzeit bei meinem FGRM222.
Bei den KNX-Tastern habe ich meine Zweifel, dass das funktioniert.
Aufsätze kenne ich leider nicht; befürchte da wäre basteln angesagt.

ZitatAm besten würde ich dazu einen neuen Thread im Unterforum Code-Schnipsel eröffnen und wenn das Skript fertig ist, einen Wiki-Eintrag dazu machen?
Das darfst Du halten wie Du magst, freue mich immer, wenn etwas zurückfließt...
Titel: Antw:Merten Funk-Rolladentaster Connect (5025, 5035, 5045) modelConfig: unknown
Beitrag von: Stephan1965 am 02 September 2019, 14:36:10
Hallo Zusammen,
das ist war schon etwas älter, aber trotzdem...
Ich bin dabei AutoShutterControl einzurichten. Da ich im Haus teilweise die genannten Rollladenschalter von Merten einsetze, habe ich Probleme mit dem dim-Befehl, da sich die Rollladen mit dem dim-Befehl nicht bewegen. Könnte mit der beschriebenen Funktion von HomeAlone dies gelöst werden? Unter Codeschnipsel habe ich leider nichts gefunden.

Viele Grüße
Stephan