Mit 433Mhz Taster Funksteckdosen über FHEM schalten

Begonnen von basti2s, 02 April 2017, 21:36:53

Vorheriges Thema - Nächstes Thema

basti2s

Hallo zusammen,

habe mir auf euer Anraten hin einen NanoCul gekauft. Nun läuft auch alles so weit, dass ich meine Baumarkt Funksteckdosen mit diesem schalten kann.
Nuin komme ich zu meinem eigentlichen Vorhaben. Ich möchte mit meinem 433Mhz Taster über fhem die Funksteckdosen schalten können. Wie mache ich das nun?
Ich habe es schon so weit hin bekommen, dass in FHEM ein Gerät ein und ausgeschaltet wird, wenn ich den Taster drücke. Es fehlt also quasi nurnoch die Verknüpfung von dem empfangenen Status des Tasters zu der zu schaltenden Funksteckdose. Ich habe schon ewig im Internet gesucht, aber ich finde nur Beiträge wie man von FHEM aus Funksteckdosen schaltet...

ArduPino

Das ist eigentlich fast kein Unterschied, was du schaltest. Hast du das mit einem dummy device und notify gemacht ? Wenn ja, dann anstelle des dummy die Funksteckdose einbauen.
Schon das Einsteiger PDF gelesen? Da steht schon mal vieles drin.

MKeY

notify oder doif sollte dich weiterbringen
einfach danach kucheln
Wer Fehler findet, darf sie behalten!
RPi's, D1Mini
Homematic, Hue, Sonoff, Alexa, Xiaomi, ConBee
Prusa MK2.5, Prusa MK3S (MMU2S vorhanden, aber nervtötend)
Lowrider 2CNC

basti2s

