DOIF mit Abfrage mehrere Devices mit or, xor, and

Begonnen von eckhard scholz, 15 März 2024, 09:07:40

Vorheriges Thema - Nächstes Thema

eckhard scholz

Hallo in die Runde,

seit einiger Tagen versuche ich diese beiden DOIF`s zum Laufen zu bringen, bis jetzt mit wenig Erfolg.
Der Hintergrund ist dass mein Handy mal auf WLAN2 oder WLAN5 die Verbindung zur Fbox herstellt und das Handy meiner Frau auch noch da zu kommen soll.

define Handy_LAN5 PRESENCE lan-ping 192.168.zzz.xx 10 10
attr Handy_LAN5 devStateIcon present:HOME_Status.1 absent:HOME_Status.3
attr Handy_LAN5 event-on-change-reading state

define Handy_LAN2 PRESENCE lan-ping 192.168.zzz.yy 10 10
attr Handy_LAN2 devStateIcon present:HOME_Status.1 absent:HOME_Status.3
attr Handy_LAN2 event-on-change-reading state

define EckiAnw DOIF ([Handy_LAN5:"^present$"] or [Handy_LAN2:"^present$"]) (set Ecki_Zuhause on) DOELSE (set Ecki_Zuhause off)

define Keller_Hzg22 DOIF (["^Handy_LAN:^present$"])(set Keller_HzgReg desired-temp 28) DOELSE (set Keller_HzgReg desired-temp 22)
Wo ist da der Fehler? Beide DOIF`s funktionieren nicht wie erwarrtet.
Das Zusammenfassen "^Handy_LAN:^present$" habe ich glaube ich irgendwo aus dem Forum so abgeguckt.

Der Befehl
define EckiAnw DOIF ([Handy_LAN5:"^present$"]) (set Ecki_Zuhause on) DOELSE (set Ecki_Zuhause off)
alleine funktioniert.
Im Zusammenhang mit "or" reagiert immer nur der letztere Eintrag nach dem oder.

Für eine Fehleranalyse wäre ich dankbar
Gruß
Eckhard
F!B,RPi-Fhem,RaspberryMatic,Cuno,Cul,S7-300,LOGO,HMIP,HM,FS20,

Prof. Dr. Peter Henning

