Anfänger startet mit anlernen FSB61

Begonnen von FHEM-Rabe, 22 August 2013, 09:09:51

Vorheriges Thema - Nächstes Thema

FHEM-Rabe

Guten Morgen,

nachdem ich meine ersten großen Startschwierigkeiten gemeistert habe - neuer TCM310 musste her
siehe Thema:
Link
Neuling FHEM u. EnOcean - Problem ,,get TCM310_0 idbase"
"Timeout reading answer for get idbase"

möchte ich nun mit der Rollosteuerung starten.
Man findet ja hier und im Netz sehr viele Detailfragen und Spezialprobleme, aber so eine richtige
Anleitung für Einsteiger habe ich noch nicht gefunden. Bitte nicht falsch verstehen, ich möchte nicht einfach nur mit copy und paste irgendetwas in die fhem.cfg einfügen sondern das auch verstehen.

Für mein Verstädnis:
-Der Aktor ist momentan im "Funkverkehr" nicht sichtbar, lediglich die Schaltvorgänge am Doppelwippenschalter
(der an die Wand geklebt werden kann-physischer Schalter) sehe ich.
-Da ich den FSB61 direkt von fhem aus steuern möchte (und nicht über den Umweg FHEM-Schalter-Aktor) erstelle ich
eine Struktur gemäß Wiki http://www.fhemwiki.de/wiki/EnOcean_Starter_Guide#Definition_von_EnOcean-Ger.C3.A4ten_mit_FHEM mit ,,get TCM310_0 idbase" habe ich (jetzt endlich) den Adressbereich ausgelesen
um somit meine möglichen 128 Schalter zu definieren.
<Name Hardwareschalter>    <Name in FHEM>    <HEX Code>    =HEXINDEZ(D2)    <Raumname>
   TCM 310_0    TCM 310_0    FF800D00    4286582016       
Wozu wird eigentlich  =HEXINDEZ(D2), in diesem Fall 4286582016 benötigt?
Ist es richtig, wenn mein Hex Code z.B. FF80A123 wäre, benötige ich diesen =HEXINDEZ gar nicht, da ich
bequem meine +127 am Hex Code hochzählen kann? Oder brauche ich diesen =HEXINDEZ noch für etwas anderes?

Der Aktor FSB61 muss nun in der fhem.cfg konfiguriert werden, damit ich diesen mit Schlatbefehelen von fhem aus erreiche.
Lt. Wiki so:
Rollladen FSB61

    FHEM.cfg

define EnO_switch_01036620 EnOcean 01036620 - Ist das eine beliebiger Name?
attr EnO_switch_01036620 alias Jalousie 2
attr EnO_switch_01036620 devStateIcon Auf:FSB61.up Ab:FSB61.down
attr EnO_switch_01036620 eventMap down:Ab up:Auf stop:Stop
attr EnO_switch_01036620 fp_EG 136,160,2,- das verstehe ich nicht
attr EnO_switch_01036620 model FSB61
attr EnO_switch_01036620 model FSB61 - warum diese Zeile 2 x ?
attr EnO_switch_01036620 room Wohnzimmer
attr EnO_switch_01036620 shutTime 35
attr EnO_switch_01036620 subDef FF800D04 - meine fortlaufende Nr. aus baseID+XX
attr EnO_switch_01036620 subType eltakoShutter
attr EnO_switch_01036620 webCmd Auf:Ab:Stop
define FileLog_EnO_switch_01036620 FileLog ./log/EnO_switch_01036620-%Y.log EnO_switch_01036620
attr FileLog_EnO_switch_01036620 logtype text
attr FileLog_EnO_switch_01036620 room hidden

Diese Zeilen werden in die fhem.cfg angelegt.
Am Aktor anlernen:

    Oberer Funktions-Drehschalter: auf LRN
    Unterer Funktions-Drehschalter: auf MAX (zum Einlernen PC)
    FHEM Eingabefeld: ,,set EnO_switch_01036620 teach", <Enter>
    Unterer Funktions-Drehschalter: Nach dem Einlernen beide Drehschalter in die ursprüngliche Position
 
Ich habe das hier mal (hoffentlich richtig) Punkt für Punkt aufgeführt und ich hoffe Ihr beantwortet meine Fragen.
Vielen Dank.

Gruß aus Unterfranken  
 
FB7390
TCM310-busware.de

klaus.schauer

Zitat von: FHEM-Rabe schrieb am Do, 22 August 2013 09:09Guten Morgen,

