Hauptmenü

AB Statusabfrage

Begonnen von rockbaer2007, 15 Dezember 2020, 21:30:02

Vorheriges Thema - Nächstes Thema

rockbaer2007

Hallo könnt ihr mir bitte helfen ich bekomme folgendes nicht hin

Ich möchte den Status der AB's (4 Stück werden von Fritzbox über Zeitsteuerung ein und ausgeschaltet) abfragen und damit Dummy als Statusanzeige ein und ausschalten.
Fritzboxabfrage funktioniert, nur nicht die Auswertung der tam1_state und der anderen bis tam4_state. Und jeweils die Anzahl der Nachrichten tam1_newMsg bis tam4_newMsg.
Danke im vorraus.

mfg Uwe
der sächsische Rheinländer --- Debian10 Server (Fhem), OMV-Server (FHEM,Fileserver), Harmony Hub / Harmony Touch-FB, Fritzbox 7590, 3x WDCloud

Otto123

Hallo Uwe,

Du hast nicht geschrieben was nicht geht, aber Dummy ist dafür auch relativ bescheiden. Ein erster Vorschlag von mir wäre:
defmod ABstatus readingsGroup TYPE=FRITZBOX:tam.*
attr AB room Status


Das geht sicher noch viel schöner, Die Hilfe zur Readingsgroup gibt umfangreich Hinweise.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

rockbaer2007

#2
Hallo Otto, danke erst einmal für deinen Hilfe.
Leider habe ich letzte Zeit viel zutun gehabt und mich kaum mit fhem beschäftigt.
Ich wollte in die Dummy siehe Bild ansteuern, Als Status Übersicht.
Vielleicht auch die Anzahl der vorhandenen neuen Anrufe.


mfg Uwe
der sächsische Rheinländer --- Debian10 Server (Fhem), OMV-Server (FHEM,Fileserver), Harmony Hub / Harmony Touch-FB, Fritzbox 7590, 3x WDCloud

rockbaer2007

#3
Ich habe folgendes Versuch per DOIF die FritzBox2 abfragen und dann den Dummy AB1 mit stateFormat zu setzen.
Irgendwie geht es nicht was ist falsch?


define AB1_Status DOIF ([FritzBox2:"=tam1_state=on"]) (set AB1 stateFormat on)
setuuid AB1_Status 5fd9e6e7-f33f-a8fc-1c2f-746f663e763872a7
attr AB1_Status do always
attr AB1_Status wait 30


mfg Uwe
der sächsische Rheinländer --- Debian10 Server (Fhem), OMV-Server (FHEM,Fileserver), Harmony Hub / Harmony Touch-FB, Fritzbox 7590, 3x WDCloud

rockbaer2007

Hallo Otto,
ich habe es hinbekommen. hier der Code:

define AB1_Status DOIF ([FritzBox2:tam1_state] eq "on") (set AB1 on) DOELSEIF ([FritzBox2:tam1_state] eq "off")(set AB1 off)
setuuid AB1_Status 5fd9f7bc-f33f-a8fc-3715-27fecc8fffeef2c9
attr AB1_Status do always
attr AB1_Status wait 30
define AB2_Status DOIF ([FritzBox2:tam2_state] eq "on") (set ab2 on) DOELSEIF ([FritzBox2:tam2_state] eq "off")(set ab2 off)
setuuid AB2_Status 5fd9f9bc-f33f-a8fc-12e6-9226327b099dcb38
attr AB2_Status do always
attr AB2_Status wait 30
define AB3_Status DOIF ([FritzBox2:tam3_state] eq "on") (set AB3 on) DOELSEIF ([FritzBox2:tam3_state] eq "off")(set AB3 off)
setuuid AB3_Status 5fd9f9bc-f33f-a8fc-f7c0-924eefe5f01892e4
attr AB3_Status do always
attr AB3_Status wait 30
define AB4_Status DOIF ([FritzBox2:tam4_state] eq "on") (set AB4 on) DOELSEIF ([FritzBox2:tam4_state] eq "off")(set AB4 off)
setuuid AB4_Status 5fd9f9bc-f33f-a8fc-4b29-21f19f44f3292810
attr AB4_Status do always
attr AB4_Status wait 30


