FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: 1dz am 31 August 2016, 09:39:29

Titel: Ein Befehl über 2 CUL`s absenden?_ 2 Funksteckdosen gleichzeitig schalten?
Beitrag von: 1dz am 31 August 2016, 09:39:29
Ein Befehl über 2 CUL`s absenden?_ 2 Funksteckdosen gleichzeitig schalten?

Hallo zusammen,

vielleicht könnt Ihr mir helfen. Ich glaube ich sehe vor lauter Bäumen den Wald nicht mehr.

Ich möchte den Schaltbefehl für eine Funksteckdose über meine beiden NanoCUL`s 433Mhz abstrahlen lassen.
Dafür habe ich betreffende Funksteckdose zwei Mal definiert. Jeweils für CUL1 und CUL2.

Wenn ich dann per set Befehl in der Kommandozeile die Schalfunktion zusammenfasse wird der Befehl auch
über beide CUL`s abgestrahlt.
Ich überprüfe das mit SDR#.
Interessanterweise werden die Befehle sogar mit zeitlicher Verzögerung abgestrahlt, obwohl ich das ,,sendpool" Attribut bei meinen
CUL`s nicht verwende. (Funktioniert leider bei mir nicht)

Meine Frage ist nun: Wie kann ich den ,,set"  Befehl für die 2 Schaltdefinitionen so definieren, dass ich mit einem Klick schalten kann?

Oder anders rum gefragt: Wie kann ich 2 Schalter mit einem Klick gleichzeitig schalten? An und aus, logischerweise.
Per ,,set" in der Kommandozeile kein Problem, aber ich kriege es einfach nicht gebacken, das ich am Ende einen ,,Schaltbutton" erzeuge.

Puh!
Wäre toll wenn mir jemand auf die Sprünge helfen könnte.

Gruß
Thomas
Titel: Antw:Ein Befehl über 2 CUL`s absenden?_ 2 Funksteckdosen gleichzeitig schalten?
Beitrag von: Elektrolurch am 31 August 2016, 10:45:14
Mir würde da z.B. einfallen, die beiden Schalter in eine struct zusammenzufassen.
Oder definiere Dir ein notify für Schalter 1, was dann den Schalter 2 automatisch schaltet, wenn 1 verwendet wird.
So mache ich es z.B. mit meiner aktiven Bassbox.

Elektrolurch
Titel: Antw:Ein Befehl über 2 CUL`s absenden?_ 2 Funksteckdosen gleichzeitig schalten?
Beitrag von: ErzGabriel am 31 August 2016, 10:59:23
Ich habe das mit notify und einem dummy gelöst.
Ein notify für an, der einen sleep Befehl enthält und die Steckdosen so in Verzögerung von 3 Sekunden schaltet.
Ein notify für aus, gleiche Befehlsstruktur wie für an.
Und dann ein dummy, der als schalter, den jeweiligen notify anspricht.

Der spleep Befehl kann auch auf eine Sekunde gestellt werden und die Anzahl der zu schaltenden Steckdosen ist auch variable, weil ich schalte damit meine Terras.
Titel: Antw:Ein Befehl über 2 CUL`s absenden?_ 2 Funksteckdosen gleichzeitig schalten?
Beitrag von: Prof. Dr. Peter Henning am 31 August 2016, 11:17:34
Die "Gleichzeitigkeit" kann in keiner Weise garantiert werden, weil der genaue Zeitpunkt der Aussendung von der Funklast der jeweiligen Transceiver abhängt. Auch könnte es sein, dass Funksteckdose 2 durch den Empfang von Signal 1 blockiert wird, und darum auf die Wiederholung von Signal 2 warten muss (oder umgekehrt). Wie groß der zeitliche Abstand ist, kann man ohne genaue Kenntnis der örtlichen Gegebenheiten kaum vorhersagen - vielleicht ist es ja noch im ergonomisch tolerablen Bereich von < 0,4 Sekunden.

Schlussfolgerung: Besser gleich eine definierte Reihenfolge des Schaltens einhalten, also erst 1, dann 2

