Beschattungssteuerung mit FS20BS und FS20SM4

Begonnen von Kai, 11 März 2013, 13:58:47

Vorheriges Thema - Nächstes Thema

Kai

ich glaube, ich bin zu blöd...
sorry, aber devStateIcon finde ich nirgends...
und define FS20_727273 ( Hauscode und Schalterzustand ) endet bei mir immer mit ner Fehlermeldung.
Ich habe nun mal das soweit hinbekommen, dass er unter der Übersicht FS20 noch fs20bs und licht ( alles heute beim Testen mal angelegt)
anzeigt, aber ich glaube, je mehr ich da jetzt "anlege", desto mehr verenne ich mich. ( Treu nach dem Motto, denn sie wussten nicht, was
sie tun :(   )


Evtl. mal ne ganz grundsätzliche Frage, die Hauscodes, kann ich die auch übers FHEM Frontend ändern bzw. vereinheitlichen, so dass da mal
"Grund" rein kommt ? Oder ändert FHEM die Codes, aber die Schalter gehen dann alle nicht mehr ?
Weil momentan ist es noch "übersichtlich"

MisterEltako

Hi!

Wie schon geschrieben habe ich kein FS20, deswegen kann ich das mit dem Hauscode nicht ausprobieren. Aber ich habe einen schönen Auszug aus einem anderen Thread gefunden:

Aber lass uns bei der Gelegenheit mal eben über Adressen reden.
Die Adresse eines FS20 Devices setzt sich zusammen aus HAUSCODE und Geräte/Kanaladresse.
Beispiel:
FS20 1d7d 04

1d7d = Hauscode (in HEX Notation.)
04 = Geräteadresse bzw. Kanaladresse

Es ist nicht zwingend, aber in vielfacher hinsicht praktisch, den HAUSCODE-Anteil *nicht* dauernd zu wechseln, sondern nur die Kanaldresse. Also Alle Schalter im Haus mit einem Hauscode zu versehen. Dann kann man nämlich später eventuell so Features wie Masteradressen und so nutzen.

Lies hierzu auch
http://www.fhemwiki.de/wiki/Was_ist_der_Hauscode%3F

Und: Es ist meist praktischer den Hauscode in ELV Schreibweise zu notieren, weil man dann leicht andere Sender dannach programmieren kann.
D.H. man überlegt sich zuerst einen Hauscode in ELV SChreibweise, z.b. 11122244, programmiert alle Sender mit diesem Hauscode und gibt dann jedem Kanal eine eigene Kanaladresse.
Und einen neuen Sender mit 11122244 zu programmieren ist leicht, weil das genau die Tastendrücke sind die man eingeben muss. Aber welche Tasten du für "1d7d" drücken musst, musst du erstmal umrechnen.


Den Hauscode ändert man dann nur für "Themen". So hat z.b. bei mir die Sender der Alarmanlage einen anderen Hauscode als der Rest.

Das alles ist aber keine MUSS sondern nur "Best Practice" nach meinem dafürhalten.


devStateIcon gibt das angezeigte Statusicon an und was passiert, wenn man darauf klickt...

MfG,MisterEltako.
HMLAN-Konfigurations-Adapter, HM-Funkjalousieaktor/HM-Dimmaktor/HM-Schaltaktor f. Markenschalter, Jalousie-/Schaltaktor von Eltako, FT4 v. Eltako, TCM310

Kai

Zu DevstateIcon : das kann ich irgendwie nicht einprogrammieren. Wenn ich es in der Übersicht "manuell" eingebe , sieht der Name der Device voll komisch aus (es steht dann da " Imagenotfound ... Und noch ne ganze Ecke mehr.... )

MisterEltako

Hi!

Hast du mit "update" auf die neueste FHEM Version geupdatet???

Bei jedem Device steht doch ganz unten "Extend devStateIcon". Dort kann man das Icon auswählen.

Versuche bitte noch:

attr Fs20device devStateIcon dunkel:FS20.on:hell hell:FS20.off:dunkel
oder:
attr Fs20device devStateIcon on:FS20.on:off off:FS20.off:on

MfG, MisterEltako.

HMLAN-Konfigurations-Adapter, HM-Funkjalousieaktor/HM-Dimmaktor/HM-Schaltaktor f. Markenschalter, Jalousie-/Schaltaktor von Eltako, FT4 v. Eltako, TCM310

Kai


(siehe Anhang / see attachement)
Hallo,

ja, update habe ich heute gemacht, aber vom fs20ds wird auch weiterhin korrekt erkannt, wann es dunkel wird. Aber nix passiert.
Ich habe mal als Bilder beigefügt, wie es nun aussieht.
Irgendwie ist der Wurm drin. Ich sehe es so, dass es eigentlich alles richtig sein müsste, aber jetzt gibt er den Befehl an die Jalousie gar nicht mehr ab. Anfang der Woche wurde ja sogar der Befehl (Jalousie runter) noch gesendet und auch von Schalter für Jalousie runter erkannt/registriert  aber nicht mehr ausgeführt.
Jetzt wird selbst das nicht mehr gemacht....
So siehts bei mir in der Übersicht aus :


(siehe Anhang / see attachement)


So sieht meine Konfig beim fs20bs aus ( der ja eigentlich ein fs20ds ist !)


(siehe Anhang / see attachement)


und so ist Daemmerung ab konfiguriert :


(siehe Anhang / see attachement)


weiß nicht mehr weiter :(




MisterEltako

Hi!

Also jetzt wird nicht aufgegeben! ;-)

Das notify stimmt so definitiv nicht!


Wenn du das direkt über DEF des Devices einträgst, dann so:

define daemmerung_ab notify fs20bs {
if (Value("fs20bs") eq "dunkel") {fhem("set Jalousie_runter on; attr fs20bs webCmd hell")}
else{fhem("attr fs20bs webCmd dunkel")}
}


Voraussetzung: Deine neue Beschattungssteuerung trägt den Namen "fs20bs". In deiner Übersicht gibt es auch fs20_727273 mit dem State "dunkel". Lösche doch zunächst die alten Definitionen, die es nun nicht mehr gibt. Danach machst du: "shutdown restart" über die Kommandozeile.

MfG, MisterEltako.
HMLAN-Konfigurations-Adapter, HM-Funkjalousieaktor/HM-Dimmaktor/HM-Schaltaktor f. Markenschalter, Jalousie-/Schaltaktor von Eltako, FT4 v. Eltako, TCM310

Kai

nix ...

hier mal der Auszug aus der config, eigentlich erscheint mir alles logisch ?!

define Daemmerung_ab notify define daemmerung_ab notify fs20bs {\
if (Value("fs20bs") eq "dunkel") {fhem("set Jalousie_runter on")}\
}
attr Daemmerung_ab room FS20

...
define Jalousie_runter FS20 7621 e1
attr Jalousie_runter room FS20
define FileLog_Jalousie_runter FileLog ./log/Jalousie_runter-%Y.log Jalousie_runter
attr FileLog_Jalousie_runter logtype text
attr FileLog_Jalousie_runter room FS20

...
define FS20_627273 FS20 6272 73
attr FS20_627273 room FS20
define FileLog_FS20_627273 FileLog ./log/FS20_627273-%Y.log FS20_627273
attr FileLog_FS20_627273 logtype text
attr FileLog_FS20_627273 room FS20
define FileLog_FS20_727273 FileLog ./log/FS20_727273-%Y.log FS20_727273
attr FileLog_FS20_727273 logtype text
attr FileLog_FS20_727273 room FS20

...
define fs20bs FS20 7272 73
attr fs20bs comment Beschattungssteuerung on=dunkel off=hell
attr fs20bs devStateIcon hell:off:dunkel dunkel:on:hell
attr fs20bs dummy 1
attr fs20bs eventMap eventMap on:dunkel off:hell
attr fs20bs room FS20

ich sehe keinen Fehler...


MisterEltako

Hi!

Also hier:

define Daemmerung_ab notify define daemmerung_ab notify fs20bs {\
if (Value("fs20bs") eq "dunkel") {fhem("set Jalousie_runter on")}\
}
attr Daemmerung_ab room FS20


...ist dir schon wieder ein Fehler unterlaufen. Das muss:

define Daemmerung_ab notify fs20bs {\
if (Value("fs20bs") eq "dunkel") {fhem("set Jalousie_runter on")}\
}
attr Daemmerung_ab room FS20



...lauten!

MfG, MisterEltako.
HMLAN-Konfigurations-Adapter, HM-Funkjalousieaktor/HM-Dimmaktor/HM-Schaltaktor f. Markenschalter, Jalousie-/Schaltaktor von Eltako, FT4 v. Eltako, TCM310

MisterEltako

Hi!

Also hier:

define Daemmerung_ab notify define daemmerung_ab notify fs20bs {\
if (Value("fs20bs") eq "dunkel") {fhem("set Jalousie_runter on")}\
}
attr Daemmerung_ab room FS20


...ist dir schon wieder ein Fehler unterlaufen. Das muss:

define Daemmerung_ab notify fs20bs {\
if (Value("fs20bs") eq "dunkel") {fhem("set Jalousie_runter on")}\
}
attr Daemmerung_ab room FS20



...lauten!

MfG, MisterEltako.
HMLAN-Konfigurations-Adapter, HM-Funkjalousieaktor/HM-Dimmaktor/HM-Schaltaktor f. Markenschalter, Jalousie-/Schaltaktor von Eltako, FT4 v. Eltako, TCM310

Kai

das sieht nur in der config so aus, wenn ich es in der fhem.cfg ändere, dann sieht es so in Dämmerung_ab aus :

fs20bs {
if (Value("fs20bs") eq "dunkel") {fhem("set Jalousie_runter on")}
}


Das ist schon etwas komisch, in der fhem.cfg ist es nun so :


define Daemmerung_ab notify fs20bs {\
if (Value("fs20bs") eq "dunkel") {fhem("set Jalousie_runter on")}\
}
attr Daemmerung_ab room FS20


?

MisterEltako

Hi!

Ich habe das jetzt so in meiner fhem.cfg eingetragen und es macht genau das, was es soll:
Jalousie runter, wenn fs20bs "dunkel" anzeigt! (simuliert mit: "set fs20bs dunkel" in Kommandozeile)

define Jalousie_runter FS20 7621 e1
attr Jalousie_runter room FS20

define FS20_627273 FS20 6272 73
attr FS20_627273 room FS20

define fs20bs FS20 7272 73
attr fs20bs comment Beschattungssteuerung on=dunkel off=hell
attr fs20bs devStateIcon hell:off:dunkel dunkel:on:hell
attr fs20bs dummy 1
attr fs20bs eventMap on:dunkel off:hell
attr fs20bs room FS20

define Daemmerung_ab notify fs20bs {if (Value("fs20bs") eq "dunkel") {fhem("set Jalousie_runter on")}}
attr Daemmerung_ab room FS20

MfG, MisterEltako
HMLAN-Konfigurations-Adapter, HM-Funkjalousieaktor/HM-Dimmaktor/HM-Schaltaktor f. Markenschalter, Jalousie-/Schaltaktor von Eltako, FT4 v. Eltako, TCM310

Kai

Witzig, genau so gemacht, aber meine fhem.cfg sieht dann so aus :


attr global autoload_undefined_devices 1
attr global holiday2we Feiertage
attr global logfile ./log/fhem-%Y-%m.log
attr global modpath .
attr global motd SecurityCheck:\
\
WEBphone,WEBtablet has no basicAuth attribute.\
telnetPort has no password/globalpassword attribute.\
Running with root privileges.\
Restart fhem for a new check if the problem is fixed,\
or set the global attribute motd to none to supress this message.\

attr global statefile ./log/fhem.save
attr global userattr devStateIcon fm_fav fm_groups fm_name fm_order fm_type fm_view icon sortby webCmd
attr global verbose 3

define telnetPort telnet 7072 global

define WEB FHEMWEB 8083 global
attr WEB basicAuth {use FritzBoxUtils;;FB_checkPw("localhost","$password") }

define WEBphone FHEMWEB 8084 global
attr WEBphone stylesheetPrefix smallscreen

define WEBtablet FHEMWEB 8085 global
attr WEBtablet stylesheetPrefix touchpad

# Fake FileLog entry, to access the fhem log from FHEMWEB
define Logfile FileLog ./log/fhem-%Y-%m.log fakelog

define autocreate autocreate
attr autocreate autosave 1
attr autocreate device_room %TYPE
attr autocreate filelog ./log/%NAME-%Y.log
attr autocreate weblink 1
attr autocreate weblink_room Plots

# Disable this to avoid looking for new USB devices on startup
define initialUsbCheck notify global:INITIALIZED usb create


# If the above notify did not helped, then you probably have to enable some of
# the following lines.  Verify first that /dev/xxx ist correct.

#define FHZ FHZ /dev/USB0
#define CUL CUL /dev/ttyACM0@9600 1234
#attr CUL rfmode HomeMatic

define CUL_0 CUL /dev/ttyACM0@9600 1034
define test FS20 7272 01
attr test fm_fav 999
attr test fm_type on-off
attr test model fs20st
attr test room Wohnzimmer
.
.
.


define Daemmerung_ab notify define Daemmerung_ab notify fs20bs {if (Value("fs20bs") eq "dunkel") {fhem("set Jalousie_runter on")}}\
attr Daemmerung_ab room FS20
attr Daemmerung_ab room FS20


define Jalousie_hoch FS20 7621 24
attr Jalousie_hoch room FS20
define FileLog_Jalousie_hoch FileLog ./log/Jalousie_hoch-%Y.log Jalousie_hoch
attr FileLog_Jalousie_hoch logtype text
attr FileLog_Jalousie_hoch room FS20
define Jalousie_runter FS20 7621 e1
attr Jalousie_runter room FS20
define FileLog_Jalousie_runter FileLog ./log/Jalousie_runter-%Y.log Jalousie_runter
attr FileLog_Jalousie_runter logtype text
attr FileLog_Jalousie_runter room FS20



define FileLog_FS20_627273 FileLog ./log/FS20_627273-%Y.log FS20_627273
attr FileLog_FS20_627273 logtype text
attr FileLog_FS20_627273 room FS20
define FileLog_FS20_727273 FileLog ./log/FS20_727273-%Y.log FS20_727273
attr FileLog_FS20_727273 logtype text
attr FileLog_FS20_727273 room FS20
define FS20_727272 FS20 7272 72
attr FS20_727272 room FS20
define FileLog_FS20_727272 FileLog ./log/FS20_727272-%Y.log FS20_727272
attr FileLog_FS20_727272 logtype text
attr FileLog_FS20_727272 room FS20
define Jalousien_runter at *05:35:00 set Jalousie_runter off
define Jalousien_hoch at *06:45:00 { if (!$we) { fhem("set Jalousie_hoch on") }}
define FS20_627273 FS20 6272 73
attr FS20_627273 room FS20
define fs20bs FS20 7272 73
attr fs20bs comment Beschattungssteuerung on=dunkel off=hell
attr fs20bs devStateIcon hell:off:dunkel dunkel:on:hell:FS20.off
attr fs20bs dummy 1
attr fs20bs eventMap on:dunkel off:hell
attr fs20bs room FS20

Zumindest der rote Bereich fällt mir auf, dass das nicht stimmt...
Aber was nun machen ?

MisterEltako

Hi!

Also lass Mal im unteren Anteil deiner fhem.cfg die Logfiles zur besseren Übersicht raus und ergänze die Logfileeintrage s.u.:

...

define Jalousien_runter at *05:35:00 set Jalousie_runter off

define Jalousien_hoch at *06:45:00 { if (!$we) { fhem("set Jalousie_hoch on") }}

define Daemmerung_ab notify define Daemmerung_ab notify fs20bs {\
   my $fs20bs = Value("fs20bs");;\
   if ( "$fs20bs" eq "dunkel") {\
       fhem("set Jalousie_runter on");;\
       Log 3, "fs20bs meldet: $fs20bs - Befehl: Jalousie_runter on";;\
  } else {\
       Log 3, "fs20bs meldet; $fs20bs - Jalousie unverändert.";;\
  }\
}
attr Daemmerung_ab room FS20

# Jalousieaktor für hoch
#-----------------------
define Jalousie_hoch FS20 7621 24
attr Jalousie_hoch room FS20

# Jalousieaktor für runter
#-------------------------
define Jalousie_runter FS20 7621 e1
attr Jalousie_runter room FS20

# Helligkeitssensor fs20bs
#-------------------------
define fs20bs FS20 7272 73
attr fs20bs comment Beschattungssteuerung on=dunkel off=hell
attr fs20bs devStateIcon hell:off:dunkel dunkel:on:hell:FS20.off
attr fs20bs dummy 1
attr fs20bs eventMap on:dunkel off:hell
attr fs20bs room FS20

# was ist das????
#----------------
define FS20_727272 FS20 7272 72
attr FS20_727272 room FS20

# was ist das???
----------------
define FS20_627273 FS20 6272 73
attr FS20_627273 room FS20


Bitte Filelog eintrage des Hauptlogfiles mit posten...

MfG, MisterEltako.
HMLAN-Konfigurations-Adapter, HM-Funkjalousieaktor/HM-Dimmaktor/HM-Schaltaktor f. Markenschalter, Jalousie-/Schaltaktor von Eltako, FT4 v. Eltako, TCM310

Kai

so, nach den familiären Feierlichkeiten habe ich wieder ein Versuch gestartet:

hier meine geänderte fhem.cfg

attr global autoload_undefined_devices 1
attr global holiday2we Feiertage
attr global logfile ./log/fhem-%Y-%m.log
attr global modpath .
attr global motd SecurityCheck:\\\\
\\\\
WEBphone,WEBtablet has no basicAuth attribute.\\\\
telnetPort has no password/globalpassword attribute.\\\\
Running with root privileges.\\\\
Restart fhem for a new check if the problem is fixed,\\\\
or set the global attribute motd to none to supress this message.\\\\

attr global statefile ./log/fhem.save
attr global userattr devStateIcon fm_fav fm_groups fm_name fm_order fm_type fm_view icon sortby webCmd
attr global verbose 3

define telnetPort telnet 7072 global

define WEB FHEMWEB 8083 global
attr WEB basicAuth {use FritzBoxUtils;;FB_checkPw("localhost","$password") }

define WEBphone FHEMWEB 8084 global
attr WEBphone stylesheetPrefix smallscreen

define WEBtablet FHEMWEB 8085 global
attr WEBtablet stylesheetPrefix touchpad

# Fake FileLog entry, to access the fhem log from FHEMWEB
define Logfile FileLog ./log/fhem-%Y-%m.log fakelog

define autocreate autocreate
attr autocreate autosave 1
attr autocreate device_room %TYPE
attr autocreate filelog ./log/%NAME-%Y.log
attr autocreate weblink 1
attr autocreate weblink_room Plots

# Disable this to avoid looking for new USB devices on startup
define initialUsbCheck notify global:INITIALIZED usb create


# If the above notify did not helped, then you probably have to enable some of
# the following lines.  Verify first that /dev/xxx ist correct.

#define FHZ FHZ /dev/USB0
#define CUL CUL /dev/ttyACM0@9600 1234
#attr CUL rfmode HomeMatic

define CUL_0 CUL /dev/ttyACM0@9600 1034
define test FS20 7272 01
attr test fm_fav 999
attr test fm_type on-off
attr test model fs20st
attr test room Wohnzimmer
define FileLog_test FileLog ./log/test-%Y.log test
attr FileLog_test logtype text
attr FileLog_test room FS20
define Fhemobile dummy
define FileLog_wz_Stehlampe FileLog ./log/wz_Stehlampe-%Y.log wz_Stehlampe
attr FileLog_wz_Stehlampe logtype text
attr FileLog_wz_Stehlampe room FS20

define Wetter weblink iframe http://www.wetteronline.de/cgi-bin/hpweather?PLZ=23684
define Feiertage holiday
define wz_Stehlampe FS20 7272 03
attr wz_Stehlampe model fs20-st
attr wz_Stehlampe room Wohnzimmer
define Fernseher FS20 7621 03
attr Fernseher room FS20

define FS20_727272 FS20 7272 72
attr FS20_727272 room FS20
define FS20_627273 FS20 6272 73
attr FS20_627273 room FS20

define Jalousien_runter at *05:35:00 set Jalousie_runter off
define Jalousien_hoch at *06:45:00 { if (!$we) { fhem("set Jalousie_hoch on") }}
define Daemmerung_ab notify define Daemmerung_ab notify fs20bs {\
my $fs20bs = Value("fs20bs");;\
if ( "$fs20bs" eq "dunkel") {\
fhem("set Jalousie_runter on");;\
Log 3, "fs20bs meldet: fs20bs - Befehl: Jalousie_runter on";;\
} else {\
Log 3, "fs20bs meldet
attr Daemmerung_ab room FS20

# Jalousieaktor für hoch
#-----------------------
define Jalousie_hoch FS20 7621 24
attr Jalousie_hoch room FS20

# Jalousieaktor für runter
#-------------------------
define Jalousie_runter FS20 7621 e1
attr Jalousie_runter room FS20

# Helligkeitssensor fs20bs
#-------------------------
define fs20bs FS20 7272 73
attr fs20bs comment Beschattungssteuerung on=dunkel off=hell
attr fs20bs devStateIcon hell:off:dunkel  :on:hell:FS20.off
attr fs20bs dummy 1
attr fs20bs eventMap on:dunkel off:hell
attr fs20bs room FS20


ich muss aber zugeben, dass ich dass Gefühl habe mehr und mehr zu "zerschießen"
Funtktionieren tut´s immer noch nicht,
daher mal die Frage in die Runde, wie man die fhem.cfg komplett neu aufsetzt ?
Ich denke mal, es ist langsam einfacher, alles neu einzubinden und von vorne anzufangen, oder ?

Ach ja, im Logfile ist nichts hinterlegt, ob was geschaltet wurde, ich sehe aber, dass registriert wird, wenn ich
das fs20ds verdunkel.

hier noch mal Logfile nach dem Restart und dem anschl. Abdunkeln des fs20ds
2013.04.26 20:20:24 0: Server shutdown
2013.04.26 20:20:29 1: Including fhem.cfg
2013.04.26 20:20:31 3: telnetPort: port 7072 opened
2013.04.26 20:20:33 3: WEB: port 8083 opened
2013.04.26 20:20:33 3: WEBphone: port 8084 opened
2013.04.26 20:20:33 3: WEBtablet: port 8085 opened
2013.04.26 20:20:34 3: Opening CUL_0 device /dev/ttyACM0
2013.04.26 20:20:35 3: Setting CUL_0 baudrate to 9600
2013.04.26 20:20:35 3: CUL_0 device opened
2013.04.26 20:20:35 3: CUL_0: Possible commands: BCFiAGMRTVWXefmltux
2013.04.26 20:20:36 1: Including ./log/fhem.save
2013.04.26 20:20:36 1: usb create starting
2013.04.26 20:20:38 1: usb create end
2013.04.26 20:20:38 2: SecurityCheck:  WEBphone,WEBtablet has no basicAuth attribute. telnetPort has no password/globalpassword attribute. Running with root privileges. Restart fhem for a new check if the problem is fixed, or set the global attribute motd to none to supress this message.
2013.04.26 20:20:38 0: Server started with 25 defined entities (version Fhem 5.4 (DEVELOPMENT), $Id: fhem.pl 3053 2013-04-08 14:31:22Z rudolfkoenig $, pid 5886)



MisterEltako

Also wenn im Logfile jetzt nix steht, dann wird das Notify nicht ausgelöst.
D.h. fs20bs sendet überhaupt keinen Event!

In deinem Logfile sehe ich keinen Eintrag bezüglich deinem Abdunkeln. Fehlt da noch was vom Logfileinhalt?

Also musst du dort suchen, wo der Event ausgelöst wird....

Versuch bitte ob durch Eintrag von

set fs20bs dunkel

in die Kommandozeile etwas passiert oder im Logfile erscheint.

MfG, MisterEltako.
HMLAN-Konfigurations-Adapter, HM-Funkjalousieaktor/HM-Dimmaktor/HM-Schaltaktor f. Markenschalter, Jalousie-/Schaltaktor von Eltako, FT4 v. Eltako, TCM310