FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: eckhard scholz am 15 März 2024, 09:07:40

Titel: DOIF mit Abfrage mehrere Devices mit or, xor, and
Beitrag von: eckhard scholz am 15 März 2024, 09:07:40
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
Titel: Aw: DOIF mit Abfrage mehrere Devices mit or, xor, and
Beitrag von: Prof. Dr. Peter Henning am 15 März 2024, 09:14:29
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
Titel: Aw: DOIF mit Abfrage mehrere Devices mit or, xor, and
Beitrag von: betateilchen am 15 März 2024, 09:15:15
Warum nicht im richtigen Unterforum zu DOIF fragen statt in den Anfängerfragen?

Den Button zum Verschieben findest Du unten links.
Titel: Aw: DOIF mit Abfrage mehrere Devices mit or, xor, and
Beitrag von: eckhard scholz am 15 März 2024, 09:52:39
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.
Titel: Aw: DOIF mit Abfrage mehrere Devices mit or, xor, and
Beitrag von: eckhard scholz am 15 März 2024, 10:02:00
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
Titel: Aw: DOIF mit Abfrage mehrere Devices mit or, xor, and
Beitrag von: Prof. Dr. Peter Henning am 15 März 2024, 11:36:27
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
Titel: Aw: DOIF mit Abfrage mehrere Devices mit or, xor, and
Beitrag von: Per am 15 März 2024, 11:38:48
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.
Titel: Aw: DOIF mit Abfrage mehrere Devices mit or, xor, and
Beitrag von: Nobbynews am 15 März 2024, 11:58:46
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
Titel: Aw: DOIF mit Abfrage mehrere Devices mit or, xor, and
Beitrag von: eckhard scholz am 15 März 2024, 12:00:35
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
Titel: Aw: DOIF mit Abfrage mehrere Devices mit or, xor, and
Beitrag von: eckhard scholz am 15 März 2024, 12:12:10
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.
Titel: Aw: DOIF mit Abfrage mehrere Devices mit or, xor, and
Beitrag von: Nobbynews am 15 März 2024, 12:25:43
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.
Titel: Aw: DOIF mit Abfrage mehrere Devices mit or, xor, and
Beitrag von: eckhard scholz am 15 März 2024, 12:29:19
OK,
Das könnte ich mir mal ansehen.
ZitatZufalls-MAC auf Geräte-MAC umschalten
Wo finde ich das?
Titel: Aw: DOIF mit Abfrage mehrere Devices mit or, xor, and
Beitrag von: Nobbynews am 15 März 2024, 12:52:36
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".
Titel: Aw: DOIF mit Abfrage mehrere Devices mit or, xor, and
Beitrag von: eckhard scholz am 15 März 2024, 16:53: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