FHEM Forum

FHEM - Hausautomations-Systeme => Homematic => Thema gestartet von: FunkOdyssey am 27 Juli 2016, 10:36:37

Titel: Priorisierte Funksignale möglich?
Beitrag von: FunkOdyssey am 27 Juli 2016, 10:36:37
Hallo,

beim Auslösen meiner "Alarmanlage" wird eine Sirene wie auch sämtliche Beleuchtung (HM-Komponenten) eingeschaltet.
Dies erzeugt in diesem Zeitraum natürlich eine große Funklast.
Wenn nun jemand in diesem Zeitraum "unscharf" schaltet, so soll relativ zeitnah die Sirene deaktiviert werden.
Jedoch erhalte ich nur ein "MISSING_ACK", da FHEM immer noch dabei ist, den Status der Beleuchtung zu empfangen.

Gibt es irgendwie eine Möglichkeit, das Senden und Empfangen zu stoppen und evtl. ein Befehl (set sirene off) hoch priorisiert zu versenden?

Danke.

Sirene: HM-LC-SW1-BA-PCB
2016-07-27_10:00:06 sirene set_on-for-timer 120
2016-07-27_10:00:11 sirene NACK
2016-07-27_10:00:12 sirene battery: ok
2016-07-27_10:00:12 sirene deviceMsg: on (to vccu)
2016-07-27_10:00:12 sirene level: 100
2016-07-27_10:00:12 sirene pct: 100
2016-07-27_10:00:12 sirene on
2016-07-27_10:00:12 sirene timedOn: running
2016-07-27_10:00:14 sirene set_off
2016-07-27_10:00:16 sirene ResndFail
2016-07-27_10:00:16 sirene MISSING ACK
2016-07-27_10:02:16 sirene battery: ok
2016-07-27_10:02:16 sirene deviceMsg: off (to vccu)
2016-07-27_10:02:16 sirene level: 0
2016-07-27_10:02:16 sirene pct: 0
2016-07-27_10:02:16 sirene off
2016-07-27_10:02:16 sirene timedOn: off
Titel: Antw:Priorisierte Funksignale möglich?
Beitrag von: fiedel am 27 Juli 2016, 12:37:46
Falls das nicht geht (was ich vermute) hilft ggf. folgender Trick: Bei Auslösen Sirene mit on-for-timer ca. 5 bis 15 Sek. starten. Wenn dann nicht in dieser Zeit deakt. wird, on-for-timer 120 hinterherschicken.

Gruß
Frank
Titel: Antw:Priorisierte Funksignale möglich?
Beitrag von: FunkOdyssey am 27 Juli 2016, 15:44:30
Ich habe das async_delay beim Structure für die Beleuchtung mal erhöht. In der Hoffnung, dass das Ausschalten der Sirene zukünftig "durchkommt".
Zweimal hintereinander ein "on-for-timer" finde ich eigentlich eine gute Idee. Aber dadurch erhöhe ich die Funklast.

Am Rande:
Was erzeugt mehr "Last"?
Ein "on-for-timer" oder ein "set xyz on" mit einem (DOIF-Wait) darauffolgenden "set xyz off"?
Titel: Antw:Priorisierte Funksignale möglich?
Beitrag von: frank am 27 Juli 2016, 15:59:08
ZitatAm Rande:
Was erzeugt mehr "Last"?
Ein "on-for-timer" oder ein "set xyz on" mit einem (DOIF-Wait) darauffolgenden "set xyz off"?
bei homematic erzeugt das on-for-timer weniger, da ja nur einmal gefunkt werden muss. ist ausserdem sicherer, da das ausschalten sowieso kommt, wenn eingeschaltet wurde.