noch mit Abfrage aller 30 Sekunden

mfg Uwe
der sächsische Rheinländer --- Debian10 Server (Fhem), OMV-Server (FHEM,Fileserver), Harmony Hub / Harmony Touch-FB, Fritzbox 7590, 3x WDCloud

rabehd

Ich würde alle 4 in einem DOIF zusammenfassen. Das ist doch übersichtlicher.

Zitatnoch mit Abfrage aller 30 Sekunden
verstehe ich nicht.
Mit dem Attribut wait verzögerst du die Ausführung. Da Du nur einen Wert angegeben hast wird nur das "on" verzögert.

ZitatVerzögerungen für die Ausführung von Kommandos werden pro Befehlsfolge über das Attribut "wait" definiert. Syntax:

attr <DOIF-module> wait <Sekunden für Befehlsfolge des ersten DO-Falls>:<Sekunden für Befehlsfolge des zweiten DO-Falls>:...
Auch funktionierende Lösungen kann man hinterfragen.

rockbaer2007

Leider kenne ich damit noch nicht so aus, ich war ehrlich gesagt froh das es funktioniert
attr AB2_Status wait 30
habe ich schon rausgenommen.

wie ich mehrere DOIF zusammenfassen, weiss leider noch nicht

mfg Uwe
der sächsische Rheinländer --- Debian10 Server (Fhem), OMV-Server (FHEM,Fileserver), Harmony Hub / Harmony Touch-FB, Fritzbox 7590, 3x WDCloud

rabehd

define AB_Status DOIF ([FritzBox2:tam1_state] eq "on") (set AB1 on)
DOELSEIF ([FritzBox2:tam1_state] eq "off")(set AB1 off)
DOELSEIF ([FritzBox2:tam2_state] eq "on") (set ab2 on)
DOELSEIF ([FritzBox2:tam2_state] eq "off")(set ab2 off)
DOELSEIF ([FritzBox2:tam3_state] eq "on") (set AB3 on)
DOELSEIF ([FritzBox2:tam3_state] eq "off")(set AB3 off)
DOELSEIF ([FritzBox2:tam4_state] eq "on") (set AB4 on)
DOELSEIF ([FritzBox2:tam4_state] eq "off")(set AB4 off)


Das geht sicher noch weiter -> on/off in einerZeile... (Ich muss aber noch Geld verdienen)
Auch funktionierende Lösungen kann man hinterfragen.

rockbaer2007

der sächsische Rheinländer --- Debian10 Server (Fhem), OMV-Server (FHEM,Fileserver), Harmony Hub / Harmony Touch-FB, Fritzbox 7590, 3x WDCloud

rischbiter123

Moin,

hier noch ein Beispiel für eine ReadingsGroup, ganz ohne DOIF und Dummys:

defmod ABstatus readingsGroup <Name>,<Status>,<Nachrichten>\
MeinFritz:tam1,tam1_state,tam1_newMsg\
MeinFritz:tam2,tam2_state,tam2_newMsg\
MeinFritz:tam3,tam3_state,tam3_newMsg\
MeinFritz:tam4,tam4_state,tam3_newMsg
attr ABstatus nonames 1
attr ABstatus valueIcon {'tam1_state.on' => 'rc_GREEN', 'tam1_state.off' => 'rc_RED', 'tam2_state.on' => 'rc_GREEN', 'tam2_state.off' => 'rc_RED',\
'tam3_state.on' => 'rc_GREEN', 'tam3_state.off' => 'rc_RED', 'tam4_state.on' => 'rc_GREEN', 'tam4_state.off' => 'rc_RED'}


LG

Andreas
4*Raspi, Max Thermostate und Fensterkontakte, FB7590, Mysensors und NanoCUL, IT und Sonoff, zigbee2mqtt2