nachdem ich meine ersten großen Startschwierigkeiten gemeistert habe - neuer TCM310 musste her
siehe Thema:
Link
Neuling FHEM u. EnOcean - Problem ,,get TCM310_0 idbase"
"Timeout reading answer for get idbase"

möchte ich nun mit der Rollosteuerung starten.
Man findet ja hier und im Netz sehr viele Detailfragen und Spezialprobleme, aber so eine richtige
Anleitung für Einsteiger habe ich noch nicht gefunden. Bitte nicht falsch verstehen, ich möchte nicht einfach nur mit copy und paste irgendetwas in die fhem.cfg einfügen sondern das auch verstehen.

Für mein Verstädnis:
-Der Aktor ist momentan im "Funkverkehr" nicht sichtbar, lediglich die Schaltvorgänge am Doppelwippenschalter
(der an die Wand geklebt werden kann-physischer Schalter) sehe ich.
-Da ich den FSB61 direkt von fhem aus steuern möchte (und nicht über den Umweg FHEM-Schalter-Aktor) erstelle ich
eine Struktur gemäß Wiki http://www.fhemwiki.de/wiki/EnOcean_Starter_Guide#Definition_von_EnOcean-Ger.C3.A4ten_mit_FHEM mit ,,get TCM310_0 idbase" habe ich (jetzt endlich) den Adressbereich ausgelesen
um somit meine möglichen 128 Schalter zu definieren.
<Name Hardwareschalter>    <Name in FHEM>    <HEX Code>    =HEXINDEZ(D2)    <Raumname>
   TCM 310_0    TCM 310_0    FF800D00    4286582016       
Wozu wird eigentlich  =HEXINDEZ(D2), in diesem Fall 4286582016 benötigt?
Ist es richtig, wenn mein Hex Code z.B. FF80A123 wäre, benötige ich diesen =HEXINDEZ gar nicht, da ich
bequem meine +127 am Hex Code hochzählen kann? Oder brauche ich diesen =HEXINDEZ noch für etwas anderes?

Der Aktor FSB61 muss nun in der fhem.cfg konfiguriert werden, damit ich diesen mit Schlatbefehelen von fhem aus erreiche.
Lt. Wiki so:
Rollladen FSB61

    FHEM.cfg

define EnO_switch_01036620 EnOcean 01036620 - Ist das eine beliebiger Name?
attr EnO_switch_01036620 alias Jalousie 2
attr EnO_switch_01036620 devStateIcon Auf:FSB61.up Ab:FSB61.down
attr EnO_switch_01036620 eventMap down:Ab up:Auf stop:Stop
attr EnO_switch_01036620 fp_EG 136,160,2,- das verstehe ich nicht
attr EnO_switch_01036620 model FSB61
attr EnO_switch_01036620 model FSB61 - warum diese Zeile 2 x ?
attr EnO_switch_01036620 room Wohnzimmer
attr EnO_switch_01036620 shutTime 35
attr EnO_switch_01036620 subDef FF800D04 - meine fortlaufende Nr. aus baseID+XX
attr EnO_switch_01036620 subType eltakoShutter
attr EnO_switch_01036620 webCmd Auf:Ab:Stop
define FileLog_EnO_switch_01036620 FileLog ./log/EnO_switch_01036620-%Y.log EnO_switch_01036620
attr FileLog_EnO_switch_01036620 logtype text
attr FileLog_EnO_switch_01036620 room hidden

Diese Zeilen werden in die fhem.cfg angelegt.
Am Aktor anlernen:

    Oberer Funktions-Drehschalter: auf LRN
    Unterer Funktions-Drehschalter: auf MAX (zum Einlernen PC)
    FHEM Eingabefeld: ,,set EnO_switch_01036620 teach", <Enter>
    Unterer Funktions-Drehschalter: Nach dem Einlernen beide Drehschalter in die ursprüngliche Position
 
Ich habe das hier mal (hoffentlich richtig) Punkt für Punkt aufgeführt und ich hoffe Ihr beantwortet meine Fragen.
Vielen Dank.

Gruß aus Unterfranken  
 
Das Wiki ist leider nicht mehr ganz aktuell und manchmal etwas verwirrend, z. B. wurde der subType eltakoShutter ersetzt durch subType manufProfile, manufID to 00D. Der HEXINDEZ(D2) wird für die Parameterisierung in Fhem nicht benötigt.

Ich empfehle sich erst einmal in die commandref einzulesen. Dort steht z. B.:

Set attr subType to manufProfile, manufID to 00D and attr model to FSB14|FSB61|FSB70 manually.
Use the sensor type "Szenentaster/PC" for Eltako devices.

Auch wird dort erklärt, dass man das Senden der Quittungstelegramme am Aktor einschalten muss. Wie genau steht wieder in der Anleitung von Eltako.

P. S. Mitstreiter, die nachvollziehbare Einsteigeranleitungen schreiben und das WIKI pflegen werden dringend gesucht! Die commandref ist sicherlich für Einsteiger manchmal schwer zu lesen.

FHEM-Rabe

Rollladen FSB61 aktualisiert

FHEM.cfg

define EnO_switch_Rollo1 EnOcean Rollo1
attr EnO_switch_Rollo1 devStateIcon Auf:FSB61.up Ab:FSB61.down
attr EnO_switch_Rollo1 eventMap down:Ab up:Auf stop:Stop
attr EnO_switch_Rollo1 fp_EG 136,160,2,- wozu ist diese Zeile, das verstehe ich nicht
attr EnO_switch_Rollo1 model FSB61
attr EnO_switch_Rollo1 room Kueche
attr EnO_switch_Rollo1 shutTime 35
attr EnO_switch_Rollo1 subDef FF800D04 - meine fortlaufende Nr. aus baseID+XX
attr EnO_switch_Rollo1 subType manufProfile, manufID to 00D
attr EnO_switch_Rollo1 webCmd Auf:Ab:Stop
define FileLog_EnO_switch_Rollo1 FileLog ./log/EnO_switch_Rollo1-%Y.log EnO_switch_Rollo1
attr FileLog_EnO_switch_Rollo1 logtype text


So jetzt korrekt ? Hab versucht es so einfach wie möglich zu machen
Könnte man für den Anfang noch irgendeine Zeile weglassen?
Hat hier niemand eine einfache aktuelle Beispieldatei?
Commandref ist für Einsteiger wirklich ..... schwer
Und zur Struktur-Tabelle brauche ich noch eine Antwort:
Wozu wird eigentlich =HEXINDEZ(D2), in diesem Fall 4286582016 benötigt?
Ist es richtig, wenn mein Hex Code z.B. FF80A123 wäre, benötige ich diesen =HEXINDEZ gar nicht, da ich
bequem meine +127 am Hex Code hochzählen kann? Oder brauche ich diesen =HEXINDEZ noch für etwas anderes?
FB7390
TCM310-busware.de

klaus.schauer

Ich habe die Beispiele im Wiki aktualisiert und die Einträge auf das nötigste beschränkt. Ich hoffe, das hilft.

FHEM-Rabe

Danke.
Am Wochenende ist Testzeit angesagt.
Feedback kommt.
Schönes WE
FB7390
TCM310-busware.de

FHEM-Rabe

Hallo Klaus Schauer,

aus Wiki neu:
#FSB61
define EnO_switch_01036620 EnOcean 01036620     <- SenderID des Aktors
attr EnO_switch_01036620 model FSB61
attr EnO_switch_01036620 shutTime 35
attr EnO_switch_01036620 subDef FF800D04 <-  ,,get TCM310_0 idbase" +1
attr EnO_switch_01036620 subType manufProfile
attr EnO_switch_01036620 manufID 00D
define FileLog_EnO_switch_01036620 FileLog ./log/EnO_switch_01036620-%Y.log EnO_switch_01036620
attr FileLog_EnO_switch_01036620 logtype text

Am FSB61
Oberer Funktions-Drehschalter: auf LRN
Unterer Funktions-Drehschalter: auf MAX (zum Einlernen PC)
FHEM Eingabefeld: ,,set EnO_switch_01036620 teach", <Enter>
Unterer Funktions-Drehschalter: Nach dem Einlernen beide Drehschalter in die ursprüngliche Position

FUNKTIONIERT !!!
Dankeschön

Ich habe noch etwas angepasst und probiert, so schaut jetzt meine fhem.cfg aus
#FSB61 Nr.2 Rollo1 Küche
define EnO_switch_0085xxxx EnOcean 0085xxxx
attr EnO_switch_0085xxxx alias Rollo01
attr EnO_switch_0085xxxx devStateIcon Auf:FSB61.up Ab:FSB61.down
attr EnO_switch_0085xxxx eventMap down:Ab up:Auf stop:Stop
attr EnO_switch_0085xxxx manufID 00D
attr EnO_switch_0085xxxx model FSB61
attr EnO_switch_0085xxxx room EnOcean
attr EnO_switch_0085xxxx shutTime 10
attr EnO_switch_0085xxxx subDef FFCFxxxx
attr EnO_switch_0085xxxx subType manufProfile
attr EnO_switch_0085xxxx webCmd Auf:Ab:Stop

