FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Timothy0815 am 07 August 2017, 11:01:58

Titel: Gäste WLAN status abfrage und schalten
Beitrag von: Timothy0815 am 07 August 2017, 11:01:58
Hallo liebe Forumsgemeinde,

auch wenn es mein erster Beitrag ist und ich mich dafür erst angemeldet habe, verfolge ich schon länger die Beiträge und konnte mir auch immer gut selbst helfen. Jedoch komme ich grad nicht weiter.

Zu meinem Vorhaben:
Ich möchte gerne in einem separaten Raum im FHEM den status des Gäste WLANs abfragen und diesen dann auch schalten können. Später möchte ich dann per HomeKit das Gäste WLAN mit Siri schalten...

Bisher schalte ich es manuell ohne abfrage. Könnt ihr mir helfen bei der Abfrage? Dies ist die erste Abfrage die ich so machen möchte...
Hier ein Auszug aus dem Code:

define FritzBox FRITZBOX 192.168.1.1
attr FritzBox allowTR064Command 1
attr FritzBox boxUser FHEM
attr FritzBox devStateIcon .*on.*off:WLAN_on_gWLAN_off .*on.*on.*:WLAN_on_gWLAN_on WLAN..off.*:WLAN_off
attr FritzBox room Hausanschluss

define guestwlan dummy
attr guestwlan alias Gäste WLAN
attr guestwlan icon it_wifi
attr guestwlan room HomeKit
attr guestwlan setList on off
define off_guestwlan notify guestwlan:off set FritzBox guestWlan off
define on_guestwlan notify guestwlan:on set FritzBox guestWlan on


Soweit klappt es auch mit dem schalten, aber ich müsste noch den Status abfragen und auch entsprechend anzeigen lassen.

Danke für Eure Hilfe!

Grüße
Titel: Antw:Gäste WLAN status abfrage und schalten
Beitrag von: Otto123 am 07 August 2017, 11:16:32
Hallo,

ich verstehe die Frage nicht ganz, Du willst den Status des guestWlan abfragen bevor Du ihn schaltest? Also wenn guestWlan off dann schalte es on? Warum?
Oder möchtest Du abfragen ob Gäste da sind? Oder ob Gäste im GästeWlan eingeloggt sind?

Das reading box_guestWlan liefert Dir den Status. Du könntest ein IF  (https://fhem.de/commandref_DE.html#IF)in deinen Code einfügen, z.B.
IF ([FritzBox:box_guestWlan] eq "off") (set ...)

BTW:
Du könntest anstatt zwei notify nur eines nehmendefine switch_guestwlan notify guestwlan:(on|off) set FritzBox guestWlan $EVENT

Gruß Otto
Titel: Antw:Gäste WLAN status abfrage und schalten
Beitrag von: Timothy0815 am 07 August 2017, 11:29:08
Hallo Otto,

vielleicht war es nicht richtig verständlich ausgedrückt:

ich möchte im Raum "HomeKit" den aktuellen zustand des Gäste WLANs abfragen und bei Bedarf das Gäste WLAN dort ein- bzw. auszuschalten.
Titel: Antw:Gäste WLAN status abfrage und schalten
Beitrag von: rabehd am 07 August 2017, 11:36:41
Warum läßt Du Dir das Reading box_guestWlan der Fritzbox nicht anzeigen, dass sagt doch on/off?
Titel: Antw:Gäste WLAN status abfrage und schalten
Beitrag von: Timothy0815 am 07 August 2017, 11:39:40
Hallo rabehd,

wie genau sollte das dann im Code aussehen?

Titel: Antw:Gäste WLAN status abfrage und schalten
Beitrag von: Otto123 am 07 August 2017, 12:04:41
Der room Homekit assoziiert mir etwas was ich nicht verstehe  ::)

Also Dein dummy guestwlan  soll auch den Status anzeigen? Dann mach das doch einfach so
attr guestwlan stateFormat {ReadingsVal("FritzBox","box_guestWlan","")}
Titel: Antw:Gäste WLAN status abfrage und schalten
Beitrag von: amenomade am 07 August 2017, 12:05:21
Warum einfach nicht die FritzBox auch im Raum HomeKit (zusätzlich zu Raum Hausanschluss) zeigen lassen?
Titel: Antw:Gäste WLAN status abfrage und schalten
Beitrag von: Timothy0815 am 07 August 2017, 12:07:32
Ich möchte im Raum "HomeKit" nur das Gäste WLAN schalten, nicht die ganze Fritzbox...
Titel: Antw:Gäste WLAN status abfrage und schalten
Beitrag von: Otto123 am 07 August 2017, 12:11:30
Code siehe oben :)

Das Icon kannst Du mit devStateIcon noch anpassen.

