Hallo und Guten Morgen.
Ich habe ein Vorhaben und habe versucht dieses so gut wie möglich umzusetzen. Ich bin auch auf einem guten Weg, leider hänge ich an einer Stelle. Vielleicht kann mir jemand helfen oder einen Tipp geben. Das wäre super.
Also Vorab zu meinem Vorhaben:
Ich habe einen Raspberry PI mit FHEM. Es läuft ein Teil meiner Haussteuerung darüber, die ich bereits Installiert habe und die funktioniert.
Ich habe auch ein Aquarium. Das würde ich gerne mit FHEM zeitgesteuert ein und ausschalten. Dafür habe ich eine Steckdosenleiste mit Relais ausgestattet und schalte diese mit FHEM über die GPIO-Ports.
Die Zeitschaltung geht auch. Ich habe es auch so eingerichtet, dass bei Stromausfall, die Schalter zu jeder vollen "SOLL"-Stunde wieder angehen. Ich möchte das Licht nun mit einem Einhubtaster, der ebenfalls an einem GPIO-Port angeschlossen ist, schalten. Am besten natürlich mit einem Taster EIN und AUS. Das funktioniert bei mir nicht, daher habe ich zwei Taster, der eine für EIN, der andere für AUS. Aber in einem zukünftigen Projekt soll der AUS - Taster die Aquariumpumpe/Heizstab genauso schalten, um diese für Servicearbeiten auszustellen.
Nun zu meinem Problem:
Ich habe den GPIO-Taster nach einer Anleitung im Internet programmiert. Wenn ich die Programmierung aktiviere, schaltet sich das Licht bei jeder Veränderung der bestehenden Haussteuerung EIN und AUS. Ich habe sie daher erst mal deaktiviert.
Hier einmal der Code:
Im Code wird die Steckdose1 geschaltet. Dies schaltet dann den GPIO über Lampe1 entgegengesetzt. Also wenn Steckdose1 ON dann Lampe1 OFF,...
################################################################
##############---Aquariumschaltung---############################
################################################################
#Diser Code schaltet ein Script im RPi das unter /Programme/LED liegt: led"x".py!
#Das Script enthält den Befehl, eine LED am PinXX GPIO XX zu starten.
define Lampe1 FS20 11114141 9c //Lampe1,... ist der GPIO-Name
attr Lampe1 group "Z-Hier nicht schalten!"
attr Lampe1 room Aquarium
#attr Lampe1 dummy 10
define LampeOn1 notify Lampe1:on {system('sudo python /programme/LED/led_on_1.py');;}
define LampeOff1 notify Lampe1:off {system('sudo python /programme/LED/led_off_1.py');;}
define Lampe2 FS20 11114141 9b
attr Lampe2 group "Z-Hier nicht schalten!"
attr Lampe2 room Aquarium
#attr Lampe2 dummy 11
define Lampe2On notify Lampe2:on {system('sudo python /programme/LED/led_on_2.py');;}
define Lampe2Off notify Lampe2:off {system('sudo python /programme/LED/led_off_2.py');;}
define Lampe3 FS20 11114141 8c
attr Lampe3 group "Z-Hier nicht schalten!"
attr Lampe3 room Aquarium
#attr Lampe3 dummy 12
define Lampe3On notify Lampe3:on {system('sudo python /programme/LED/led_on_3.py');;}
define Lampe3Off notify Lampe3:off {system('sudo python /programme/LED/led_off_3.py');;}
define Lampe4 FS20 11114141 7c
attr Lampe4 group "Z-Hier nicht schalten!"
attr Lampe4 room Aquarium
#attr Lampe4 dummy 13
define Lampe4On notify Lampe4:on {system('sudo python /programme/LED/led_on_4.py');;}
define Lampe4Off notify Lampe4:off {system('sudo python /programme/LED/led_off_4.py');;}
#Dummies erstellen, damit das Licht bei ON auch on ist
define Steckdose1 FS20 11114114 9c
attr Steckdose1 group "Aquariumlicht"
attr Steckdose1 room Aquarium
define Steckdose2 FS20 11114114 9a
attr Steckdose2 group "Filteranlage"
attr Steckdose2 room Aquarium
define Steckdose3 FS20 11114114 9b
attr Steckdose3 group "Heizstab"
attr Steckdose3 room Aquarium
define Steckdose4 FS20 11114114 9d
attr Steckdose4 group "Luftströmer"
attr Steckdose4 room Aquarium
define notify_Steckdose1_OFF notify Steckdose1:off set Lampe1 on
define notify_Steckdose1_ON notify Steckdose1:on set Lampe1 off
define notify_Steckdose2_OFF notify Steckdose2:off set Lampe2 on
define notify_Steckdose2_ON notify Steckdose2:on set Lampe2 off
define notify_Steckdose3_OFF notify Steckdose3:off set Lampe3 on
define notify_Steckdose3_ON notify Steckdose3:on set Lampe3 off
define notify_Steckdose4_OFF notify Steckdose4:off set Lampe4 on
define notify_Steckdose4_ON notify Steckdose4:on set Lampe4 off
#########################################
#------------------Zeitschaltuhr---------------------#
#########################################
#Zeitschaltuhr
define prog_Steckdose_01_ON01 at *08:00:00 set Steckdose1 on
define prog_Steckdose_01_ON02 at *09:00:00 set Steckdose1 on
define prog_Steckdose_01_ON03 at *10:00:00 set Steckdose1 on
define prog_Steckdose_01_ON04 at *11:00:00 set Steckdose1 on
define prog_Steckdose_01_ON05 at *12:00:00 set Steckdose1 on
define prog_Steckdose_01_ON06 at *13:00:00 set Steckdose1 on
define prog_Steckdose_01_ON07 at *14:00:00 set Steckdose1 on
define prog_Steckdose_01_ON08 at *15:00:00 set Steckdose1 on
define prog_Steckdose_01_ON09 at *16:00:00 set Steckdose1 on
define prog_Steckdose_01_ON010 at *17:00:00 set Steckdose1 on
define prog_Steckdose_01_ON011 at *18:00:00 set Steckdose1 on
define prog_Steckdose_01_ON012 at *19:00:00 set Steckdose1 on
define prog_Steckdose_01_ON013 at *20:00:00 set Steckdose1 on
define prog_Steckdose_01_OFF01 at *20:30:00 set Steckdose1 off
define prog_Steckdose_01_ON014 at *08:00:00 set Steckdose2 on
define prog_Steckdose_01_ON015 at *09:00:00 set Steckdose2 on
define prog_Steckdose_01_ON016 at *10:00:00 set Steckdose2 on
define prog_Steckdose_01_ON017 at *11:00:00 set Steckdose2 on
define prog_Steckdose_01_ON018 at *12:00:00 set Steckdose2 on
define prog_Steckdose_01_ON019 at *13:00:00 set Steckdose2 on
define prog_Steckdose_01_ON020 at *14:00:00 set Steckdose2 on
define prog_Steckdose_01_ON021 at *15:00:00 set Steckdose2 on
define prog_Steckdose_01_ON022 at *16:00:00 set Steckdose2 on
define prog_Steckdose_01_ON023 at *17:00:00 set Steckdose2 on
define prog_Steckdose_01_ON024 at *18:00:00 set Steckdose2 on
define prog_Steckdose_01_ON025 at *19:00:00 set Steckdose2 on
define prog_Steckdose_01_ON026 at *20:00:00 set Steckdose2 on
define prog_Steckdose_01_ON027 at *21:00:00 set Steckdose2 on
define prog_Steckdose_01_ON028 at *22:00:00 set Steckdose2 on
define prog_Steckdose_01_ON029 at *23:00:00 set Steckdose2 on
define prog_Steckdose_01_ON030 at *00:00:00 set Steckdose2 on
define prog_Steckdose_01_ON031 at *01:00:00 set Steckdose2 on
define prog_Steckdose_01_ON032 at *02:00:00 set Steckdose2 on
define prog_Steckdose_01_ON033 at *03:00:00 set Steckdose2 on
define prog_Steckdose_01_ON034 at *04:00:00 set Steckdose2 on
define prog_Steckdose_01_ON035 at *05:00:00 set Steckdose2 on
define prog_Steckdose_01_ON036 at *06:00:00 set Steckdose2 on
define prog_Steckdose_01_ON037 at *07:00:00 set Steckdose2 on
define prog_Steckdose_01_ON038 at *08:00:00 set Steckdose3 on
define prog_Steckdose_01_ON039 at *09:00:00 set Steckdose3 on
define prog_Steckdose_01_ON040 at *10:00:00 set Steckdose3 on
define prog_Steckdose_01_ON041 at *11:00:00 set Steckdose3 on
define prog_Steckdose_01_ON042 at *12:00:00 set Steckdose3 on
define prog_Steckdose_01_ON043 at *13:00:00 set Steckdose3 on
define prog_Steckdose_01_ON044 at *14:00:00 set Steckdose3 on
define prog_Steckdose_01_ON045 at *15:00:00 set Steckdose3 on
define prog_Steckdose_01_ON046 at *16:00:00 set Steckdose3 on
define prog_Steckdose_01_ON047 at *17:00:00 set Steckdose3 on
define prog_Steckdose_01_ON048 at *18:00:00 set Steckdose3 on
define prog_Steckdose_01_ON049 at *19:00:00 set Steckdose3 on
define prog_Steckdose_01_ON050 at *20:00:00 set Steckdose3 on
define prog_Steckdose_01_ON051 at *21:00:00 set Steckdose3 on
define prog_Steckdose_01_ON052 at *22:00:00 set Steckdose3 on
define prog_Steckdose_01_ON053 at *23:00:00 set Steckdose3 on
define prog_Steckdose_01_ON054 at *00:00:00 set Steckdose3 on
define prog_Steckdose_01_ON055 at *01:00:00 set Steckdose3 on
define prog_Steckdose_01_ON056 at *02:00:00 set Steckdose3 on
define prog_Steckdose_01_ON057 at *03:00:00 set Steckdose3 on
define prog_Steckdose_01_ON058 at *04:00:00 set Steckdose3 on
define prog_Steckdose_01_ON059 at *05:00:00 set Steckdose3 on
define prog_Steckdose_01_ON060 at *06:00:00 set Steckdose3 on
define prog_Steckdose_01_ON061 at *07:00:00 set Steckdose3 on
###########################################
#------------------Einhubtasterprogramm---------------------#
###########################################
#Die GPIO Taster werden hier konfiguriert
define Pin3_Motion RPI_GPIO 2
attr Pin3_Motion direction input
attr Pin3_Motion interrupt rising
attr Pin3_Motion pud_resistor up
attr Pin3_Motion toggletostate yes
define n_Pin3_MotionOn1 notify Pin3_Motion:on set Steckdose1 on
define Pin5_Motion RPI_GPIO 3
attr Pin5_Motion direction input
attr Pin5_Motion interrupt rising
attr Pin5_Motion pd_resistor up
attr Pin5_Motion toggletostate yes
define n_Pin5_MotionOn1 notify Pin5_Motion:off set Steckdose1 off
################################################################
###---ENDE---###########---Aquariumschaltung---####################
################################################################
Also wie gesagt, die Taster gehen, aber das Licht geht halt auch an, wenn ich teilweise meine anderen Komponenten schalte.
Hier jetzt noch was im Event-Monitor steht:
2016-06-19 10:04:44 FS20 Lampe1 off
2016-06-19 10:04:44 FS20 Steckdose1 on
2016-06-19 10:04:44 RPI_GPIO Pin3_Motion Pinlevel: high
2016-06-19 10:04:44 RPI_GPIO Pin3_Motion on
2016-06-19 10:04:44 RPI_GPIO Pin3_Motion Toggle: on
2016-06-19 10:04:44 RPI_GPIO Pin3_Motion Counter: 5
Und meine Fragen:
Meine Hauptfrage (1. Frage): Wie kann ich die Programmierung der GPIO Schalter umschreiben, damit die Schaltung nicht immerzu an- oder ausgeht. Habe ich da einen Fehler drinnen?
2. Frage: Gibt es eine Möglichkeit, mit der ich die Wiedereinschaltung nach einem eventuellem Stromausfall anders gestalte, damit die Relais einfach erneut geschaltet werden? Das Problem ist, dass es in FHEM als "AN" gezeigt wird. Allerdings ist die Steckdose nach dem Stromausfall aus.
3. Frage:Wie muss kann ich eine Art Stromstoßschalter programmieren? Damit ich für den EIN AUS - Befehl nur einen Einhubtaster benötige.
Eventuell kann mir jemand helfen, das würde mich freuen. Ich würde das gerne mit der Zeit lernen. Daher frage ich immer mal wieder
Herzlichen Dank
Kai aus Oberfranken
Hallo nochmal,
jetzt bin ich wieder mal dazugekommen mein Projekt weiter zu verfolgen. Ich habe alle Änderungen eingefügt und versucht mich in die ganze Sache einzuarbeiten. Toll, welche Möglichkeiten man da hat.
Leider stoße ich mit meiner Selbsthaltung immer wieder an die Grenzen:
Zitat...Ich habe einen Raspberry PI mit FHEM. Es läuft ein Teil meiner Haussteuerung darüber, die ich bereits Installiert habe und die funktioniert.
Ich habe auch ein Aquarium. Das würde ich gerne mit FHEM zeitgesteuert ein und ausschalten. Dafür habe ich eine Steckdosenleiste mit Relais ausgestattet und schalte diese mit FHEM über die GPIO-Ports.
Die Zeitschaltung geht auch. Ich möchte das Licht nun mit einem Einhubtaster, der ebenfalls an einem GPIO-Port angeschlossen ist, schalten. Am besten natürlich mit einem Taster. ...
Genau der Taster ist mein Problem, immer wenn ich ihn einschalten, geht er nach ca. 5 sec wieder aus. Das kann doch nicht sein, ich habe alles durchprobiert.
Kann mir bitte bitte nochmal jemand helfen?
Hier ist der Code aus fhem.cfg
Zitatattr global userattr cmdIcon 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:\
\
WEB,WEBphone,WEBtablet has no associated allowed device with basicAuth.\
telnetPort has no associated allowed device with password/globalpassword.\
\
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 sendStatistics manually
attr global statefile ./log/fhem.save
attr global uniqueID ./FHEM/FhemUtils/uniqueID
attr global updateInBackground 1
attr global verbose 5
define telnetPort telnet 7072 global
define WEB FHEMWEB 8083 global
attr WEB editConfig 1
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 filelog ./log/%NAME-%Y.log
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 FritzBox1 FB_CALLMONITOR 192.168.78.6:1012
attr FritzBox1 event-on-change-reading event
attr FritzBox1 reverse-search internal
define FritzBox FB_CALLMONITOR 192.168.78.1:1012
attr FritzBox event-on-change-reading event
attr FritzBox reverse-search internal
define FritzBox2 FB_CALLMONITOR 192.168.78.2:1012
attr FritzBox2 event-on-change-reading event
attr FritzBox2 reverse-search internal
define FritzBoxLS FB_CALLMONITOR 192.168.79.9:1012
attr FritzBoxLS event-on-change-reading event
attr FritzBoxLS reverse-search internal
define FritzBoxKS FB_CALLMONITOR 192.168.178.1:1012
attr FritzBoxKS event-on-change-reading event
attr FritzBoxKS reverse-search internal
###############################################################
################---integrationen---#################################
###############################################################
#alle integrationen
include ./FHEM/Anruferkennung.cfg
#include ./FHEM/Homematic.cfg
include ./FHEM/Notruf.cfg
include ./FHEM/Tastensteuuerung.cfg
#include ./FHEM/save1.cfg
#include ./FHEM/test.cfg
#include ./FHEM/wetter.cfg
#include ./FHEM/wetterrest.cfg
#include ./99_myUtils.pm
include ./FHEM/fhem-gpio.cfg
include ./FHEM/99_myUtils.pm
include ./FHEM/telefon.cfg
####INFO: Zum Wetter gehört test.cfg; save1.cfg; weiter.cfg; wetterfest.cfg
####
###############################################################
###---ENDE---#############---integrationen---########################
###############################################################
################################################################
##############---Aquariumschaltung---############################
################################################################
#Diser tolle Code schaltet ein Script im RPi da unter Programme liegt: led.py!
#Das Script enthält den Befehl, eine LED am Pin38 GPIO 20 zu starten.
#Das war das erste Script, was ich selbst in Python geschrieben habe und zum laufen gebracht habe.
define Lampe1 dummy
attr Lampe1 group "Z-Hier nicht schalten!"
attr Lampe1 room Aquarium
attr Lampe1 webCmd on:off
#attr Lampe1 dummy 10
define LampeOn1 notify Lampe1:on {system('sudo python /programme/LED/led_on_1.py');;}
define LampeOff1 notify Lampe1:off {system('sudo python /programme/LED/led_off_1.py');;}
define Lampe2 dummy
attr Lampe2 group "Z-Hier nicht schalten!"
attr Lampe2 room Aquarium
attr Lampe2 webCmd on:off
#attr Lampe2 dummy 11
define Lampe2On notify Lampe2:on {system('sudo python /programme/LED/led_on_2.py');;}
define Lampe2Off notify Lampe2:off {system('sudo python /programme/LED/led_off_2.py');;}
define Lampe3 dummy
attr Lampe3 group "Z-Hier nicht schalten!"
attr Lampe3 room Aquarium
attr Lampe3 webCmd on:off
#attr Lampe3 dummy 12
define Lampe3On notify Lampe3:on {system('sudo python /programme/LED/led_on_3.py');;}
define Lampe3Off notify Lampe3:off {system('sudo python /programme/LED/led_off_3.py');;}
define Lampe4 dummy
attr Lampe4 group "Z-Hier nicht schalten!"
attr Lampe4 room Aquarium
attr Lampe4 webCmd on:off
#attr Lampe4 dummy 13
define Lampe4On notify Lampe4:on {system('sudo python /programme/LED/led_on_4.py');;}
define Lampe4Off notify Lampe4:off {system('sudo python /programme/LED/led_off_4.py');;}
#Dummies erstellen, damit das Licht bei ON auch on ist
#define Steckdose1 FS20 11114114 9c
#attr Steckdose1 group "Aquariumlicht"
#attr Steckdose1 room Aquarium
#define Steckdose2 FS20 11114114 9a
#attr Steckdose2 group "Filteranlage"
#attr Steckdose2 room Aquarium
#define Steckdose3 FS20 11114114 9b
#attr Steckdose3 group "Heizstab"
#attr Steckdose3 room Aquarium
#define Steckdose4 FS20 11114114 9d
#attr Steckdose4 group "Luftströmer"
#attr Steckdose4 room Aquarium
#define notify_Steckdose1_OFF notify Steckdose1:off set Lampe1 on
#define notify_Steckdose1_ON notify Steckdose1:on set Lampe1 off
#define notify_Steckdose2_OFF notify Steckdose2:off set Lampe2 on
#define notify_Steckdose2_ON notify Steckdose2:on set Lampe2 off
#define notify_Steckdose3_OFF notify Steckdose3:off set Lampe3 on
#define notify_Steckdose3_ON notify Steckdose3:on set Lampe3 off
#define notify_Steckdose4_OFF notify Steckdose4:off set Lampe4 on
#define notify_Steckdose4_ON notify Steckdose4:on set Lampe4 off
define KaiLampe dummy
attr KaiLampe room Schulung
define KaiSchalter dummy
attr KaiSchalter room Schulung
attr KaiSchalter webCmd on:off
#define KaiLampe_ON notify Pin3_Motion:on set KaiLampe on
define TasterKai dummy
attr TasterKai room Schulung
#define TasterKai_On notify Pin3_Motion:on set TasterKai on
#define di_lamp DOIF ([notify KaiLampe:on] and [notify TasterKai:something]) (set KaiLampe:off) DOELSEIF ([notify KaiLampe:off] and [notify TasterKai:something]) (set KaiLampe:on)
#define mynot1 notify TasterKai.* {Log( 1, "Taster gefeuert");;}
define Lampe1_N notify Pin3_Motion set Lampe1 $EVENT
attr Lampe1_N room Aquarium
Vielen Dank
#########################################
#------------------Zeitschaltuhr---------------------#
#########################################
#Zeitschaltuhr
define prog_Steckdose_01_ON01 at *08:00:00 set Steckdose1 on
define prog_Steckdose_01_ON02 at *09:00:00 set Steckdose1 on
define prog_Steckdose_01_ON03 at *10:00:00 set Steckdose1 on
define prog_Steckdose_01_ON04 at *11:00:00 set Steckdose1 on
define prog_Steckdose_01_ON05 at *12:00:00 set Steckdose1 on
define prog_Steckdose_01_ON06 at *13:00:00 set Steckdose1 on
define prog_Steckdose_01_ON07 at *14:00:00 set Steckdose1 on
define prog_Steckdose_01_ON08 at *15:00:00 set Steckdose1 on
define prog_Steckdose_01_ON09 at *16:00:00 set Steckdose1 on
define prog_Steckdose_01_ON010 at *17:00:00 set Steckdose1 on
define prog_Steckdose_01_ON011 at *18:00:00 set Steckdose1 on
define prog_Steckdose_01_ON012 at *19:00:00 set Steckdose1 on
define prog_Steckdose_01_ON013 at *20:00:00 set Steckdose1 on
define prog_Steckdose_01_OFF01 at *20:30:00 set Steckdose1 off
define prog_Steckdose_01_ON014 at *08:00:00 set Steckdose2 on
define prog_Steckdose_01_ON015 at *09:00:00 set Steckdose2 on
define prog_Steckdose_01_ON016 at *10:00:00 set Steckdose2 on
define prog_Steckdose_01_ON017 at *11:00:00 set Steckdose2 on
define prog_Steckdose_01_ON018 at *12:00:00 set Steckdose2 on
define prog_Steckdose_01_ON019 at *13:00:00 set Steckdose2 on
define prog_Steckdose_01_ON020 at *14:00:00 set Steckdose2 on
define prog_Steckdose_01_ON021 at *15:00:00 set Steckdose2 on
define prog_Steckdose_01_ON022 at *16:00:00 set Steckdose2 on
define prog_Steckdose_01_ON023 at *17:00:00 set Steckdose2 on
define prog_Steckdose_01_ON024 at *18:00:00 set Steckdose2 on
define prog_Steckdose_01_ON025 at *19:00:00 set Steckdose2 on
define prog_Steckdose_01_ON026 at *20:00:00 set Steckdose2 on
define prog_Steckdose_01_ON027 at *21:00:00 set Steckdose2 on
define prog_Steckdose_01_ON028 at *22:00:00 set Steckdose2 on
define prog_Steckdose_01_ON029 at *23:00:00 set Steckdose2 on
define prog_Steckdose_01_ON030 at *00:00:00 set Steckdose2 on
define prog_Steckdose_01_ON031 at *01:00:00 set Steckdose2 on
define prog_Steckdose_01_ON032 at *02:00:00 set Steckdose2 on
define prog_Steckdose_01_ON033 at *03:00:00 set Steckdose2 on
define prog_Steckdose_01_ON034 at *04:00:00 set Steckdose2 on
define prog_Steckdose_01_ON035 at *05:00:00 set Steckdose2 on
define prog_Steckdose_01_ON036 at *06:00:00 set Steckdose2 on
define prog_Steckdose_01_ON037 at *07:00:00 set Steckdose2 on
define prog_Steckdose_01_ON038 at *08:00:00 set Steckdose3 on
define prog_Steckdose_01_ON039 at *09:00:00 set Steckdose3 on
define prog_Steckdose_01_ON040 at *10:00:00 set Steckdose3 on
define prog_Steckdose_01_ON041 at *11:00:00 set Steckdose3 on
define prog_Steckdose_01_ON042 at *12:00:00 set Steckdose3 on
define prog_Steckdose_01_ON043 at *13:00:00 set Steckdose3 on
define prog_Steckdose_01_ON044 at *14:00:00 set Steckdose3 on
define prog_Steckdose_01_ON045 at *15:00:00 set Steckdose3 on
define prog_Steckdose_01_ON046 at *16:00:00 set Steckdose3 on
define prog_Steckdose_01_ON047 at *17:00:00 set Steckdose3 on
define prog_Steckdose_01_ON048 at *18:00:00 set Steckdose3 on
define prog_Steckdose_01_ON049 at *19:00:00 set Steckdose3 on
define prog_Steckdose_01_ON050 at *20:00:00 set Steckdose3 on
define prog_Steckdose_01_ON051 at *21:00:00 set Steckdose3 on
define prog_Steckdose_01_ON052 at *22:00:00 set Steckdose3 on
define prog_Steckdose_01_ON053 at *23:00:00 set Steckdose3 on
define prog_Steckdose_01_ON054 at *00:00:00 set Steckdose3 on
define prog_Steckdose_01_ON055 at *01:00:00 set Steckdose3 on
define prog_Steckdose_01_ON056 at *02:00:00 set Steckdose3 on
define prog_Steckdose_01_ON057 at *03:00:00 set Steckdose3 on
define prog_Steckdose_01_ON058 at *04:00:00 set Steckdose3 on
define prog_Steckdose_01_ON059 at *05:00:00 set Steckdose3 on
define prog_Steckdose_01_ON060 at *06:00:00 set Steckdose3 on
define prog_Steckdose_01_ON061 at *07:00:00 set Steckdose3 on
###########################################
#------------------Tasterprogramm---------------------#
###########################################
#Die GPIO Taster werden hier konfiguriert
define Pin3_Motion RPI_GPIO 2
attr Pin3_Motion debounce_in_ms 250
attr Pin3_Motion direction input
attr Pin3_Motion interrupt rising
attr Pin3_Motion pud_resistor up
attr Pin3_Motion room Schulung
attr Pin3_Motion toggletostate yes
#attr Pin3_Motion toggletostate no
#define n_Pin3_MotionOn1 notify Pin3_Motion:on set Steckdose1 on
#define n_Funksteckdose_REV_06On1 notify Pin3_Motion:on set Funksteckdose_REV_06 on
#define n_Pin3_MotionOn1 notify Pin3_Motion set Steckdose1 $EVENT
#define n_Pin3_MotionOn2 notify Pin3_Motion set Funksteckdose_REV_06 $EVENT
#define Pin5_Motion RPI_GPIO 3
#attr Pin5_Motion direction input
#attr Pin5_Motion interrupt rising
##attr Pin5_Motion pud_resistor up
##attr Pin5_Motion toggletostate yes
#define n_Pin5_MotionOn1 notify Pin5_Motion:off set Steckdose1 off
#define n_Funksteckdose_REV_06Off1 notify Pin5_Motion:off set Funksteckdose_REV_06 off
################################################################
###---ENDE---###########---Aquariumschaltung---####################
################################################################
################################################################
##############---LED an Pin38 GPIO 20---############################
################################################################
#keine Ahnung schaltet vermutlich eine LED ein. Wollte ich nicht löschen, aber habe das
#ganze mal deaktiviert - Achtung das ist der direkte Weg. Man kann die LED auch über das Script
#Lampe starten
#define LED_3 FS20 11444444 1c
#attr LED_3 dummy 2
################################################################
###---ENDE---###########---LED an Pin38 GPIO 20---####################
################################################################
###############################################################
################---Anrufwarnung---################################
###############################################################
#Bei ankommenden Anruf wird ein Signal an die Homematic CCU ausgegeben,
#mit dem der MP3 Gong einen File abspielt und allgemein über den Anruf informiert
#--------------------für Testzwecke aufgehoben---------------------#
#Verbindung zu Homematic bei Anruf
#define TelefonAN notify FritzBox:event:.ring {GetFileFromURL #'http://192.168.78.111:8181/fhem2ccu.exe?Status=dom.GetObject("BidCos-RF-#JEQ0147411:1.STATE").State(1)'}
#--------------------für Testzwecke aufgehoben---------------------#
#Verbindung zu Homematic bei Anruf
define TelefonAN notify FritzBox:event:.ring {GetFileFromURL 'http://192.168.78.111:8181/fhem2ccu.exe?Status=dom.GetObject("CUxD.CUX0200004:1.STATE").State(1)'}
#Verbindung zu Homematic bei Anruf wieder aus
define TelefonAUS notify FritzBox:event:.disconnect {GetFileFromURL 'http://192.168.78.111:8181/fhem2ccu.exe?Status=dom.GetObject("CUxD.CUX0200004:1.STATE").State(0)'}
###############################################################
###---ENDE---#############---Anrufwarnung---########################
###############################################################
###############################################################
################---Lampen-Dummys---#############################
###############################################################
#Lampen Dummys für die Lampen der Systemmatrixweitergabe für das Telefonlicht karin Geyer
define Licht2_an FS20 11114444 2a
attr Licht2_an dummy 2
attr Licht2_an room 1._Etage
define Licht1_an FS20 11114444 3a
attr Licht1_an dummy 3
attr Licht1_an room 1._Etage
#define Licht_an Speicher 11114444 1a
#attr Licht_an dummy 1
#attr Licht_an room 1._Etage
###############################################################
###---ENDE---#############---Lampen-Dummys---#####################
###############################################################
###############################################################
################---Telefon Karin klingelt --Dummy geht an---#############
###############################################################
#bei ankommenden Anruf bei Karin Geyer kommt ein Signal,
#dass das Erdgeschosslicht einschaltet
#die nachfolgenden Zeilen sind für weitere Testzwecke aufgehoben
#-TEST ANFANG--------------------------------------------
#Verbindung zu Homematic bei Anruf
#define TelefonON notify FritzBox:event:.ring {fhem "set Licht_an on"}
#
#Verbindung zu Homematic bei Anruf wieder aus
#define TelefonOFF notify FritzBox:event:.disconnect {fhem "set Licht_an off"}
#-TEST ENDE-----------------------------------------------
#AN Verbindung zu Homematic bei Anruf Karin Geyer wird angerufen - EG-Licht geht an
define TelefonON notify FritzBox1:event:.ring {GetFileFromURL 'http://192.168.78.111:8181/fhem2ccu.exe?Status=dom.GetObject("CUxD.CUX2801005:2.STATE").State(1)'}
#AUS Verbindung zu Homematic bei Anruf Karin Geyer wird angerufen - EG-Licht geht aus
define TelefonOFF notify FritzBox1:event:.disconnect {GetFileFromURL 'http://192.168.78.111:8181/fhem2ccu.exe?Status=dom.GetObject("CUxD.CUX2801005:2.STATE").State(0)'}
###############################################################
###---ENDE---#############---Telefon Karin klingelt --Dummy geht an---#####
###############################################################
####-B-E-T-A-####################################################
####-B-E-T-A-###############---Telefon klingeln lassen---################
####-B-E-T-A-####################################################
define Klingelo FS20 41114444 2a
attr Klingelo dummy 2
attr Klingelo room Telefon
define notify_Klingelo notify Klingelo:on {FBCallr(1,612,10,'192.168.78.1','5764439')}
define CallMonAT at *00:10:00 {CallMonOn();;}
####-B-E-T-A-####################################################
###---ENDE---##########################---Telefon klingeln lassen---#####
####-B-E-T-A-####################################################
####-B-E-T-A-####################################################
####-B-E-T-A-############---Test Funksteckdosen ---#######################
####-B-E-T-A-####################################################
#define Steckdose room Kai
#define Steckdose IT 0F00FF0F FF FF
#attr Steckdose IODev CUL_TX_55
#attr Steckdose ITrepetition 12
#attr Steckdose model itswitch
####-B-E-T-A-####################################################
####---ENDE---############---Test Funksteckdosen ---##################
####-B-E-T-A-####################################################
###############################################################
##########################---RFXTRX433---#######################
###############################################################
define TRX_0 TRX /dev/ttyUSB0@38400
attr TRX_0 room CUL_TX
define FileLog_CUL_TX_55 FileLog ./log/CUL_TX_55-%Y.log TRX_0
attr FileLog_CUL_TX_55 logtype temp4hum4:Temp/Hum,text
attr FileLog_CUL_TX_55 room CUL_TX
define SVG_CUL_TX_55 SVG FileLog_CUL_TX_55:temp4hum4:CURRENT
attr SVG_CUL_TX_55 label "TRX_0 Min $data{min1}, Max $data{max1}, Last $data{currval1}"
attr SVG_CUL_TX_55 room CUL_TX
###############################################################
###---ENDE---#############---RFXTRX433---#######################
###############################################################
###############################################################
################---HomeEasy-Taster---#############################
###############################################################
define Licht_EGan TRX_LIGHT HOMEEASY 00081cbe0b light
attr Licht_EGan IODev TRX_0
attr Licht_EGan room 1._Etage
define Licht_EGaus FileLog ./log/TRX_HOMEEASY_00081cbe0b-%Y.log TRX_HOMEEASY_00081cbe0b
attr Licht_EGaus logtype text
attr Licht_EGaus room 1._Etage
define TRX_HOMEEASY_00063a2a0b TRX_LIGHT HOMEEASY 00063a2a0b light
attr TRX_HOMEEASY_00063a2a0b IODev TRX_0
attr TRX_HOMEEASY_00063a2a0b room 1._Etage
define FileLog_TRX_HOMEEASY_00063a2a0b FileLog ./log/TRX_HOMEEASY_00063a2a0b-%Y.log TRX_HOMEEASY_00063a2a0b
attr FileLog_TRX_HOMEEASY_00063a2a0b logtype text
attr FileLog_TRX_HOMEEASY_00063a2a0b room 1._Etage
###############################################################
###---ENDE---#############---HomeEasy-Taster---#####################
###############################################################
###############################################################
#######################---REV Funksteckdosen---####################
###############################################################
define Funksteckdose_REV_01 TRX_LIGHT AC 02693bf210 light
attr Funksteckdose_REV_01 IODev TRX_0
attr Funksteckdose_REV_01 room Funksteckdosen
define FileLog_Funksteckdose_REV_01 FileLog ./log/TRX_AC_02693bf210-%Y.log TRX_AC_02693bf210
attr FileLog_Funksteckdose_REV_01 logtype text
attr FileLog_Funksteckdose_REV_01 room FunksteckdosenFileLog
define Funksteckdose_REV_02 TRX_LIGHT AC 02693bf20f light
attr Funksteckdose_REV_02 IODev TRX_0
attr Funksteckdose_REV_02 room Funksteckdosen
define FileLog_Funksteckdose_REV_02 FileLog ./log/TRX_AC_02693bf20f-%Y.log TRX_AC_02693bf20f
attr FileLog_Funksteckdose_REV_02 logtype text
attr FileLog_Funksteckdose_REV_02 room FunksteckdosenFileLog
define Funksteckdose_REV_03 TRX_LIGHT AC 02693bf20e light
attr Funksteckdose_REV_03 IODev TRX_0
attr Funksteckdose_REV_03 room Funksteckdosen
define FileLog_Funksteckdose_REV_03 FileLog ./log/TRX_AC_02693bf20e-%Y.log TRX_AC_02693bf20e
attr FileLog_Funksteckdose_REV_03 logtype text
attr FileLog_Funksteckdose_REV_03 room FunksteckdosenFileLog
define Funksteckdose_REV_04 TRX_LIGHT AC 037ecff610 light
attr Funksteckdose_REV_04 IODev TRX_0
attr Funksteckdose_REV_04 room Funksteckdosen
define FileLog_Funksteckdose_REV_04 FileLog ./log/TRX_AC_037ecff610-%Y.log TRX_AC_037ecff610
attr FileLog_Funksteckdose_REV_04 logtype text
attr FileLog_Funksteckdose_REV_04 room FunksteckdosenFileLog
define Funksteckdose_REV_05 TRX_LIGHT AC 037ecff60f light
attr Funksteckdose_REV_05 IODev TRX_0
attr Funksteckdose_REV_05 room Funksteckdosen
define FileLog_Funksteckdose_REV_05 FileLog ./log/TRX_AC_037ecff60f-%Y.log TRX_AC_037ecff60f
attr FileLog_Funksteckdose_REV_05 logtype text
attr FileLog_Funksteckdose_REV_05 room FunksteckdosenFileLog
define Funksteckdose_REV_06 TRX_LIGHT AC 037ecff60e light
attr Funksteckdose_REV_06 IODev TRX_0
attr Funksteckdose_REV_06 room Funksteckdosen
define FileLog_Funksteckdose_REV_06 FileLog ./log/TRX_AC_037ecff60e-%Y.log TRX_AC_037ecff60e
attr FileLog_Funksteckdose_REV_06 logtype text
attr FileLog_Funksteckdose_REV_06 room FunksteckdosenFileLog
##Zeitsteuerung Zeitschaltuhr
#Funksteckdose 1
#define prog_Funksteckdose_REV_01_01 at *06:00:00 set Funksteckdose_REV_01 on
#define prog_Funksteckdose_REV_01_02 at *09:00:00 set Funksteckdose_REV_01 off
#define prog_Funksteckdose_REV_01_03 at *15:30:00 set Funksteckdose_REV_01 on
#define prog_Funksteckdose_REV_01_04 at *23:30:00 set Funksteckdose_REV_01 off
#Funksteckdose 2
define prog_Funksteckdose_REV_02_01 at *06:00:00 set Funksteckdose_REV_02 on
define prog_Funksteckdose_REV_02_02 at *09:00:00 set Funksteckdose_REV_02 off
define prog_Funksteckdose_REV_02_03 at *15:30:00 set Funksteckdose_REV_02 on
define prog_Funksteckdose_REV_02_04 at *23:30:00 set Funksteckdose_REV_02 off
#Funksteckdose 3
#define prog_Funksteckdose_REV_03_01 at *06:00:00 set Funksteckdose_REV_03 on
#define prog_Funksteckdose_REV_03_02 at *09:00:00 set Funksteckdose_REV_03 off
#define prog_Funksteckdose_REV_03_03 at *15:30:00 set Funksteckdose_REV_03 on
#define prog_Funksteckdose_REV_03_04 at *23:30:00 set Funksteckdose_REV_03 off
#Funksteckdose 6
define prog_Funksteckdose_REV_06_01 at *08:00:00 set Funksteckdose_REV_06 on
define prog_Funksteckdose_REV_06_02 at *12:00:00 set Funksteckdose_REV_06 off
define prog_Funksteckdose_REV_06_03 at *14:00:00 set Funksteckdose_REV_06 on
define prog_Funksteckdose_REV_06_04 at *19:30:00 set Funksteckdose_REV_06 off
##Badsteuerung Lichterkette Weihnachten 2015/2016
#Programm wird direkt gesteuert. Achtung im Moment wird die Steckdose direkt von der Homematic #gesteuert
#define Bad_Deckenlampe_on notify Bad_Deckenlampe:on set Funksteckdose_REV_03 on
#define Bad_Deckenlampe_off notify Bad_Deckenlampe:off set Funksteckdose_REV_03 off
###############################################################
###---ENDE---###########---REV Funksteckdosen---####################
###############################################################
#############################################
#######TEST ANWESENHEITSERKENNUNG########
#############################################
#define KaisIPhone PRESENCE function {snmpCheck("192.168.78.1","KaisIPhone")} 5 5
#attr KaisIPhone room HAUS
#define Handy PRESENCE lan-ping 192.168.78.133 60
#attr Handy room HAUS
#define BRN001BA99A37FD PRESENCE function {snmpCheck(192.168.78.1,"0x001BA99A37FD")} 30 30
#attr BRN001BA99A37FD room HAUS
#define raspberrypi PRESENCE function {snmpCheck("192.168.78.44","0xB827EBDFD3C3")} 30 30
#attr raspberrypi room HAUS
#############################################
######TEST ENDE#############################
#############################################
#############################################
#######Wetterdaten aus der Umgebung########
####################################
define RUBICSON_1 TRX_WEATHER RUBICSON_1
attr RUBICSON_1 IODev TRX_0
attr RUBICSON_1 room WETTER_neu
define FileLog_RUBICSON_1 FileLog ./log/RUBICSON_1-%Y.log RUBICSON_1
attr FileLog_RUBICSON_1 logtype text
attr FileLog_RUBICSON_1 room WETTER_neu
#############################################
#######ENDE-Wetterdaten aus der Umgebung########
####################################
###-B-E-T-A-############################################################
###-B-E-T-A-#############---TESTZWECKE---################################
###-B-E-T-A-############################################################
################---Test Anrufwarnung Karin---#########################
#Anrufwarnung (wurde aufgehoben für Testzwecke,
#da bei eingehenden Anruf von Karin Geyer die Schlafzimmerlampe
#angeht
#Verbindung zu Homematic bei Anruf
#define TelefonON notify FritzBox1:event:.ring {GetFileFromURL #'http://192.168.78.111:8181/fhem2ccu.exe?Status=dom.GetObject("BidCos-#RF.JEQ0147411:1.STATE").State(1)'}
#Verbindung zu Homematic bei Anruf wieder aus
#define TelefonOFF notify FritzBox1:event:.disconnect {GetFileFromURL #'http://192.168.78.111:8181/fhem2ccu.exe?Status=dom.GetObject("BidCos-#RF.JEQ0147411:1.STATE").State(0)'}
###---ENDE---################---Test Anrufwarnung Karin---#########################
################---CUL 868---#########################
#define CUL_0 CUL /dev/ttyACM0@9600 1034
###---ENDE---#############---CUL 868---#########################
[/quote]wenn ich auf den Taster drücke, geht das Licht an und wieder aus. Hier mal ein Auszug aus dem EventMonitor bei einem Tastendruck
Zitat2016-07-12 22:34:32 dummy Lampe1 Pinlevel: high
2016-07-12 22:34:33 dummy Lampe1 off
2016-07-12 22:34:34 dummy Lampe1 Toggle: off
2016-07-12 22:34:34 dummy Lampe1 Counter: 178
2016-07-12 22:34:34 RPI_GPIO Pin3_Motion Pinlevel: high
2016-07-12 22:34:34 RPI_GPIO Pin3_Motion off
2016-07-12 22:34:34 RPI_GPIO Pin3_Motion Toggle: off
2016-07-12 22:34:34 RPI_GPIO Pin3_Motion Counter: 178
2016-07-12 22:34:35 dummy Lampe1 Pinlevel: high
2016-07-12 22:34:36 dummy Lampe1 on
2016-07-12 22:34:36 dummy Lampe1 Toggle: on
2016-07-12 22:34:36 dummy Lampe1 Counter: 179
2016-07-12 22:34:36 RPI_GPIO Pin3_Motion Pinlevel: high
2016-07-12 22:34:36 RPI_GPIO Pin3_Motion on
2016-07-12 22:34:36 RPI_GPIO Pin3_Motion Toggle: on
2016-07-12 22:34:36 RPI_GPIO Pin3_Motion Counter: 179
Ich tappe im dunkeln, kann mir jemand helfen?
Vielen lieben Dank und Grüße aus Oberfranken
Kai
was mir her auffällt ist das du den GPIO Port als input deklariert hast. Ich hab meine die an ein 4-fach relais angeschlossen sind um 24 Volt zu schalten als "output" deklariert -> ist ja kein eingang wo ich was lesen will sondern ich will den ausgang schalten...
zusätzlich hab ich auch noch active_low aus yes gesetzt damit die logik in fhem passt und auch beim hochfahren mit aus gestartet wird...
gruß anton