Raspberry Pi B+ und CUL und Homematic-Fragen

Begonnen von wowogiengen, 03 Juni 2015, 19:00:57

Vorheriges Thema - Nächstes Thema

wowogiengen

Hallo,
ich habe mir den FHEM auf dem raspberry B+ installiert, einen USB-CUL-Sender rangemacht und das Ganze dann mit dem Homematic-Protokoll versehen.

Als Einsteiger-Projekt möchte ich jetzt gerne meine "vermurkste" Terrassen-Beleuchtung pimpen.

Und zwar ist es so, dass an der Terrassentür der Küche ein Schalter ist, und ein Licht an der gleichen Wand. Der zweite Schalter und das zweite Licht ist von der Garage aus schaltbar. Beide sind unabhängig voneinander.
Ich habe jetzt zwei HM-LC-SW2-FM gekauft, von denen dann je einer in die entsprechende Schalterdose rein soll. Die Schalter tausche ich dann gegen Taster aus. Der Schaltaktor kommt dann in die Leitung zwischen Taster und Licht.

Mit einem dieser 2-fach-Schaltaktoren hab ich hier im Bastelraum schon mal die Schaltung aufgebaut - allerdings sind beide Kanäle belegt, was ja draussen dann durch den zweiten Schaltaktor passieren würde.

Frage: Ist das schon mal schlecht?

Die Schaltung der beiden Lampen geht jetzt sowohl durch den Aktor als auch durch FHEM im Prinzip.
Aber manchmal ist es so, dass ein Befehl des FHEM scheinbar hängen bleibt, oder erst mit viel Verzögerung am Aktor ankommt.

Frage: Liegt das am raspy, oder an FHEM oder an Perl, oder woran?

Frage: Bei dem Schaltaktor ist die Bezeichnung Licht oder Taster austauschbar? D.h. durch den Taster wird das Licht immer getoggelt, aber letztendlich habe ich ja nur den Status on oder off der Lampe zur Verfügung.



Wenn ich jetzt beide Lampen mit einem der beiden Taster schalten will, dann brauch ich doch ein dummy-Device, welches bei einem Statuswechsel einer Lampe den neuen Status dieser Lampe annimmt und dann gleichzeitig die andere Lampe in den neuen Status schaltet?

Also

  • Taster 1 wird gedrückt.
  • Lampe 1 schaltet um.
  • Dummy reagiert auf Event von Lampe 1.
  • Dummy 1 schaltet auch um
  • Lampe 2 reagiert auf Event von Dummy 1.
  • Lampe 2 schaltet auch um.

jetzt könnte ich durch den gleichen Taster 1 zuerst Lampe 1 wieder ausschalten und Lampe 2 folgt dann Lampe 1

Alternativ Taster 2 schaltet Lampe 2 aus und Lampe 1 folgt Lampe 2.

Oder:
Ich verwende für die beiden Stati "on" und "off" der beiden Lampen jeweils 1 eigenes Notify, so dass ein Off-Notify einer Lampe das dummy-Device ausschaltet und dadurch automatisch die andere Lampe eingeschalten wird - und umgekehrt.

Blöderweise scheint es so zu sein, dass manchmal eine Endlosschleife dabei rauskommt, und die Lampen wie verrückt hin und herschalten.

Wer kann mir helfen?

Ich habe grade keine gültige CFG mehr, aber ich werde sie später wieder anhängen, wenn die beiden Taster und die notifies wieder da sind...


Viele Grüße
Wolfgang


Hier habe ich noch die aktuelle CFG-Datei

attr global userattr devStateIcon devStateStyle icon sortby webCmd widgetOverride
attr global autoload_undefined_devices 1
attr global logfile ./log/fhem-%Y-%m.log
attr global modpath .
attr global motd SecurityCheck:\
\
telnetPort has no password/globalpassword attribute.\
\
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 updateInBackground 1
attr global verbose 0
# Fake FileLog entry, to access the fhem log from FHEMWEB
define Logfile FileLog ./log/fhem-%Y-%m.log fakelog