Edit: Stelle gerade fest: so ist das noch nicht optimal, das stateFormat aktualisiert sich so nicht  :-[

Abgesehen davon, durch die Verknüpfung repräsentiert der dummy erstmal genau den Status vom guestWlan.
Titel: Antw:Gäste WLAN status abfrage und schalten
Beitrag von: Timothy0815 am 07 August 2017, 12:28:09
Hallo Otto,

Danke für den Code. Habe aber auch grad festgestellt das der Status nicht aktualisiert wird...
Titel: Antw:Gäste WLAN status abfrage und schalten
Beitrag von: Otto123 am 07 August 2017, 12:30:00
Ich glaube meine Lösung wäre jetzt über pseudo Zustände und einem zweiten notify oder userReadings das zu machen. So ähnlich wie hier (http://heinz-otto.blogspot.de/2017/01/ein-remote-taster-in-fhem-mit.html).
Titel: Antw:Gäste WLAN status abfrage und schalten
Beitrag von: rabehd am 07 August 2017, 12:35:10
zu #4:
Das hängt davon ab wie Du Dir den Raum vorstellst.

Du kannst es mit dem Device der Fritzbox darstellen. Das geht mitt den Attributen "stateFormat" und zur Verschönerung noch mit "devStateIcon".

Die andere Alternative wäre ein Dummy den Du über ein notify auf das Reading der Fritzbox beschreibst.

Wahrscheinlich lässt sich in TabletUI ... die Darstellung auch noch anderes machen.

Das sind einfach ein paar Anregungen, wie ich es machen würde, wenn ich das Problem hätte.
Mein Gäste-WLAN ist an die Anwesenheit von Bewohnern gekoppelt.

Mein Schaltbefehl: fhem("set FritzBox guestWlan off");
Titel: Antw:Gäste WLAN status abfrage und schalten
Beitrag von: Brice am 07 August 2017, 12:36:04
Zitat von: rabehd am 07 August 2017, 11:36:41
Warum läßt Du Dir das Reading box_guestWlan der Fritzbox nicht anzeigen, dass sagt doch on/off?

Läuft hier so:

Internals:
   DEF        FritzBox:box_guestWlan
   DEVICE     FritzBox
   NAME       WLANGast
   NOTIFYDEV  global,FritzBox
   NR         357
   NTFY_ORDER 50-WLANGast
   READING    box_guestWlan
   STATE      on
   TYPE       readingsProxy
   CONTENT:
     FritzBox   1
   READINGS:
     2017-08-06 16:25:05   lastCmd         on
     2017-08-07 12:24:55   state           on
Attributes:
   alexaName  GastWLan
   devStateIcon attr WLANGast devStateIcon on:it_wifi@green:off off:it_wifi@red:on
   genericDeviceType switch
   group      WLan
   room       Alexa,FritzBox,WerIstZuhause
   setFn      {($CMD eq "off")?"guestWlan off":"guestWlan on";}
   setList    on off
Titel: Antw:Gäste WLAN status abfrage und schalten
Beitrag von: rabehd am 07 August 2017, 12:40:51
Ich glaube wir machen hier was "falsch".

@Timothy0815
Hast Du mal die Einsteigerdoku gelesen?

Ich finde es gut, wenn Du mit uns Deinen Wunsch diskutierst, von den Möglichkeiten der verschiedenen Devices scheinst Du noch nicht alles zu wissen.
Titel: Antw:Gäste WLAN status abfrage und schalten
Beitrag von: Timothy0815 am 07 August 2017, 14:38:49
@rabehd:
Die Einsteigerdoku habe ich zwar gelesen, aber das ist schon ein paar jährchen her. Bislang habe ich nur kleinere Anpassungen vorgenommen, wie eine Steckdose hinzugefügt oder Rollladen rauf/runter. Hier habe ich mir immer entsprechend aus dem Forum oder anderweitig Anleitungen zu rate gezogen...
So eine Abfrage wie beschrieben hatte ich noch nicht und eigentlich sollte das auch nicht so kompliziert sein. Vielleicht denke ich auch nur zu kompliziert...
Ich möchte eigentlich nur den Status eines bestimmten Gerätes in Raum A abfragen und in Raum B angezeigt bekommen und auch in Raum B schalten können.
Titel: Antw:Gäste WLAN status abfrage und schalten
Beitrag von: Timothy0815 am 07 August 2017, 15:26:02
Ich habe es jetzt soweit geschafft:


define FritzBox FRITZBOX 192.168.1.1
attr FritzBox allowTR064Command 1
attr FritzBox boxUser FHEM
attr FritzBox devStateIcon .*on.*off:WLAN_on_gWLAN_off .*on.*on.*:WLAN_on_gWLAN_on WLAN..off.*:WLAN_off
attr FritzBox group FritzBox
attr FritzBox room Hausanschluss

define gWLAN readingsProxy FritzBox:box_guestWlan
attr gWLAN alias Gäste WLAN
attr gWLAN devStateIcon on:WLAN_Status.1:off off:WLAN_Status.0:onattr gWLAN group WLAN
attr gWLAN group FritzBox
attr gWLAN room HomeKit
attr gWLAN setFn {($CMD eq "off")?"guestWlan off":"guestWlan on";;}
attr gWLAN setList on off
attr gWLAN webCmd on:off
Titel: Antw:Gäste WLAN status abfrage und schalten
Beitrag von: rabehd am 07 August 2017, 15:27:27
Zitat von: Timothy0815 am 07 August 2017, 14:38:49
Ich möchte eigentlich nur den Status eines bestimmten Gerätes in Raum A abfragen und in Raum B angezeigt bekommen und auch in Raum B schalten können.

Räume sind für mich nur Klammer um Devices zu struktuieren und Übersicht zu haben.
Somit ist für mich Dein Problem nicht nachvollziehbar.

Ich versuche es trotzdem.
Du möchtest ein bestimmtes Reading eines Device direkt sehen, ohne es Dir in der Readingliste zu suchen.
Du möchtest einen Befehl zu einem Device übermitteln ohne den Befehl einzutippen oder aus einer Liste auszuwählen, also direkt anklicken.
Richtig? (Wie bist Du die Jahre ohne solches Wissen ausgekommen?)

Speziell bei Deiner Fritzbox:

Welche Info steht aktuell im Internal "STATE"?
Nutzt Du diese Information?
Nein -> informiere Dich zu den Attributen "stateFormat" und "devStateIcon" (auch nach Jahren kann man in der Einsteigerdoku oder dem Forum... sich bilden)
Ja -> Dummy zur Darstellung anlegen?

Hat Deine Fritzbox ein Attribute "webcmd"?
Anhängig von den Ja/Mein-Antworten vorher...
Unter webcmd definierst Du die "Klick-Befehle"

Wo hängt es jetzt?