wie sehen eigentlich deine funkverbindungen aus (get hminfo rssi/protoEvents)? falls wiederholungen benötigt werden, wird ja zusätzlich "unnötig" gefunkt.
Titel: Antw:Priorisierte Funksignale möglich?
Beitrag von: FunkOdyssey am 27 Juli 2016, 16:12:11
Die RSSI-Werte sind super. Ich war mal so frei und habe im Dump unten die Device-Namen entfernt.
protoEvents gefällt mir auch gut. Nur 3x1 Resnd wie auch 3x1 ResndFail bei den gleichen drei Geräten (2x Lampe + 1x Sirene). Dies wurde heute durch die Alarmauslösung verursacht. Ich vermute, dass ich zeitgleich einfach zu viele Geräte eingeschaltet habe und diese noch in der Queue waren. So kann es halt vorkommen, dass bis zum Abarbeiten der Warteschlange der "Sirene-Aus"-Befehlt nicht durchgekommen ist.

RSSI

last   avg      min_max    count
-63.0  -63.7  -64.0< -63.0     3
-68.0  -68.2  -69.0< -67.0     5
-74.0  -74.0  -74.0< -74.0     3
-76.0  -76.4  -77.0< -76.0     5
-72.0  -72.5  -73.0< -71.0   156
-62.0  -61.0  -62.0< -60.0     2
-62.0  -60.8  -65.0< -59.0     5
-54.0  -54.1  -59.0< -53.0   106
-81.0  -80.9  -83.0< -80.0    69
-75.0  -76.0  -80.0< -72.0    74
-61.0  -61.5  -63.0< -59.0    13
-64.0  -63.8  -66.0< -62.0    18
-58.0  -54.3  -58.0< -53.0    12
-51.0  -57.2  -67.0< -50.0     8
-77.0  -76.7  -78.0< -74.0     7
-52.0  -51.3  -53.0< -49.0    11
-64.0  -64.2  -65.0< -63.0     9
-65.0  -65.7  -67.0< -65.0     7
-62.0  -62.0  -62.0< -62.0     1
-62.0  -62.0  -62.0< -62.0     2
-61.0  -60.9  -62.0< -60.0     8
-63.0  -62.5  -63.0< -62.0    11
-47.0  -48.5  -51.0< -47.0     8
-50.0  -48.5  -50.0< -47.0     6
-63.0  -62.6  -64.0< -61.0     5
-61.0  -61.0  -61.0< -61.0     3
-49.0  -49.0  -49.0< -49.0     2
-49.0  -49.0  -49.0< -49.0     1
-70.0  -70.0  -70.0< -70.0     8
-70.0  -70.2  -71.0< -69.0     4
-79.0  -78.9  -82.0< -75.0   155
-88.0  -87.1  -97.0< -81.0   315
-57.0  -57.6  -60.0< -57.0    11
-57.0  -58.0  -60.0< -57.0     8
-61.0  -61.0  -61.0< -61.0     2
-59.0  -59.0  -59.0< -59.0     1
-59.0  -59.0  -59.0< -59.0     2
-61.0  -61.0  -61.0< -61.0     1
-58.0  -58.0  -58.0< -58.0     2
-61.0  -61.0  -61.0< -61.0     1
-68.0  -68.1  -72.0< -65.0   160
-63.0  -63.0  -63.0< -63.0     5
-64.0  -63.6  -64.0< -63.0     5
-64.0  -63.7  -64.0< -63.0     3
-73.0  -72.1  -75.0< -70.0   335
-75.0  -74.2  -76.0< -72.0    20
-78.0  -76.8  -78.0< -75.0    12
-63.0  -62.8  -64.0< -62.0     9
-63.0  -62.4  -63.0< -61.0     5
-75.0  -75.0  -75.0< -75.0     2
-74.0  -74.0  -74.0< -74.0     1
-73.0  -73.0  -73.0< -73.0     2
-71.0  -71.0  -71.0< -71.0     1
-66.0  -66.0  -66.0< -66.0     2
-64.0  -64.0  -64.0< -64.0     1
-66.0  -66.0  -66.0< -66.0     2
-66.0  -66.0  -66.0< -66.0     1
-81.0  -81.6  -87.0< -72.0   317