define autocreate autocreate
attr autocreate filelog ./log/%NAME-%Y-%m.log


define telnetPort telnet 7072 global
define WEB FHEMWEB 8083 global
attr WEB basicAuth { "$user:$password" eq "admin:secret" }

#define WEBphone FHEMWEB 8084 global
#attr WEBphone stylesheetPrefix smallscreen
#define WEBtablet FHEMWEB 8085 global
#attr WEBtablet stylesheetPrefix touchpad



define eventTypes eventTypes ./log/eventTypes.txt

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

define Funkantenne CUL /dev/ttyACM0@9600 1034
attr Funkantenne rfmode HomeMatic
attr Funkantenne room Haus
attr Funkantenne verbose 5


define Garagentor CUL_HOERMANN C0F1021D80
attr Garagentor ignore 1

############################
# Homematic Fernbedienung 1
############################
define FFB_1 CUL_HM 2AF606
attr FFB_1 IODev Funkantenne
attr FFB_1 autoReadReg 4_reqStatus
attr FFB_1 expert 2_full
attr FFB_1 firmware 1.2
attr FFB_1 model HM-RC-4-2
attr FFB_1 room hidden
attr FFB_1 serialNr LEQ0490829
attr FFB_1 subType remote
attr FFB_1 webCmd getConfig:clear msgEvents


############################
# Log für FFB_1
############################
define FileLog_FFB_1 FileLog ./log/FFB_1-%Y-%m.log FFB_1
attr FileLog_FFB_1 logtype text
attr FileLog_FFB_1 room Logs


########################
# FFB_1 Tasterbelegung 1
########################
define FFB_1_Btn_01 CUL_HM 2AF60601
attr FFB_1_Btn_01 model HM-RC-4-2
attr FFB_1_Btn_01 peerIDs 00000000,
attr FFB_1_Btn_01 room hidden

########################
# FFB_1 Tasterbelegung 2
########################
define FFB_1_Btn_02 CUL_HM 2AF60602
attr FFB_1_Btn_02 model HM-RC-4-2
attr FFB_1_Btn_02 peerIDs 00000000,
attr FFB_1_Btn_02 room hidden
########################
# FFB_1 Tasterbelegung 3
########################
define FFB_1_Btn_03 CUL_HM 2AF60603
attr FFB_1_Btn_03 model HM-RC-4-2
attr FFB_1_Btn_03 peerIDs 00000000,
attr FFB_1_Btn_03 room hidden
########################
# FFB_1 Tasterbelegung 4
########################
define FFB_1_Btn_04 CUL_HM 2AF60604
attr FFB_1_Btn_04 model HM-RC-4-2
attr FFB_1_Btn_04 peerIDs 00000000,
attr FFB_1_Btn_04 room hidden



###############
# Schaltaktor 1
###############
define SW_1 CUL_HM 33CFAF
attr SW_1 IODev Funkantenne
attr SW_1 autoReadReg 0_off
attr SW_1 expert 2_full
attr SW_1 firmware 2.5
attr SW_1 model HM-LC-SW2-FM
attr SW_1 serialNr LEQ1318587
attr SW_1 subType switch
attr SW_1 webCmd getConfig:clear msgEvents

define FileLog_SW_1 FileLog ./log/SW_1-%Y-%m.log SW_1
attr FileLog_SW_1 logtype text
attr FileLog_SW_1 room Logs

#################
# SW_1 Schalter 1
#################
define T1 CUL_HM 33CFAF01
attr T1 userattr cul_HM cul_HM_map structexclude
attr T1 event-min-interval 10
attr T1 event-on-change-reading state
attr T1 model HM-LC-SW2-FM
attr T1 peerIDs 00000000,
attr T1 room Haus,Terrasse
attr T1 verbose 5
attr T1 webCmd on:off

define T1_Aus notify T1:off set dmy_T1_T2 off
attr T1_Aus disable 1
define T1_An notify T1:on set dmy_T1_T2 on
attr T1_An disable 1