#3
Danke für eure Antworten. Ich habe das ganze mal mit DOIF versucht und gemäß der fhem Anleitung mit
define test DOIF ([Taster1:"on"]) (set Stereo on) DOELSE (set Stereo off) probiert.
Wobei "Taster1" der name für das empfangene Signal vom Taster ist und als "Stereo" habe ich schon einen Taster definiert der meine Funksteckdose schaltet. Passiert leider nix :(
Das gleiche passiert, wenn ich wie in der Anfänger PDF beschrieben mit notify probier:
define Taster1Notify notify Schalter1 set Stereo on
Was mach ich falsch?

MKeY

der Syntax passt. was für ein state erzeugst du denn mit dem Drücken der Taste im dummy Taster1?
Groß-/ Kleinschreibung beachten

Zeig mal dein "list Taster1" etc
Wer Fehler findet, darf sie behalten!
RPi's, D1Mini
Homematic, Hue, Sonoff, Alexa, Xiaomi, ConBee
Prusa MK2.5, Prusa MK3S (MMU2S vorhanden, aber nervtötend)
Lowrider 2CNC

basti2s

#5
Bei Taster1 steht bei STATE je nachdem on oder off. Ich habe den Taster jedoch nicht als Dummy angelegt, sondern einfach das Device welches der Nanocul automatisch erkannt hat als Taster1 umbenannt.

Wenn ich list Taster1 eingebe kommt die Meldung dass es kein Device gäbe dass so heißt. Ich hab halt wie gesagt einfach das vom Nanocul erstellte device mit "alias" auf Taster1 umbenannt. Liegt evtl. hier schon mein Fehler?

edit: jetzt funktioniert es, es war tatsächlich der Fehler dass Notify scheins nicht über den alias das Gerät aufrufen kann.

Nun habe ich leider ein neues Problem :( Wenn ich den Taster drücke schaltet fhem wie gewünscht in der Weboberfläche das Licht an, jedoch schaltet Funksteckdose nicht. Vermutlich weil der Kanal noch durch das drücken des Tasters belegt ist. Habt ihr eine Idee wie ich das beheben könnte?

KölnSolar

ZitatVermutlich weil der Kanal noch durch das drücken des Tasters belegt ist.
Wenn der Taster noch sendet, kann der der nanoCUL nicht gleichzeitig senden. Beheben kannt Du das, wnn Du entweder die Steckdose auf den Code des Tasters einstellst, also direkt ohne notify geschaltet wird oder Du ein sleep ins notify einbaust.
Grüße Markus
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

basti2s

Leider kann ich den Taster nicht direkt auf den Kanal der Steckdose einstellen, da unterschiedliche Systeme.

Wäre es nicht wesentlich schlauer, auch für die Zukunft das ganze so zu realisieren, dass der Rasberry erst dann ein Signal sendet, wenn auch die Frequenz frei ist?

Also z.B.:
- Taster wird gerückt.
- Rasberry empfängt das Signal und erkennt dass eine Funksteckdose geschalten werden soll.
- Rasberry wartet bis der Taster nicht mehr gedrückt wird bzw. die Frequenz frei ist (Also kein anderes Gerät auf 433MHz sendet).
- Rasberry sendet Signal zum schalten der Steckdose

KölnSolar

ZitatWäre es nicht wesentlich schlauer, auch für die Zukunft das ganze so zu realisieren, dass der Rasberry erst dann ein Signal sendet, wenn auch die Frequenz frei ist?
klar. in deinem einfachen beispiel ginge das vermutlich. nur parallel senden noch viele andere Geräte, Wetterstationen, FBs, FHEM(nanoCUL) an andere Geräte ..... Da macht es wenig Sinn etwas in das Universalgerät einzubauen, sondern man löst individuelle Probleme individuell, also ein sleep, weil Dein individueller Taster wiederholt sendet.
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

basti2s

#9
Verstehe ich nicht warum es keinen Sinn machen soll.
So kommen Signale die der Rasberry Sendet immer durch, es seie denn genau zur gleichen Zeit fängt ein anderes Gerät an zu senden.

edit: also ich habe das ganze jetzt über DOIF und wait zum laufen bekommen. Jetzt ist nurnoch die Frage, wie ich es hinbekomme, dass wenn ich die Lampe über die FHEM Web oberfläche einschalte, Sie direkt durch drücken der Aus-Taste am Taster wieder ausschalten kann. So wie es momentan ist, muss ich zuerst die Ein-Taste drücken und dann die Aus-Taste.

KölnSolar

indem Du nicht 1:1 den Tasterbefehl umsetzt, sondern immer die Steckdose toggelst, also das Gegenteil des fhem-status schalten.
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

basti2s

Verstehe ich noch nicht ganz. Ich habe es jetzt so probiert:
define test DOIF ([IT_V3_744c0001:"on"]) (set Stereo toggle) DOELSE (set Stereo toggle)
funktioniert aber leider nicht wie gewünscht :(

Das Problem ist ja, wenn der Taster in fhem auf aus is und ich über fhem das licht einschalte und dann über den Taster wieder ausschalten möchte ändert sich der Status des Tasters ja nicht.

KölnSolar

#12
ob der toggle-Befehl überhaupt geht, musst Du in der commandref zu Deinem device Stereo nachsehen. U.U. musst Du Dir das toggle selber bauen.
Das DOIF darf nicht nur auf on, sondern muss auf jedes event triggern. Du willst doch unabhängig von der Art des Signals des Tasters Stereo toggeln.

Edit: Hast ja im Else-Zweig ebenfalls das toggle.
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

basti2s

Ich brauch doch im Else-Zweig das toggle, sonst könnte ich das Licht doch nicht mehr ausschalten.

define test DOIF ([IT_V3_744c0001:"on"]) (set Stereo toggle) DOELSE (set Stereo toggle)
Mit diesem Befehl habe ich quasi die Gleiche Funktion wie schon zuvor. Also der toggle Befehl muss funktionieren.


Ich habe es nun hinbekommen.
Ich habe einfach 2 DOIFs mit:     
([Stereo:"on"]) (set IT_V3_744c0001 on) und
   
([Stereo:"off"]) (set IT_V3_744c0001 off)
hinzugefügt. Jetzt wird der Status quasi von fhem korrigiert, wenn man über die Web-Oberfläche schaltet.

ArduPino

Man kann auch das machen (nur Beispielhaft)
Wenn Taster .* und Lampe ON dann Lampe OFF Else Lampe ON
Damit wechselt es immer