ZitatWo ist da der Fehler? Beide DOIF`s funktionieren nicht wie erwarrtet.
Das Zusammenfassen "^Handy_LAN:^present$" habe ich glaube ich irgendwo aus dem Forum so abgeguckt.

Hm, aber wohl nicht so ganz verstanden.

Erstens gibt es kein Device "Handy_LAN". Und zweitens ist die Verwendung des Caret-Zeichens "^" an dieser Stelle, vorsichtig gesagt, unsinnig.

Tipp: [Handy_LAN2:"present"] or [Handy_LAN5:"present"]
LG

pah

betateilchen

Warum nicht im richtigen Unterforum zu DOIF fragen statt in den Anfängerfragen?

Den Button zum Verschieben findest Du unten links.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

eckhard scholz

Ja hast ja Recht,
aber ich denke es ist wieder mal was für Anfänger oder ich komme wieder mal mit Klammern setzen oder nicht setzen u.w. zurecht.
F!B,RPi-Fhem,RaspberryMatic,Cuno,Cul,S7-300,LOGO,HMIP,HM,FS20,

eckhard scholz

Hallo Peter,

aber es gibt doch "define Handy_LAN5 PRESENCE" damit ist doch Handy_LAN5 zum Beispiel definiert oder nicht?
Das Caret-Zeichen "^" dachte ich wird geschrieben um alles einzubinden was mit "Handy_LAN" beginnt.

Gruß
Eckhard
F!B,RPi-Fhem,RaspberryMatic,Cuno,Cul,S7-300,LOGO,HMIP,HM,FS20,

Prof. Dr. Peter Henning

ZitatDas Caret-Zeichen "^" dachte ich wird geschrieben um alles einzubinden was mit "Handy_LAN" beginnt.
Leider komplett falsch.

Einfach das verwenden, was ich empfohlen habe. Und sich _danach_ mal schlau machen, wie Reguläre Ausdrücke eigentlich funktionieren.
https://regex101.com/

LG

pah

Per

Ich würde hier nicht mit Events arbeiten, denn den Fall, dass der Off Case des einem Netzes wg. dem Timeout erst nach dem On Case des anderen kommt, dürfte nicht selten sein, wird aber nicht abgefangen.
Entweder mit Aggregation oder mit Status arbeiten.

Nobbynews

#7
Zitat von: eckhard scholz am 15 März 2024, 09:07:40Der Hintergrund ist dass mein Handy mal auf WLAN2 oder WLAN5 die Verbindung zur Fbox herstellt und das Handy meiner Frau auch noch da zu kommen soll.
Wo liegt denn der Hintergedanke für eine Unterscheidung zwischen 2,4 GHz und 5 GHz?
Es ist für eine Anwesenheitserkennung doch völlig egal, in welchem Funknetz sich das Handy anmeldet.
Wechselnde IP zwischen beiden Netzen?
Dann würde ich die Konfiguration der FritzBox so ändern, dass dem Gerät mit dem Namen "Handy_XYZ" immer die gleiche IP zugewiesen wird. Das Funktioniert unabhängig vom Wlan.
Der Name des Gerätes ist ja immer gleich (bei Android zumindest).
Und dann das presence device anders definieren:
define Handy_XYZ_presence PRESENCE lan-ping Handy_XYZ 10 10

eckhard scholz

Hallo Per,

das war wohl der richtige Hinweis,
Nach deinen Anmerkungen bin ich auf die Idee gekommen für den DOIF einen "Set checkall" zu machen und siehe da, dann kommt das richtige Ergebnis zu stande.

ZitatEntweder mit Aggregation oder mit Status arbeiten.
Ich werde mir deine Empfehlung ansehen

Vielen Dank und schönes Wochenende
Gruß
Eckhard
F!B,RPi-Fhem,RaspberryMatic,Cuno,Cul,S7-300,LOGO,HMIP,HM,FS20,

eckhard scholz

Hallo Nobbynews,

Das Handy meldet sich immer mal unterscheidlich an der Fbox an, obwohl ich in der Fbox die IP-Adresse festgelegt habe. Den zeiten Eintrag für das Handy habe ich auch schon gelöscht, nach einer gewissen Zeit ist es wieder da. Das Handy besitzt in beiden Netzen den selben Namen eben aber eine andere IP-Adresse.
Warum das so ist?  k.a.
Zum anderen soll ja das Handy meiner Frau auch noch mit dazu kommen.
F!B,RPi-Fhem,RaspberryMatic,Cuno,Cul,S7-300,LOGO,HMIP,HM,FS20,

Nobbynews

Zitat von: eckhard scholz am 15 März 2024, 12:12:10Das Handy meldet sich immer mal unterscheidlich an der Fbox an,
Dann würde ich für die beiden Netze mal probeweise von Zufalls-MAC auf Geräte-MAC umschalten.
Eigentlich läuft das hier bei mir mit 4 Handies und 3 Tablets über den jeweiligen Gerätenamen ohne Probleme sauber durch.
Und das sogar ohne Zuweisung der gleichen IP.

eckhard scholz

OK,
Das könnte ich mir mal ansehen.
ZitatZufalls-MAC auf Geräte-MAC umschalten
Wo finde ich das?
F!B,RPi-Fhem,RaspberryMatic,Cuno,Cul,S7-300,LOGO,HMIP,HM,FS20,

Nobbynews

Zitat von: eckhard scholz am 15 März 2024, 12:29:19
ZitatZufalls-MAC auf Geräte-MAC umschalten
Wo finde ich das?
Kann ich Dir nur für Android beantworten.
Und zwar unter den Einstellungen des jeweiligen WLans.
Bei Android 12 z.b. dann unter Datenschutz. Bei Android 14 direkt unter "Mehr anzeigen".

eckhard scholz

#13
Jau, habe ich gefunden (Android 14).
Im IPhon muss man pro WLAN-Netz die "Private Wlan-Adresse" ausschalten.

Ich habe es  ausprobieren, und funktioniert bei beiden.
Nun bekommen die Handy`s immer die gleiche IP-Adresse zugewiesen, egal in welchen Netz sie sich anmelden.

Danke für die Info
und Schönes Wochenende
Gruß
Eckhard
F!B,RPi-Fhem,RaspberryMatic,Cuno,Cul,S7-300,LOGO,HMIP,HM,FS20,