#################
# SW_1 Schalter 2
#################
define T2 CUL_HM 33CFAF02
attr T2 userattr cul_HM cul_HM_map structexclude
attr T2 event-min-interval 10
attr T2 event-on-change-reading state
attr T2 event-on-update-reading state
attr T2 model HM-LC-SW2-FM
attr T2 peerIDs 00000000,
attr T2 room Haus,Terrasse
attr T2 verbose 5
attr T2 webCmd on:off
define T2_An notify T2:on set dmy_T1_T2 on
attr T2_An disable 1
define T2_Aus notify T2:off set dmy_T1_T2 off
attr T2_Aus disable 1



#########################
# Zwischendevice Terrasse
#########################
define dmy_T1_T2 dummy
attr dmy_T1_T2 room Haus,Terrasse
attr dmy_T1_T2 setList on off
attr dmy_T1_T2 webCmd on:off
define dmy_T1_T2An notify dmy_T1_T2:on set T1,T2 on
define dmy_T1_T2Aus notify dmy_T1_T2:off set T1,T2 off



In dem Code ist jetzt auch noch eine FFB HM-RC-4-2 enthalten, die später vielleicht auch noch eine Rolle spielen soll.

slor

Du kannst auch die beiden aktoren mit einem hm taster direkt peeren. Dann geht das auch ohne fhem.

wowogiengen

Zitat von: slor am 03 Juni 2015, 19:43:02
Du kannst auch die beiden aktoren mit einem hm taster direkt peeren. Dann geht das auch ohne fhem.

Hallo slor,
der von mir verwendete Schaltaktor HM-LC-SW2-FM  hat zwei Eingänge für Taster und 2 Ausgänge für die Last.
Da brauch ich dann nichts extra peeren.
Aber mein Problem ist ja, dass ich an zwei räumlich getrennten Stellen einen Taster für eine Lampe habe, und der jeweils andere Schaltaktor soll den Zustand wiederspiegeln.
T1-SA1-L1
...
T2-SA2-L2

wenn T1 gedrückt wird, geht L1 und L2 an.
wenn T1 gedruckt wird, geht L1 und L2 aus.
wenn T2 gedrückt wird geht L2 und L1 an
wenn T2 gedrückt wird geht L2 und L1 aus

es soll aber auch T1 -T2 -T2 -T1 gehen, so dass am Ende wieder alle Lampen aus sind
Viele Grüße
Wolfgang

wowogiengen

Hier hab ich auch noch einen Auszug aus meiner Log-Datei, wo man sieht, wie lange der FHEM braucht, bis er schliesslich den Ausgang schaltet:

2015-06-03 18:38:37 dummy dmy_T1_T2 off
2015-06-03 18:38:46 CUL_HM T1 off
2015-06-03 18:38:46 CUL_HM SW_1 CMDs_done
2015-06-03 18:38:46 CUL_HM T2 off


Das sind 9 Sekunden...

wowogiengen

#4
Zitat von: slor am 03 Juni 2015, 19:43:02
Du kannst auch die beiden aktoren mit einem hm taster direkt peeren. Dann geht das auch ohne fhem.
Hab erst jetzt deinen Beitrag richtig registriert  ;D

D.h. ich kann meine beiden HM-LC-SW2-FM über kreuz miteinander peeren, so dass der erste Taster am ersten Aktor auch den ersten Ausgang am 2. Aktor schaltet, und umgekehrt?
Edit am 05.06.2015 20:03
Mit dem Schaltaktor geht das wohl so nicht.
Wenn ich die Über-Kreuz-Verknüpfung in FHEM einbaue, bekomme ich Ring-Referenzen, und dann spielen die beiden Aktoren Katz-und-Maus...

Ausserdem habe ich trotzdem dass ich nur 2 reale Homematic-Devices am CUL hängen habe, und die Entfernung auch nicht besonders weit ist (ca. 5-8m, je nach Versuchsaufbau), oft Sende- und Empfangsprobleme. Telegramme werden wiederholt, und ACKs kommen nicht zurück (wohl aber nur, wenn auch beide Aktoren gleichzeitig geschalten werden sollen)