Fritzbox Temperatur als Sensorwert

Begonnen von Digimatik, 18 Februar 2013, 21:32:57

Vorheriges Thema - Nächstes Thema

Digimatik

Ich bin noch blutigster Anfänger, habe es aber geschafft nach der Anleitung im Wiki die Temperatur der Fritzbox im Floorplan anzuzeigen.
Was ich aber nicht verstehe, wie kann ich die Temperatur der Fritzbox als Sensor anzeigen und dann den Sensor im Floorplan mit dem Arrange Modus platzieren?

geht das über eine dummy Variable, oder kann ich einen Sensor definieren?
Ich weiss nur, das ich mit dieser Zeile den integer Wert bekomme

"FritzCPUTemperature" => int(`ctlmgr_ctl r power status/act_temperature`).'°',

Ich muss gestehen, ich habe von Perl Programierung keine Ahnung, habe nur in jungen Jahren C und C++ programmiert.


Digimatik

Hmm,
100 visits, aber kein Beitrag? Ist meine Frage zu dumm?

MisterEltako

Hi!

Also wenn du den Wert schon hast und dieser richtig ist, dann ist das Einfachste die Variante mit dem Dummy.

Vielleicht so:

define Anzeige dummy
attr Anzeige room Temperatur

define Intervall at +*00:05:00{\
my $FritzCPUTemperature => int(`ctlmgr_ctl r power status/act_temperature`).'°';;\
setstate Anzeige $FritzCPUTemperature;;\
}


MfG, MisterEltako.
HMLAN-Konfigurations-Adapter, HM-Funkjalousieaktor/HM-Dimmaktor/HM-Schaltaktor f. Markenschalter, Jalousie-/Schaltaktor von Eltako, FT4 v. Eltako, TCM310

MisterEltako

Upps, noch etwas ist zu ändern:

in fhem.cfg:
define Anzeige dummy
attr Anzeige room Temperatur

define Intervall at +*00:05:00{\
my $FritzCPUTemperature => int(`ctlmgr_ctl r power status/act_temperature`).'°';;\
fhem('setstate Anzeige $FritzCPUTemperature');;\
}


Eventuell musst du mit dem Codeteil noch etwas anpassen: int(`ctlmgr_ctl r power status/act_temperature`).'°'
Ich kann es leider nicht für dich testen, da mein FHEM auf einer Diskstation läuft.

MfG, MisterEltako
HMLAN-Konfigurations-Adapter, HM-Funkjalousieaktor/HM-Dimmaktor/HM-Schaltaktor f. Markenschalter, Jalousie-/Schaltaktor von Eltako, FT4 v. Eltako, TCM310

Digimatik

Hi MisterEltako, Danke für die Antwort.
Direkt mal ausprobiert. Ich musste noch ein Leerzeichen nach dem Intervall einfügen da ich folgende Fehlermeldung bekam

Wrong timespec, use "[+][*[{count}]]"

Dann wurde die Konfig übernommen, aber ich sehe nicht, dass der Temperaturwert aus der FB übernommen wird.

das ist z. Zt. der Code:

# Fritzbox Temperatur
define FB_Anzeige dummy
attr FB_Anzeige room FB_Temperatur

define Intervall at +*00:05:00 {\
my $FritzCPUTemperature => int(`ctlmgr_ctl r power status/act_temperature`).'°';;\
fhem('setstate FB_Anzeige $FritzCPUTemperature');;\
}


Ich habe fhem als root user eingestellt.
Und das Beispiel im Wiki: http://www.fhemwiki.de/wiki/FritzBox_Parameter_in_fhem_anzeigen funktioniert auch.

Es scheint so, als wird der String "$FritzCPUTemperature"  (ohne Anführungszeichen) in dem Dummy gespeichert, und nicht der reale Wert.

Unter "Everything" steht:
dummy FB_Anzeige $FritzCPUTemperature

Digimatik

Diese Code funktioniert jetzt bei mir, ich musste mit einfachen und doppelten Anführungszeichen experimentieren:


#########################################################################
##  Fritzbox Temperatur per Dummy alle 5 min auslesen
#########################################################################
define FB_Anzeige dummy
attr FB_Anzeige room Keller

define FB_Intervall at +*00:05:00 {\
my $FritzCPUTemperature = `ctlmgr_ctl r power status/act_temperature`.'°';;\
fhem("setstate FB_Anzeige $FritzCPUTemperature");;\
}

dummy
FB_Anzeige
43 °

chriz

die Temperatur-Anzeige funktioniert leider unter Fritz!OS6 (7390) nicht mehr. Gibt es einen Fix?

Cheers
Chris
FHEM auf Intel NUC D34010WYK Core i3, SSD, Ubuntu. HomeMatic mit HMLAN (Groundplane Antenne), Fritz DECT!200, FritzBox 7490, EnerGenie EG-PMS2-LAN, Yamaha RX-V475, Netatmo, Withings, Philips hue, Osram Lightify, Flukso Energy Meter, Harmony, RooWifi, Junkers ZSB 24-4 C Heizung via Heatronic HT-BUS