Alles Gut. Nochmals DANKE, jetzt kann ich endlich weitermachen
FB7390
TCM310-busware.de

mediastudio

Hallo,
ich habe auch eine Frage, wenn ich "stop" wähle, dann bekomme ich folgendes:

2013-08-27 09:25:45 EnOcean Buero_Rollo endPosition: not_reached
2013-08-27 09:25:45 EnOcean Buero_Rollo stop
2013-08-27 09:25:46 EnOcean Buero_Rollo stop

Das Rollo stopt auch
cfg:
define Buero_Rollo EnOcean FFF25C82
attr Buero_Rollo alias Büro
attr Buero_Rollo devStateIcon 0.*:shutter_open 2.*:shutter_2 5.*:shutter_4 7.*:shutter_6 10.*:shutter_closed
attr Buero_Rollo eventMap /up:AUF/position 25:25/position 50:50/position 75:75/down:ZU/
attr Buero_Rollo fp_BUNGALOW 344,50,5,
attr Buero_Rollo group Jalousien
attr Buero_Rollo icon Jalousiegruen
attr Buero_Rollo manufID 00D
attr Buero_Rollo model FSB14
attr Buero_Rollo room Jalousien
attr Buero_Rollo shutTime 17
attr Buero_Rollo shutTimeCloses 40
attr Buero_Rollo stateFormat position
attr Buero_Rollo subType manufProfile
attr Buero_Rollo webCmd AUF:stop:ZU:25:50:75

# Schalter
define Buero_Rollo_S EnOcean 001EC83C
attr Buero_Rollo_S eventMap B0:off BI:on
attr Buero_Rollo_S subType EltakoShutter
define Buero_Rollo_S_on notify Buero_Rollo_S:off  set Buero_Rollo AUF
define Buero_Rollo_S_off notify Buero_Rollo_S:on  set Buero_Rollo ZU

define FileLog_Buero_Rollo FileLog ./log/Buero_Rollo_A-%Y.log Buero_Rollo
attr FileLog_Buero_Rollo logtype text
attr FileLog_Buero_Rollo room Berichte

(siehe Anhang / see attachement)


Auch hätte ich gerene ein icon wenn ich "stop" betätige und nicht "position" als Anzeige.
Gibt es da eine Möglichkeit?

FHEM-Rabe

FB7390
TCM310-busware.de

klaus.schauer

Zitat von: mediastudio schrieb am Di, 27 August 2013 10:58Hallo,
ich habe auch eine Frage, wenn ich "stop" wähle, dann bekomme ich folgendes:

2013-08-27 09:25:45 EnOcean Buero_Rollo endPosition: not_reached
2013-08-27 09:25:45 EnOcean Buero_Rollo stop
2013-08-27 09:25:46 EnOcean Buero_Rollo stop

Das Rollo stopt auch
cfg:
define Buero_Rollo EnOcean FFF25C82
attr Buero_Rollo alias Büro
attr Buero_Rollo devStateIcon 0.*:shutter_open 2.*:shutter_2 5.*:shutter_4 7.*:shutter_6 10.*:shutter_closed
attr Buero_Rollo eventMap /up:AUF/position 25:25/position 50:50/position 75:75/down:ZU/
attr Buero_Rollo fp_BUNGALOW 344,50,5,
attr Buero_Rollo group Jalousien
attr Buero_Rollo icon Jalousiegruen
attr Buero_Rollo manufID 00D
attr Buero_Rollo model FSB14
attr Buero_Rollo room Jalousien
attr Buero_Rollo shutTime 17
attr Buero_Rollo shutTimeCloses 40
attr Buero_Rollo stateFormat position
attr Buero_Rollo subType manufProfile
attr Buero_Rollo webCmd AUF:stop:ZU:25:50:75

# Schalter
define Buero_Rollo_S EnOcean 001EC83C
attr Buero_Rollo_S eventMap B0:off BI:on
attr Buero_Rollo_S subType EltakoShutter
define Buero_Rollo_S_on notify Buero_Rollo_S:off  set Buero_Rollo AUF
define Buero_Rollo_S_off notify Buero_Rollo_S:on  set Buero_Rollo ZU