protoEvents

                    :State           |CmdPend   |Snd       |Resnd     #CmdDel    |ResndFail |Nack      |IOerr
                    : done           |  -       | 5:       | 1:       # 2        | 1:       |  -       |  -
                    : done           |  -       | 5:       |  -       #  -       |  -       |  -       |  -
                    :  -             |  -       |  -       |  -       #  -       |  -       |  -       |  -
                    : done           |  -       | 4:       |  -       #  -       |  -       |  -       |  -
                    : done           |  -       | 58:      |  -       #  -       |  -       |  -       |  -
                    :  -             |  -       |  -       |  -       #  -       |  -       |  -       |  -
                    : done           |  -       | 10:      |  -       #  -       |  -       |  -       |  -
                    : done           |  -       | 18:      |  -       #  -       |  -       |  -       |  -
                    : done           |  -       | 12:      |  -       #  -       |  -       |  -       |  -
                    :  -             |  -       |  -       |  -       #  -       |  -       |  -       |  -
                    : done           |  -       | 7:       |  -       #  -       |  -       |  -       |  -
                    : done           |  -       | 11:      |  -       #  -       |  -       |  -       |  -
                    : done           |  -       | 10:      |  -       #  -       |  -       |  -       |  -
                    : done           |  -       | 7:       |  -       #  -       |  -       |  -       |  -
                    : done           |  -       | 2:       |  -       #  -       |  -       |  -       |  -
                    :  -             |  -       |  -       |  -       #  -       |  -       |  -       |  -
                    :  -             |  -       |  -       |  -       #  -       |  -       |  -       |  -
                    : done           |  -       | 9:       | 3:       # 1        | 1:       |  -       |  -
                    : done           |  -       | 8:       |  -       #  -       |  -       |  -       |  -
                    : done           |  -       | 5:       |  -       #  -       |  -       |  -       |  -
                    : done           |  -       | 2:       |  -       #  -       |  -       |  -       |  -
                    : done           |  -       | 8:       |  -       #  -       |  -       |  -       |  -
                    :  -             |  -       |  -       |  -       #  -       |  -       |  -       |  -
                    :  -             |  -       |  -       |  -       #  -       |  -       |  -       |  -
                    : done           |  -       | 8:       | 3:       # 1        | 1:       |  -       |  -
                    : done           |  -       | 2:       |  -       #  -       |  -       |  -       |  -
                    : done           |  -       | 2:       |  -       #  -       |  -       |  -       |  -
                    : done           |  -       | 2:       |  -       #  -       |  -       |  -       |  -
                    : done           |  -       | 6:       |  -       #  -       |  -       |  -       |  -
                    :  -             |  -       |  -       |  -       #  -       |  -       |  -       |  -
                    : done           |  -       | 5:       |  -       #  -       |  -       |  -       |  -
                    :  -             |  -       |  -       |  -       #  -       |  -       |  -       |  -
                    : done           |  -       | 20:      |  -       #  -       |  -       |  -       |  -
                    :  -             |  -       |  -       |  -       #  -       |  -       |  -       |  -
                    : done           |  -       | 9:       |  -       #  -       |  -       |  -       |  -
                    : done           |  -       | 2:       |  -       #  -       |  -       |  -       |  -
                    : done           |  -       | 2:       |  -       #  -       |  -       |  -       |  -
                    : done           |  -       | 2:       |  -       #  -       |  -       |  -       |  -
                    : done           |  -       | 2:       |  -       #  -       |  -       |  -       |  -
                    :  -             |  -       |  -       |  -       #  -       |  -       |  -       |  -
================================================================================================================
    sum             0                |0         |243       |7         #4         |3         |0         |0
Titel: Antw:Priorisierte Funksignale möglich?
Beitrag von: martinp876 am 28 Juli 2016, 20:52:50
Es gibt keine Prio q
Du kannst aber alle messages an dieses device mit clear msgevents löschen. Was drin stand ist dann weg.