LG

pah
Titel: Antw:Ein Befehl über 2 CUL`s absenden?_ 2 Funksteckdosen gleichzeitig schalten?
Beitrag von: 1dz am 01 September 2016, 08:12:18
Hallo zusammen,

danke für Eure Tips und Mühe.
Ich habe es hinbekommen. Und zwar auf folgende Art und Weise.


Zunächst habe ich eine Pollin Funksteckdose 2 Mal definiert. Für meinen 1. und 2. CUL:

define switch1 IT 000000FFFF FF F0
attr switch1 IODev ftdiCUL
attr switch1 room Flur


define switch2 IT 000000FFFF FF F0
attr switch2 IODev CUL433
attr switch2 room Flur


Dann habe ich einen Dummy definiert:

define Flur dummy
attr Flur eventMap on:an off:aus
attr Flur room Flur
attr Flur webCmd on:off


Und schließlich noch das Notify definiert:

define FlurLichtOn notify Flur:on set switch1,switch2 on
define FlurLichtOff notify Flur:off set switch1,switch2 off
attr FlurLichtOff room Flur



Irgendwie kompliziert und einfach zu gleich ;-)
Ich hatte gedacht das ich einen ,,set" Befehl viel leichter, so mit einer Zeile integrieren kann.
Kann man das noch vereinfachen?

Aber seis drum.
Diese Befehlsfolge sendet den Funkbefehl nacheinander über beide CUL`s aus. Gesehen und gehört mit SDR#

Warum nacheinander, ist mir nicht klar.
Entweder Zufall? Oder Fhem regelt dies intern? Oder weil es sich um unterschiedliche Firmware auf den Sticks handelt 1.66 und a-culfw.

,,Sendpool" in den CUL Definitionen macht keinen Unterschied. Habe ich wieder rausgenommen.

Danke fürs lesen.

Thomas
Titel: Antw:Ein Befehl über 2 CUL`s absenden?_ 2 Funksteckdosen gleichzeitig schalten?
Beitrag von: Elektrolurch am 01 September 2016, 11:16:39
Den dummy kannst Du Dir sparen. Setze das notify auf den ersten Schalter und schalte damit den zweiten Schalter.

Elektrolurch
Titel: Antw:Ein Befehl über 2 CUL`s absenden?_ 2 Funksteckdosen gleichzeitig schalten?
Beitrag von: 1dz am 05 September 2016, 18:37:03
Hallo zusammen und Elektrolurch,

Noch 2 Fragen.
1. Sollten denn nicht eigentlich mit dem sendpool Befehl grundsätzlich beide vorhandenen 433Mhz CUL`s benutzt werden.
Dann hätte ich mir die ganzen Definitionen sparen können.
Oder habe ich sendpool falsch verstanden?

2. Ich habe das mal ohne Dummy probiert. Also nur über notify.
Dann gehen allerdings, in meinem Fall, nicht nur 2, sondern mehrere Funkbefehle raus, die in einer Schleife zu laufen scheinen.
Könntest Du mir wohl anhand meines Anliegens ein Beispielcode zeigen?

Vielen Dank im vorraus.

Thomas

Titel: Antw:Ein Befehl über 2 CUL`s absenden?_ 2 Funksteckdosen gleichzeitig schalten?
Beitrag von: Elektrolurch am 06 September 2016, 08:16:10
define Schalter1_not notify Schalter1:.* set Schalter2 $EVENT
Titel: Antw:Ein Befehl über 2 CUL`s absenden?_ 2 Funksteckdosen gleichzeitig schalten?
Beitrag von: 1dz am 06 September 2016, 12:05:35
Vielen Dank für den Code.

Ich habe das mal probiert.

Leider schalten meine beiden CUL`s dann nicht jeweils je 1 Funkpaket aus, sondern mehrere hintereinander.
Undefiniert manchmal nur 3, dann wierrum 5, und zeitweise hören die gar nicht mehr auf.

Lässt sich das irgendwo einstellen?

Gruß
Thomas