Hi,
ich bin Doktorand an der ETH Zürich und wir sind gerade dabei eine Studie zum Thema Smart Home vorzubereiten. Teil dieser Studie wird es sein 15-25 Haushalte mit einigen HM-CC-RT-DN auszustatten. Momentan experimentieren wir mit Raspberry Pis und HM USBCFGs um mir den Thermostaten zu konfigurieren. Dazu haben wir zur Zeit 5 Systeme am Laufen.
Bei 4 Systemen nutzen wir Raspberry Pi Model B und bekommen regelmässig Probleme, wenn ein shutdown restart durchgeführt wird oder ein Pi neugestartet wird. Pro System wird dann häufig ein Thermostat nicht mehr erkannt. Es ist dann nur noch als virtuelles Device angelegt, es kommen keine Readings mehr vom Thermostat und ein getConfig liefert RESPONSE TIMEOUT:RegisterRead.
Bisher hat dann nur ein erneutes Pairing geholfen. Das wäre für unsere Studie eine kleine Katastrophe.
Ein System haben wir jetzt mit einem Pi Model B+ und da ist das Problem trotz exzessiven reboots bisher nicht aufgetreten.
Habt ihr eine Idee an was das liegen könnte?
Ausserdem noch eine kleine Frage zum HMUSB: Ist es notwendig von Hand eine ID in hem.cfg zu definieren oder ist es möglich einfach die feste hardware ID zu nutzen. Die Frage stelle ich, weil wir gerne ein Pi Image erzeugen würden indem fhem vorkonfiguriert ist. Alternativ müssten wir die id programmatisch zufällig beim ersten starten setzen.
Vielen Dank
Ich würde sagen, schmeißt die alten Raspberrys raus und nehmt nur die neuen. Die Stromversorgung ist so Problematisch vom alten Raspberry ich hatte auch jede Menge unerklärliche Phänomene die weg waren, als ich ein gutes 2A Netzteil (Phihong) direkt an die GPIO Ports angeschlossen habe. (Dazu gibts auch Kilometerweise Infos im Internet)
Die bessere Stromversorgung ist einer der wichtigsten Neuerungen vom B+ Model. Ich würde mich damit nicht mehr rumärgern wollen.
ZitatBei 4 Systemen nutzen wir Raspberry Pi Model B und bekommen regelmässig Probleme, wenn ein shutdown restart durchgeführt wird oder ein Pi neugestartet wird. Pro System wird dann häufig ein Thermostat nicht mehr erkannt. Es ist dann nur noch als virtuelles Device angelegt, es kommen keine Readings mehr vom Thermostat und ein getConfig liefert RESPONSE TIMEOUT:RegisterRead.
bei jedem start werden die dateien fhem.cfg (konfigurationen) und fhem.save (readings/daten) eingelesen. wenn vor dem restart ein save gemacht wurde, sollte dann auch alles korrekt wieder hergestellt werden. ich würde mal den inhalt der dateien vor und nach shutdown kontrollieren und dann noch mal nach restart. oder nutzt ihr die datenbank? gibt es rechteprobleme?
was steht denn nach restart in fhem.log?
Zitatwas steht denn nach restart in fhem.log?
Hier zwei interessante Auszüge von dem System auf das ich gerade Zugriff habe (CUL_HM_HM_CC_RT_DN_21BA4F ist das Thermostat das hier Probleme macht):
Error messages while initializing FHEM: statefile: Please define CUL_HM_HM_CC_RT_DN_21BA4F_Clima first Please define CUL_HM_HM_CC_RT_DN_21BA4F_Clima first Please define CUL_HM_HM_CC_RT_DN_21BA4F_Clima first Please define CUL_HM_HM_CC_RT_DN_21BA4F_Clima first Please define CUL_HM_HM_CC_RT_DN_21BA4F_Clima first Please define CUL_HM_HM_CC_RT_DN_21BA4F_Clima first Please define CUL_HM_HM_CC_RT_DN_21BA4F_Clima first Please define CUL_HM_HM_CC_RT_DN_21BA4F_Clima first Please define CUL_HM_HM_CC_RT_DN_21BA4F_Clima first Please define CUL_HM_HM_CC_RT_DN_21BA4F_Clima first Please define CUL_HM_HM_CC_RT_DN_21BA4F_Clima first Please define CUL_HM_HM_CC_RT_DN_21BA4F_Clima first Please define CUL_HM_HM_CC_RT_DN_21BA4F_Clima first Please define CUL_HM_HM_CC_RT_DN_21BA4F_Clima first Please define CUL_HM_HM_CC_RT_DN_21BA4F_Clima first Please define CUL_HM_HM_CC_RT_DN_21BA4F_Clima first Please define CUL_HM_HM_CC_RT_DN_21BA4F_Clima first Please define CUL_HM_HM_CC_RT_DN_21BA4F_Clima first Please define CUL_HM_HM_CC_RT_DN_21BA4F_Clima first Please define CUL_HM_HM_CC_RT_DN_21BA4F_Clima first Please define CUL_HM_HM_CC_RT_DN_21BA4F_Clima first Please define CUL_HM_HM_CC_RT_DN_21BA4F_Clima first Please define CUL_HM_HM_CC_RT_DN_21BA4F_Clima first Please define CUL_HM_HM_CC_RT_DN_21BA4F_Clima first Please define CUL_HM_HM_CC_RT_DN_21BA4F_Clima first Please define CUL_HM_HM_CC_RT_DN_21BA4F_Clima first Please define CUL_HM_HM_CC_RT_DN_21BA4F_Clima first Please define CUL_HM_HM_CC_RT_DN_21BA4F_Clima first Please define CUL_HM_HM_CC_RT_DN_21BA4F_Clima first Please define CUL_HM_HM_CC_RT_DN_21BA4F_Clima first Please define CUL_HM_HM_CC_RT_DN_21BA4F_Clima first Please define CUL_HM_HM_CC_RT_DN_21BA4F_Clima first Please define CUL_HM_HM_CC_RT_DN_21BA4F_Clima first Please define CUL_HM_HM_CC_RT_DN_21BA4F_Clima first Please define CUL_HM_HM_CC_RT_DN_21BA4F_Clima first Please define CUL_HM_HM_CC_RT_DN_21BA4F_Clima first Please define CUL_HM_HM_CC_RT_DN_21BA4F_Clima first Please define CUL_HM_HM_CC_RT_DN_21BA4F_Clima first Please define CUL_HM_HM_CC_RT_DN_21BA4F_Clima first Please define CUL_HM_HM_CC_RT_DN_21BA4F_Clima first Please define CUL_HM_HM_CC_RT_DN_21BA4F_Clima first Please define CUL_HM_HM_CC_RT_DN_21BA4F_Clima first Please define CUL_HM_HM_CC_RT_DN_21BA4F_Clima first Please define CUL_HM_HM_CC_RT_DN_21BA4F_Clima first Please define CUL_HM_HM_CC_RT_DN_21BA4F_Clima first Please define CUL_HM_HM_CC_RT_DN_21BA4F_Clima first Please define CUL_HM_HM_CC_RT_DN_21BA4F_Clima first Please define CUL_HM_HM_CC_RT_DN_21BA4F_Clima first Please define CUL_HM_HM_CC_RT_DN_21BA4F_Clima first Please define CUL_HM_HM_CC_RT_DN_21BA4F_Clima first Please define CUL_HM_HM_CC_RT_DN_21BA4F_Clima first Please define CUL_HM_HM_CC_RT_DN_21BA4F_Clima first Please define CUL_HM_HM_CC_RT_DN_21BA4F_ClimaTeam first Please define CUL_HM_HM_CC_RT_DN_21BA4F_ClimaTeam first Please define CUL_HM_HM_CC_RT_DN_21BA4F_ClimaTeam first Please define CUL_HM_HM_CC_RT_DN_21BA4F_ClimaTeam first Please define CUL_HM_HM_CC_RT_DN_21BA4F_Climate first Please define CUL_HM_HM_CC_RT_DN_21BA4F_Climate first Please define CUL_HM_HM_CC_RT_DN_21BA4F_Climate first Please define CUL_HM_HM_CC_RT_DN_21BA4F_Climate first Please define CUL_HM_HM_CC_RT_DN_21BA4F_Weather first Please define CUL_HM_HM_CC_RT_DN_21BA4F_Weather first Please define CUL_HM_HM_CC_RT_DN_21BA4F_Weather first Please define CUL_HM_HM_CC_RT_DN_21BA4F_Weather first Please define CUL_HM_HM_CC_RT_DN_21BA4F_Weather first Please define CUL_HM_HM_CC_RT_DN_21BA4F_Weather first Please define CUL_HM_HM_CC_RT_DN_21BA4F_WindowRec first Please define CUL_HM_HM_CC_RT_DN_21BA4F_WindowRec first Please define CUL_HM_HM_CC_RT_DN_21BA4F_WindowRec first Please define CUL_HM_HM_CC_RT_DN_21BA4F_WindowRec first Please define CUL_HM_HM_CC_RT_DN_21BA4F_remote first Please define CUL_HM_HM_CC_RT_DN_21BA4F_remote first Please define CUL_HM_HM_CC_RT_DN_21BA4F_remote first
2014.12.09 11:42:27 0: Server started with 37 defined entities (version $Id: fhem.pl 7124 2014-12-05 07:10:20Z rudolfkoenig $, os linux, user fhem, pid 1938)
2014.12.09 11:42:28 3: Device CUL_HM_HM_CC_RT_DN_21BA73 added to ActionDetector with 000:10 time
2014.12.09 11:42:28 3: Device CUL_HM_HM_CC_RT_DN_21BBC0 added to ActionDetector with 000:10 time
2014.12.09 11:42:28 3: Device CUL_HM_HM_CC_RT_DN_22097E added to ActionDetector with 000:10 time
2014.12.09 11:42:29 1: PERL WARNING: Use of uninitialized value in string eq at ./FHEM/10_CUL_HM.pm line 6975.
Gerade noch bei einem zweiten System shutdown restart durchgeführt :
2014.12.09 13:25:10 2: Error messages while initializing FHEM: statefile: Please define CUL_HM_HM_CC_RT_DN_31056A_Clima first Please define CUL_HM_HM_CC_RT_DN_31056A_Clima first Please define CUL_HM_HM_CC_RT_DN_31056A_Clima first Please define CUL_HM_HM_CC_RT_DN_31056A_Clima first Please define CUL_HM_HM_CC_RT_DN_31056A_Clima first Please define CUL_HM_HM_CC_RT_DN_31056A_Clima first Please define CUL_HM_HM_CC_RT_DN_31056A_Clima first Please define CUL_HM_HM_CC_RT_DN_31056A_Clima first Please define CUL_HM_HM_CC_RT_DN_31056A_Clima first Please define CUL_HM_HM_CC_RT_DN_31056A_Clima first Please define CUL_HM_HM_CC_RT_DN_31056A_Clima first Please define CUL_HM_HM_CC_RT_DN_31056A_Clima first Please define CUL_HM_HM_CC_RT_DN_31056A_Clima first Please define CUL_HM_HM_CC_RT_DN_31056A_Clima first Please define CUL_HM_HM_CC_RT_DN_31056A_Clima first Please define CUL_HM_HM_CC_RT_DN_31056A_Clima first Please define CUL_HM_HM_CC_RT_DN_31056A_Clima first Please define CUL_HM_HM_CC_RT_DN_31056A_Clima first Please define CUL_HM_HM_CC_RT_DN_31056A_Clima first Please define CUL_HM_HM_CC_RT_DN_31056A_Clima first Please define CUL_HM_HM_CC_RT_DN_31056A_Clima first Please define CUL_HM_HM_CC_RT_DN_31056A_Clima first Please define CUL_HM_HM_CC_RT_DN_31056A_Clima first Please define CUL_HM_HM_CC_RT_DN_31056A_Clima first Please define CUL_HM_HM_CC_RT_DN_31056A_Clima first Please define CUL_HM_HM_CC_RT_DN_31056A_Clima first Please define CUL_HM_HM_CC_RT_DN_31056A_Clima first Please define CUL_HM_HM_CC_RT_DN_31056A_Clima first Please define CUL_HM_HM_CC_RT_DN_31056A_Clima first Please define CUL_HM_HM_CC_RT_DN_31056A_Clima first Please define CUL_HM_HM_CC_RT_DN_31056A_Clima first Please define CUL_HM_HM_CC_RT_DN_31056A_Clima first Please define CUL_HM_HM_CC_RT_DN_31056A_Clima first Please define CUL_HM_HM_CC_RT_DN_31056A_Clima first Please define CUL_HM_HM_CC_RT_DN_31056A_Clima first Please define CUL_HM_HM_CC_RT_DN_31056A_Clima first Please define CUL_HM_HM_CC_RT_DN_31056A_Clima first Please define CUL_HM_HM_CC_RT_DN_31056A_Clima first Please define CUL_HM_HM_CC_RT_DN_31056A_Clima first Please define CUL_HM_HM_CC_RT_DN_31056A_Clima first Please define CUL_HM_HM_CC_RT_DN_31056A_Clima first Please define CUL_HM_HM_CC_RT_DN_31056A_Clima first Please define CUL_HM_HM_CC_RT_DN_31056A_Clima first Please define CUL_HM_HM_CC_RT_DN_31056A_Clima first Please define CUL_HM_HM_CC_RT_DN_31056A_Clima first Please define CUL_HM_HM_CC_RT_DN_31056A_Clima first Please define CUL_HM_HM_CC_RT_DN_31056A_Clima first Please define CUL_HM_HM_CC_RT_DN_31056A_Clima first Please define CUL_HM_HM_CC_RT_DN_31056A_Clima first Please define CUL_HM_HM_CC_RT_DN_31056A_Clima first Please define CUL_HM_HM_CC_RT_DN_31056A_Clima first Please define CUL_HM_HM_CC_RT_DN_31056A_Clima first Please define CUL_HM_HM_CC_RT_DN_31056A_Clima first Please define CUL_HM_HM_CC_RT_DN_31056A_Clima first Please define CUL_HM_HM_CC_RT_DN_31056A_Clima first Please define CUL_HM_HM_CC_RT_DN_31056A_ClimaTeam first Please define CUL_HM_HM_CC_RT_DN_31056A_ClimaTeam first Please define CUL_HM_HM_CC_RT_DN_31056A_ClimaTeam first Please define CUL_HM_HM_CC_RT_DN_31056A_ClimaTeam first Please define CUL_HM_HM_CC_RT_DN_31056A_Climate first Please define CUL_HM_HM_CC_RT_DN_31056A_Climate first Please define CUL_HM_HM_CC_RT_DN_31056A_Climate first Please define CUL_HM_HM_CC_RT_DN_31056A_Climate first Please define CUL_HM_HM_CC_RT_DN_31056A_Weather first Please define CUL_HM_HM_CC_RT_DN_31056A_Weather first Please define CUL_HM_HM_CC_RT_DN_31056A_Weather first Please define CUL_HM_HM_CC_RT_DN_31056A_Weather first Please define CUL_HM_HM_CC_RT_DN_31056A_Weather first Please define CUL_HM_HM_CC_RT_DN_31056A_Weather first Please define CUL_HM_HM_CC_RT_DN_31056A_WindowRec first Please define CUL_HM_HM_CC_RT_DN_31056A_WindowRec first Please define CUL_HM_HM_CC_RT_DN_31056A_WindowRec first Please define CUL_HM_HM_CC_RT_DN_31056A_WindowRec first Please define CUL_HM_HM_CC_RT_DN_31056A_remote first Please define CUL_HM_HM_CC_RT_DN_31056A_remote first Please define CUL_HM_HM_CC_RT_DN_31056A_remote first Please define CUL_HM_HM_CC_RT_DN_31056A_remote
Muss ein "save" manuell erfolgen? Ich habe das bisher noch nicht gemacht.
Ja ein save muss manuell erfolgen. Könnte man aber auch per at automatisieren.
die meldungen kommen, wenn fhem ein reading aus dem statefile setzen möchte, aber kein entsprechendes device existiert. also wurde vorher kein device definiert. wahrscheinlich nicht in fhem.cfg vorhanden. entweder vorher nicht gespeichert, falsche rechte, korruptes medium, ....
ZitatJa ein save muss manuell erfolgen. Könnte man aber auch per at automatisieren
Das ist schon mal sehr gut zu wissen. Ich bin dennoch etwas verwundert über das Verhalten. Schliesslich tritt es immer nur bei genau einem Thermostat auf und soweit ich mich erinnern kann auch nur wenn mehr als ein Thermostat gepaired wurde.
Wir haben auf dem Pi noch eine node.js app laufen, die mit unserem Backend kommuniziert und mit fhem hauptsächlich über die net Schnittstelle auf port 7072 spricht (+ ein paar GET an die json api). Ein Pairing wird vom Nutzer über eine iOS/Android app von uns ausgeführt, die nur mit unserem Backend spricht. Der Nutzer hat keine Interaktion mit FHEM direkt.
Sowie ich es jetzt verstanden haben müssen wir nachdem erfolgreichen Pairing, wenn der ActionDetector die Kanäle angelegt hat und wir noch ein getConfig durchgeführt haben fhem noch ein save schicken und dann sollte auch nach einem restart wieder alles funktionieren. Richtig?
ZitatSowie ich es jetzt verstanden haben müssen wir nachdem erfolgreichen Pairing, wenn der ActionDetector die Kanäle angelegt hat und wir noch ein getConfig durchgeführt haben fhem noch ein save schicken und dann sollte auch nach einem restart wieder alles funktionieren. Richtig?
nach jeder änderung von fhem.cfg. nach jedem
erfolgreichen getconfig. das kann bei einem rt etwas dauern.
lieber einmal mehr als zu wenig. ;)
ich empfehle das einsteiger.doc.
Gibt es einen Grund warum fhem nicht per default Änderungen in der fhem.cfg speichert?
da ihr eine Studienarbeit macht, müßt ihr euch auch Gedanken uber das Loggen machen, es wird ja für jeden Aktor und jeden Kanal ein Log erstellt und befüllt.
mal abgesehen von der Größe der Logfiles schreibt ihr euch früher oder später die Sd karte kapput.
Zitatda ihr eine Studienarbeit macht, müßt ihr euch auch Gedanken uber das Loggen machen, es wird ja für jeden Aktor und jeden Kanal ein Log erstellt und befüllt.
mal abgesehen von der Größe der Logfiles schreibt ihr euch früher oder später die Sd karte kapput.
Danke für den Hinweis.
Die Studie wird nur etwa 8 Wochen dauern und wir nutzen recht hochwertige 8GB SanDisk Karten. Das sollte eigentlich unproblematisch sein.
Zitat von: HardwareW am 09 Dezember 2014, 14:25:46
Gibt es einen Grund warum fhem nicht per default Änderungen in der fhem.cfg speichert?
Naja, das dauerhafte Speichern einer neuen Konfiguration sollte schon immer ein bewusster Schritt sein. Gibt es einen Grund, dass andere Applikationen einen Speicherbutton haben?
Ich probiere schon manchmal was aus, und bin dann froh, wenn nach einem Restart alles wieder so ist, wie's sein soll.
ZitatAusserdem noch eine kleine Frage zum HMUSB: Ist es notwendig von Hand eine ID in fhem.cfg zu definieren oder ist es möglich einfach die feste hardware ID zu nutzen. Die Frage stelle ich, weil wir gerne ein Pi Image erzeugen würden indem fhem vorkonfiguriert ist. Alternativ müssten wir die id programmatisch zufällig beim ersten starten setzen
Hat jemand noch einen Tipp diesbezüglich oder sollte ich besser einen neuen Thread aufmachen?
Wir möchten ein Pi Image haben, bei dem FHEM und der HMUSB-CFG (neben einigem anderen) vorinstalliert ist. Bisher steht einfach fest im hem.cfg
define hmusb HMLAN 127.0.0.1:1234
attr hmusb hmId FAC111
Das ist aber vermutlich problematisch, wenn zwei Systeme in angrenzenden Wohnungen installiert werden, da sich das Pairing wohl auf die selbstgewählte hmId bezieht. Nun gibt es aber noch HMIdOriginal und ich frage mich, ob es denn überhaupt notwendig ist eine hmId zu wählen.
ZitatDas ist aber vermutlich problematisch, wenn zwei Systeme in angrenzenden Wohnungen installiert werden, da sich das Pairing wohl auf die selbstgewählte hmId bezieht.
genau.
ZitatNun gibt es aber noch HMIdOriginal und ich frage mich, ob es denn überhaupt notwendig ist eine hmId zu wählen.
die ist ab werk im stick implementiert. die kannst du natürlich auch,
über attr hmid, einer zentrale (fhem) zuweisen. manuell, nicht automatisch. da die windows-sw diese automatisch zum pairen nutzt, kann man bei gemeinsamer verwendung dieser hmid, mit beiden programmen die devices pairen und konfigurieren.
Ok, dann noch eine kleine Frage ;D
Kann ich in der fhem.cfg die hmId gleich der HMIdOriginal setzen, also auf die HMIdOriginal als Variable zugreifen?
Im Sinne von:
Zitatattr hmId HMIdOriginal