Hallo zusammen,
ich möchte den Wert
.box_TodayBytesReceivedLow:.*
per notify an meine Heimautomatisierung weitergeben. Mit vielen anderen Werten klappt das genau so!
Dieser Paramter hat allerdings einen Punkt an erster Stelle und ist somit ein InternalValue.
Da scheint meint Vorhaben nicht zu klappen.
Wie macht man das denn stattdessen?
Anbei meine fhem.cfg:
attr global showInternalValues 1
#Fritzbox installieren
define FritzBox FRITZBOX 192.168.178.1
attr FritzBox INTERVAL 60
attr FritzBox allowTR064Command 1
attr FritzBox boxUser ftpuser
define fritzbox_notify notify FritzBox:.box_TodayBytesReceivedLow:.* set ccu var fritzbox_down $EVTPART1
Thx und viele Grüße
Duffy6
Edit: Thema angepasst
das ist kein internal value sondern ein 'unsichtbares' reading.
diese readings mit einem punkt am anfang sind für die modul interne verwendung und erzeugen genau so wie richtige internals kein event.
bist du dir sicher das da überhaupt der wert drine steckt den du haben willst? das schaut wie ein laufender zähler aus der immer größer wird. da würden ziemlich viele events zusammen kommen.
der wert der daraus berechnet wird scheint box_rateDown zu sein. warum reicht dir der nicht?
falls du deinen internet zugang überwachen willst ist es vermutlich besser z.b. mit presence google oder ähnlich anzupingen. damit fängst du eine reihe fehler ab die du sonst nicht bemerkst.
Ich will alle 10 Minuten den Traffic der Fritzbox (=TodayBytesReceivedLow) an meine Homematic senden.
Dann um 23:59 Uhr (oder noch besser bei Zwangstrennung) per Telegram den Traffic des Tages in GB von Homematic aus senden.
Daher bräuchte ich dieses Notify.
Das aktuelle Intervall ist zu Testzwecken noch auf 60 gestellt.
Wie kann ich denn dieses notify realisieren?
Zitat von: duffy6 am 27 April 2021, 19:14:38
Ich will alle 10 Minuten
...
Wie kann ich denn dieses notify realisieren?
Wenn Du wirklich mit diesem internen Wert arbeiten willst (es gibt sicher bessere Ideen...) dann mach das doch über ein at anstatt ein notify.
Ein wiederholendes at, das alle 10 Minuten den Wert ausliest und irgendwohin schreibt.
Um die Werte normal loggen zu können, habe ich da userReadings:
attr FB7412 userReadings online {(ReadingsVal($name,"box_ipExtern", "") eq "-") ? 0:1},\
todayReceived {(ReadingsVal($name,".box_TodayBytesReceivedLow",0) + ReadingsVal($name,".box_TodayBytesReceivedHigh",0) * 2**32) / 2**20},\
todaySent {(ReadingsVal($name,".box_TodayBytesSentLow",0) + ReadingsVal($name,".box_TodayBytesSentHigh",0) * 2**32) / 2**20}
Alles nur geklaut :)
Wobei der momentane Traffic eher in den Readings steht: box_rateDown box_rateUp