Moin,
ich habe auf einem Raspberry Pi Fhem installiert und schalte die Steckdosen über einen kleinen 433 MHz Sender.
( Kleine Anleitung zum 433 MHz Sender gibt es hier http://www.itbasic.de/raspberry-pi-erster-schritt-zur-hausautomation/ (//www.itbasic.de/raspberry-pi-erster-schritt-zur-hausautomation/) )
Zwei Steckdosen kann ich mittlerweile über fhem schalten und habe beide dem Raum Flur zugewiesen. Wenn ich es richtig verstanden habe müsste ich doch über die Anweisung
define Licht_Flur structure room Licht_Treppe Licht_Telefon
attr Licht_Flur room Flur
einen weiteren Schalter erzeugen. Über diesen Schalter müsste ich beide Steckdosen gleichzeitig schalten können, jedoch passiert bei mir leider nichts.
Es wird im übrigen auch kein Schalter erzeugt sondern nur Licht_Flur defined .
Habe ich was falsch gemacht oder kann es sein das es mit Hilfe des 433 MHz so nicht geht?
Hallo Schmidti,
Du hast damit nur eine Struktur definiert, also eine Gruppe von Geräten. Um diese zu schalten, brauchst Du (beispielsweise) einen Schalter, der diese Gruppe antriggert.
Du könntest z.B. mit
define s.master.3312 FS20 myHOUSECODE a1
einen Schalter definieren, der nur durch FHEM ausgewertet werden soll, wenn er seinen Code a1 sendet (hier am Beispiel FS20, das musst Du für Dich natürlich anpassen).
Dann könntest Du mit
define NotifyFlurMaster notify s.master.3312 set Licht_Flur %
dafür sorgen, dass durch diesen Schalter Deine Struktur (also Deine Lichtergruppe) ein- bzw. ausgeschaltet wird.
Du kannst alternativ auch hergehen und Deine Struktur Licht_Flur (nur) direkt in FHEM antriggern, ohne "Hardwareschalter", beispielsweise zu einer bestimmten Uhrzeit. Hier am Beispiel eine halbe Stunde vor der Dämmerung:
define Licht_Flur_Daemmerung_an at *{sunset(-1800)} set Licht_Flur on
Grüße,
Markus
ah vielen Dank für den Tip, ich habe jetzt folgendes gemacht:
define Licht_Flur structure room Licht_Treppe Licht_Telefon
attr Licht_Flur room Flur
define Flur dummy
attr Flur eventMap on:an off:aus
attr Flur room Flur
define NFlur notify Flur set Licht_Flur %
Wenn ich nun den Schalter Flur betätige, ändert sich der Status von der Structure Licht_Flur so wie man es erwartet.
In der Weboberfläche werden die anderen Dosen ebenfalls auf an / aus gesetzt, jedoch die eigentliche Dosen schalten nicht.
Wenn das eine Frage expliziet nach "structure" ist, kann ich dir nicht helfen, weil ich structure nicht verwenden.
(insbesondere weil ich die Notwendigkeit von structure nicht verstehe. Ich kapiere nicht, welches Problem der lösen soll)
Wenn die Aufgabe "nur" lautet, die Dosen zugleich zu schalten, würde ich simpel einen Dummy basteln
define Flur dummy
attr Flur eventMap on:an off:aus
attr Flur room Flur
und dann z.b.:
define FlurLichtOn notify Flur:on set Licht_Treppe,Licht_Telefon on
define FlurLichtOff notify Flur:off set Licht_Treppe,Licht_Telefon off
fertich.
Leider wird es nur an der Weboberfläche geschaltet aber die eigentliche Steckdose schaltet nicht.
Dann hast du ein generelles Probem.
was sagt das Logfile?
Ich denke das Problem ist das du nicht gleichzeitig mehrere Codes
senden kannst,
ZitatIch denke das Problem ist das du nicht gleichzeitig mehrere Codes
senden kannst,
Doch , kann man. FHEM "entzerrt" das und sendet die nacheinander.
Laut meinem Log macht fhem das aber es geht bei mir auch nicht also denke ich das die befehle zu schnell gesendet werden.
Es ist natürlich nichts unmöglich.
Andereseits: FHEM ist genau dafür gemacht. Der Autor hat sich ne Menge Gedanken gemacht, wie man die Kommandos richtig timed und viele nutzen das hier auch so. Wenn es Probleme gäbe, dann wüssten wir das schon seit Jahren.
Ich selber habe bei mir Sachen drin stehen, da werden mit einer Zeile 12 Lampen und zusätzlich Steckdosenaktoren geschaltet. Geht problemlos.
Es mag davon abhängen, was für Aktoren das genau sind, ich kenn mich z.b. mit OneWire nicht aus. Aber FS20, IT und HM haben das Problem definitv nicht. Die läppischen 2 Lichtschalter von Schmidti sind gar nichts. (er hat vermutlich IT: "... 433 MHz Sender. ")
Aber du könntest ja mal zwischen jeder Scaltung ein sleep einbauen, als Verzögerung:
set Licht1 on,sleep 8,set Licht2 on
Wenn du recht hast, müsste das die Sache ja verbessern.
Man könnte sich ansonsten auch mal per TELNET mit "info Timer" ansehen, was genau passiert.
das versuche ich grade mit sleep geht aber auch nicht also ein anderes Problem
Tja, dachte ich mir.
Was hast du denn genau in der cfg stehen und was steht im Logfile?
define Schreibtisch dummy
attr Schreibtisch group Licht
attr Schreibtisch icon icoBELEUCHTUNG
attr Schreibtisch room Wohnzimmer
attr Schreibtisch setList on off
define on_Schreibtisch notify Schreibtisch:on "./send 11111 1 1"
define off_Schreibtisch notify Schreibtisch:off "./send 11111 1 0"
define Schrank_an at *20:15:00 set Schrank on
define Schrank_aus at *22:45:30 set Schrank off
define Schrank dummy
attr Schrank group Licht
attr Schrank icon icoBELEUCHTUNG
attr Schrank room Wohnzimmer
attr Schrank setList on off
define on_Schrank notify Schrank:on "./send 11111 3 1"
define off_Schrank notify Schrank:off "./send 11111 3 0"
define Aquarium_an at *14:30:00 set Aquarium on
define Aquarium_aus at *22:15:30 set Aquarium off
define Aquarium dummy
attr Aquarium group Licht
attr Aquarium icon icoBELEUCHTUNG
attr Aquarium room Wohnzimmer
attr Aquarium setList on off
define on_Aquarium notify Aquarium:on "./send 11111 4 1"
define off_Aquarium notify Aquarium:off "./send 11111 4 0"
define Aquariumpumpe_an at *14:30:20 set Aquariumpumpe on
define Aquariumpumpe_aus at *15:15:30 set Aquariumpumpe off
define Aquariumpumpe dummy
attr Aquariumpumpe group Pumpe
attr Aquariumpumpe icon icoZirkulationAn
attr Aquariumpumpe room Wohnzimmer
attr Aquariumpumpe setList on off
define on_Aquariumpumpe notify Aquariumpumpe:on "./send 11111 5 1"
define off_Aquariumpumpe notify Aquariumpumpe:off "./send 11111 5 0"
define Licht_aus dummy
attr Licht_aus group Licht
attr Licht_aus icon icoBELEUCHTUNG
attr Licht_aus room Wohnzimmer
attr Licht_aus setList on off
define Licht_ausOn notify Licht_aus:on set Schreibtisch on,Aquarium on,Schrank on
define Licht_ausOff notify Licht_aus:off set Schreibtisch off,Aquarium off,Schrank off
Also deine Zeilen:
define Licht_ausOn notify Licht_aus:on set Schreibtisch on,Aquarium on,Schrank on
define Licht_ausOff notify Licht_aus:off set Schreibtisch off,Aquarium off,Schrank off
sind m.M. nicht richtig.
Das müsste:
define Licht_ausOn notify Licht_aus:on set Schreibtisch on;;Aquarium on;;Schrank on
define Licht_ausOff notify Licht_aus:off set Schreibtisch off;;Aquarium off;;Schrank off
lauten.
Oder:
define Licht_ausOn notify Licht_aus:on set Schreibtisch,Aquarium,Schrank on
define Licht_ausOff notify Licht_aus:off set Schreibtisch,Aquarium,Schrank off
lauten.
MfG, MisterEltako.
Zitatdefine Licht_ausOn notify Licht_aus:on set Schreibtisch,Aquarium,Schrank on
define Licht_ausOff notify Licht_aus:off set Schreibtisch,Aquarium,Schrank off
ist korrekt.
Zitatdefine on_Schreibtisch notify Schreibtisch:on "./send 11111 1 1"
Verstehe ich auch noch nicht ganz.. was sind denn das für Aktoren? Was soll das machen?
Hast du die auch irgendwo definiert?
Ich meine normal hat man ja irgendwo was stehen wie
define <Name> <Protokollart> <adresse1>[<adresse2>][<schaltkommandos>]
Zum Beispiel:
define Eingangs_Tuer FS20 11114222 12 (ein FS20 Aktor)
define Licht_Terrassentuer CUL_HM 15EE26 (ein HM Aktor)
define Licht_Anlage IT FF0F00000F FF F0 (ein InterTechno Aktor)
Und dann kann man später
set Eingangs_Tuer,Licht_Terrassentuer,Licht_Anlage on
senden. Und alle 3 Aktoren gehen an.
./send 11111 1 1
Führt ein Programm aus was die billigen Funksteckdosen schaltet.
Wenn das Intertechno meint (das sind diese Baumarktdinger) Dann macht man das eigentlich so wie oben beschrieben.
zuerst Stecker/Schalter anlegen:
define Licht_Anlage IT FF0F00000F FF F0
Und dann schalten
set Licht_Anlage on
Ist sicher das deine Methode überhaupt geht?
also meine Lampen kann ich so auf jeden Fall schalten.
Mit der Config, höchst wahrscheinlich geht das jetzt auch mit der Gruppenschaltung kann ich aber erst wieder zu hause testen.
Zumindest sieht das in der Telnet Konsole so aus.
define Schreibtisch dummy
attr Schreibtisch group Licht
attr Schreibtisch icon icoBELEUCHTUNG
attr Schreibtisch room Wohnzimmer
attr Schreibtisch setList on off
define on_Schreibtisch notify Schreibtisch:on "./send 11111 1 1"
define off_Schreibtisch notify Schreibtisch:off "./send 11111 1 0"
define Schrank_an at *20:15:00 set Schrank on
define Schrank_aus at *22:45:30 set Schrank off
define Schrank dummy
attr Schrank group Licht
attr Schrank icon icoBELEUCHTUNG
attr Schrank room Wohnzimmer
attr Schrank setList on off
define on_Schrank notify Schrank:on "./send 11111 3 1"
define off_Schrank notify Schrank:off "./send 11111 3 0"
define Aquarium_an at *14:30:00 set Aquarium on
define Aquarium_aus at *22:15:30 set Aquarium off
define Aquarium dummy
attr Aquarium group Licht
attr Aquarium icon icoBELEUCHTUNG
attr Aquarium room Wohnzimmer
attr Aquarium setList on off
define on_Aquarium notify Aquarium:on "./send 11111 4 1"
define off_Aquarium notify Aquarium:off "./send 11111 4 0"
define Aquariumpumpe_an at *14:30:20 set Aquariumpumpe on
define Aquariumpumpe_aus at *15:15:30 set Aquariumpumpe off
define Aquariumpumpe dummy
attr Aquariumpumpe group Pumpe
attr Aquariumpumpe icon icoZirkulationAn
attr Aquariumpumpe room Wohnzimmer
attr Aquariumpumpe setList on off
define on_Aquariumpumpe notify Aquariumpumpe:on "./send 11111 5 1"
define off_Aquariumpumpe notify Aquariumpumpe:off "./send 11111 5 0"
define Hauptschalter dummy
attr Hauptschalter group Licht
attr Hauptschalter icon icoBELEUCHTUNG
attr Hauptschalter room Wohnzimmer
attr Hauptschalter setList on off
define HauptschalterOn notify Hauptschalter:on set Schreibtisch,Aquarium,Schrank on
define HauptschalterOff notify Hauptschalter:off set Schreibtisch,Aquarium,Schrank off
Du hast also nirgend die Aktoren definiert, sondern sendest immer rohe Daten per "send".
Das ist eine ... eher ziemlich unübliche ... Methode.
Was da die Nebeneffekte sein können weiss ich nicht. Möglich, dass deine Probleme daher rühren.
Ich schlage vor, erstmal zu versuchen, das mal so zu machen wie das eigentlich vorgesehen ist.
Ich verstehe leider nicht so ganz wie du das meinst.
Kannst du mir ein Beispiel mit der Aquariumpumpe posten?
Ja, kann ich machen, aber: Was ist das denn für eine Schalter an der Aquariumpumpe? Intertechno? (Sieht eigentlich nicht so aus, da die Intertechnoadressen anders ausehen)
Oder anders: Woher weisst du, was du dem Dingen senden musst?
So mal ganz von vorne.
Ich habe Fhem auf meinem Raspberry Pi installiert an dem ein 433Mhz Sender angeschlossen ist, mit dem kann ich die Funksteckdosen aus dem Baumarkt schalten.
Die Marke ist glaube ich Elo.
Zum Verständnis hier mal ein Link welches Programm ich da für nutze.
http://www.digital-eliteboard.com/showthread.php?212242-Rasperry-Projekt-Hausautomatik-Teil-I-Steuerung-von-Funksteckdosen (//www.digital-eliteboard.com/showthread.php?212242-Rasperry-Projekt-Hausautomatik-Teil-I-Steuerung-von-Funksteckdosen)
so jetzt verstehst du bestimmt warum ich den Befehl ./send 11111 1 1 benutze.
Nee, eigentlich kapier ich das nicht. Ich *vermute* dass es sich um Intertechnodosen handelt, aber mit "Die Marke ist glaube ich Elo" kann ich mir da nicht sicher sein.
Sie dir doch mal bitte diesen Wiki-Artikel an
http://www.fhemwiki.de/wiki/Intertechno_Code_Berechnung (//www.fhemwiki.de/wiki/Intertechno_Code_Berechnung)
Meinst du, das sind solche Dosen?
Zitat"... installiert an dem ein 433Mhz Sender angeschlossen ist ..."
Was für ein Sender ist denn das? Kein CUL (bzw das CUL kompatible RPI Modul)?
Also die Steckdosen sind dann Elro AB440 laut Wikki.
Mein Funksender ist der hier http://www.watterott.com/de/RF-Link-Sender-434MHz (//www.watterott.com/de/RF-Link-Sender-434MHz)
Hm. Okay. Ich muss sagen: Keine Ahnung wie der Sender sich verhält. Ich ging bisher von irgendwas aus, was eine CULfw drauf hat. also ein CUL, CUNO oder RPI-COC Modul (oder wie das heisst).
Über deinen Sender weiss ich nichts. Sorry.
Trotzdem Danke
Mal sehen irgend wie muss man das ja auch direkt über GPIO übertragen können.