Automatisches wiederholtes schalten einer Funksteckdose, Papagei

Begonnen von Torxgewinde, 11 Dezember 2021, 09:05:55

Vorheriges Thema - Nächstes Thema

Torxgewinde

Hallo,
Eine Funksteckdose (hier Funkschalter5) für die Weihnachtsbeleuchtung hat so ab und an Empfangsprobleme. Wiederholtes Senden hilft, aber da es sich um eine Steckdose ohne Rückkanal handelt (=der Zustand wird nicht zurückgesendet) agiert FHEM hier blind. Folgender Codeschnipsel sendet den Zustand aus FHEM immer wieder. Speziell bei FS20 / FHZ Übertragungen mit FHZ1000PC oder FHZ1300PC sollte man nicht zu oft pro Stunde senden, da man maximal 163 Übertragungen pro Stunde hat bevor der Sender Zwangspausen einlegt. Ich habe mich für viermal pro Stunde entschieden (=alle 3600/4 Sekunden). In der Funktechnik nennt man das wiederholte Senden einer Aufzeichnung "Papagei", deswegen der etwas lustige Alias.

defmod Lichterketten.Action DOIF ([Funkschalter5])\
{ Log 1, "Funkschalter5 wurde lange nicht mehr angesteuert, sende den Status einfach nochmal" }\
(set Funkschalter5 [Funkschalter5:state])
attr Lichterketten.Action alias Lichterketten - Papagei
attr Lichterketten.Action do resetwait
attr Lichterketten.Action group Beleuchtung
attr Lichterketten.Action repeatcmd {3600/4}
attr Lichterketten.Action room Außen
attr Lichterketten.Action stateFormat {\
  ReadingsTimestamp($name,"state","") =~ /^(\d+)-(\d+)-(\d+)\s(\d+:\d+):(\d+)$/;;\
  return "$3.$2.$1 - $4";;\
}
attr Lichterketten.Action wait 60


Viel Spaß!

CBSnake

Moin,

schöner Ansatz, ich hab bisher einfach mit einem DOIF drei AT erzeugt, jeweils 30 sekunden versetzt, da ich die ganzen (doofen) Weihnachtssteckdosen in einer STRUCTURE hab.

Habs jetzt mal nach deinem Beispiel abgewandelt und schicke das Signal eine Stunde lange alle 10min raus, oft steht nur ein Haushaltsmitglied zum Zeitpunkt der Sendung zwischen Sender und Steckdose und die schaltet dann natürlich nicht.

Grüße
Achim
FHEM auf Debian 10, HM-Wlan, JeeLink-Wlan, Wlanduino, ConBee, TP-Link Steckdose, GHoma Steckdosen, Shelly Steckdosen

Torxgewinde

Ja, die Funkreichweite ist immer so ein Thema. Dabei habe ich sogar extra den Transceiver besser platziert (siehe socat, ser2net Beitrag)...

slor

Ich hab bei einer hellen Leuchte noch einen aqara Lichtsensor dran. Ich sende so oft bis das Teil aus ist...

Damian

Zitat von: slor am 11 Dezember 2021, 13:50:09
Ich hab bei einer hellen Leuchte noch einen aqara Lichtsensor dran. Ich sende so oft bis das Teil aus ist...

Ohne Rückkanal, weiß man ja nicht, ob es aus ist :)
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Damian

Zitat von: CBSnake am 11 Dezember 2021, 10:40:07
Moin,

schöner Ansatz, ich hab bisher einfach mit einem DOIF drei AT erzeugt, jeweils 30 sekunden versetzt, da ich die ganzen (doofen) Weihnachtssteckdosen in einer STRUCTURE hab.

Habs jetzt mal nach deinem Beispiel abgewandelt und schicke das Signal eine Stunde lange alle 10min raus, oft steht nur ein Haushaltsmitglied zum Zeitpunkt der Sendung zwischen Sender und Steckdose und die schaltet dann natürlich nicht.

Grüße
Achim

Es mag am Anfang alles effektiv sein und funktionieren, wenn man so etwas öfters macht, ist der Äther auf der Frequenz irgendwann "voll" und dann läuft gar nichts mehr.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

CBSnake

Zitat von: Damian am 11 Dezember 2021, 15:29:27
Es mag am Anfang alles effektiv sein und funktionieren, wenn man so etwas öfters macht, ist der Äther auf der Frequenz irgendwann "voll" und dann läuft gar nichts mehr.

Da hast du natürlich recht, 1 Monat im Jahr mit zweimal am Tag an und aus und den großen gewählten Wiederholungsabständen halte ich das aber für vertretbar.
Scheu mich aktuell noch vor dem Aufwand wegen der "kurzen" Nutzungszeit auf WLAN, HM etc zu wechseln :-) liegen halt 11 Monate nur in einer Kiste
FHEM auf Debian 10, HM-Wlan, JeeLink-Wlan, Wlanduino, ConBee, TP-Link Steckdose, GHoma Steckdosen, Shelly Steckdosen

slor

Zitat von: Damian am 11 Dezember 2021, 15:26:18
Ohne Rückkanal, weiß man ja nicht, ob es aus ist :)

Der Lichtsensor sagt wann das Licht aus ist... Quasi der Rückkanal.

Damian

Zitat von: slor am 11 Dezember 2021, 15:40:02
Der Lichtsensor sagt wann das Licht aus ist... Quasi der Rückkanal.

Dann sollte eigentlich die Wiederholung im Protokoll realisiert sein wie bei HM.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Torxgewinde

Klar, man sollte aus mehreren Gründen auf die Anzahl der Übertragungen achten.

Die FHZ1000PC und FHZ1300PC senden laut Wiki maximal 1% pro Stunde und das ist AFAIK auch per interner Firmware implementiert. Das zugehörige FHEM device informiert einen wie weit man von dieser Grenze entfernt ist mit dem "Internal": NR_CMD_LAST_H. Hat man diesen Wert im Auge und bleibt weit unter dem Grenzwert von 1% (~163 Übertragungen pro Stunde) ist man weiterhin fair im Umgang mit der geteilten 868 MHz Funkfrequenz. Dazu kommt ja auch, dass aufgrund der geringen Sendeleistung die Reichweite und damit die Anzahl der beeinflussten Mitnutzer der Frequenz eher gering ist.

Auch aus praktischen Gründen will man weit von dem Grenzwert entfernt bleiben, dann manchmal will man noch genug Sendeslots frei haben wenn man mal was interaktiv ansteuert (Fernbedienung z.B.). Denn falls man über den Grenzwert geht ist die Verwunderung groß warum es "nicht mehr tut".