define FileLog_Buero_Rollo FileLog ./log/Buero_Rollo_A-%Y.log Buero_Rollo
attr FileLog_Buero_Rollo logtype text
attr FileLog_Buero_Rollo room Berichte

(siehe Anhang / see attachement)


Auch hätte ich gerene ein icon wenn ich "stop" betätige und nicht "position" als Anzeige.
Gibt es da eine Möglichkeit?
Die Ausgabewerte des readings state wurden vereinheitlicht und angepasst; das reading endPosition ist mit der neuen Version von 10_EnOcean hinzugekommen, siehe commandref. Ggf. sind deshalb die Attribute anzupassen. Die Vereinheitlichung war notwendig, um die aktuelle Position abfragen und aktualisieren zu können.

FHEM-Rabe

Hallo mediastudio,

konntest Du mit der Info von Klaus.Schauer etwas anfangen?

Gruß
FB7390
TCM310-busware.de

mediastudio

Hallo,
also folgende reading sind für model FSB61 oder FSB14  auszulesen:
anglePos, endPosition, position, state.
wenn "stop" gedrückt wird kann hier z.B das "state" über eine "set <dein rollo> icoTool" geändert werden,
icoTool ist nur als Beispielbild.

(siehe Anhang / see attachement)

mediastudio

Hallo,
ich habe hier mal 10 positionen für das Rollo eingebaut, wenn der Slider in FHEMweb oder Floorplan bewegt wird,
dann habe ich die "Zehnerschritte" und bekomme 10 Positionen gefahren. Wenn ich nun in "andFHEM" den Slider schiebe,
dann habe ich wieder "Einerschritte" und so stimmt nun das übergebene Value nicht. Kann man das ändern?
Würde Hilfe brauchen.

z.B. 53 sollte 50 sein aber andFHEM sendet Einerscgritte

(siehe Anhang / see attachement)


(siehe Anhang / see attachement)

Für "stop" erscheint nun ein icon. Für - AUF - rollo_open und ZU - rollo_closed

(siehe Anhang / see attachement)


cfg:

define Buero_Rollo EnOcean FFF25C82
attr Buero_Rollo eventMap /stop:Stop/up:AUF/down:ZU/position 0:0/position 10:10/position 20:20/position 30:30/position 40:40/position 50:50/position 60:60/position 70:70/position 80:80/position 90:90/position 100:100/
attr Buero_Rollo group Jalousien
attr Buero_Rollo manufID 00D
attr Buero_Rollo model FSB14
attr Buero_Rollo shutTime 17
attr Buero_Rollo shutTimeCloses 50
attr Buero_Rollo stateFormat position
attr Buero_Rollo subType manufProfile

##### Slider für andFHEM  #######
define BueroRollo dummy
attr BueroRollo fp_BUNGALOW 344,50,5,
attr BueroRollo devStateIcon  0.*:rollo_open 1\d.*:rollo10 2\d.*:rollo20 3\d.*:rollo30 4\d.*:rollo40 5\d.*:rollo50 6\d.*:rollo60 7\d.*:rollo70 8\d.*:rollo80 9\d.*:rollo90
attr BueroRollo alias Büro
attr BueroRollo icon Jalousiegruen
attr BueroRollo setList state:slider,0,10,100
attr BueroRollo webCmd state:AUF:stop:ZU
define BueroRollo_uebergabe notify BueroRollo {fhem ("set Buero_Rollo %")};;\
{ if (Value("BueroRollo") eq ("100")) {fhem ("set BueroRollo rollo_closed")}};;\
{ if (Value("BueroRollo") eq ("ZU")) {fhem ("set BueroRollo rollo_closed")}};;\
{ if (Value("BueroRollo") eq ("AUF")) {fhem ("set BueroRollo rollo_open")}};;\
{ if (Value("BueroRollo") eq ("stop")) {fhem ("set BueroRollo rollo_stop")}}
attr BueroRollo group Jalousien
attr BueroRollo room Jalousien



Anhang:rolloicon

FHEM-Rabe

FB7390
TCM310-busware.de

mediastudio

Nein, leider habe ich noch keine Lösung für andFHEM. Es gibt eine weitere APP für FHEM, hier ist auch Sprach Ein- und Ausgabe möglich, funktioniert gut, hat nur keine schönen Slider wie andFHEM.
Unter - FHEM Forum: Mobile Devices »   Neue Fullscreen Browser APP für Android (WebViewControl)