Klimalogg mit HTTPD bei Minusgraden

Begonnen von privat58, 26 März 2015, 07:52:49

Vorheriges Thema - Nächstes Thema

privat58

Bisher läuft es ohne Probleme. Habe nur noch Probleme mit readingsGroup und valueStyle, da stimmt die Anpassung noch nicht. Ist im Moment aber leider keine Zeit dafür.
Vielen Dank auf jedem Fall für Deine Umsetzung.

Lion

Ich habe durch deine Anregung das bei mir so umgesetzt, habe sogar den ersten Batteriewechsel daraufhin durchgeführt, ist aber auch noch nicht final:



define Klimalogger readingsGroup <>,<Temperatur>,<Luftfeuchte>,<Batterie>,<Fehler>\
*KL:temperature,humidity,batteryStatus,failures
attr Klimalogger notime 1
attr Klimalogger room Heizung,Tab
attr Klimalogger sortDevices 1
attr Klimalogger valueFormat {'temperature' => "%.1f °C",'humidity' => "%.i %%"}
attr Klimalogger valueIcon {'batteryStatus.0'=>'batterie@lightgreen','batteryStatus.1'=>'batterie@red'}
attr Klimalogger valueStyle { if($READING eq "temperature" && $VALUE > 23){ 'style="color:red"' }\
elsif( $READING eq "temperature" && $VALUE <= 20 ){ 'style="color:blue"' }\
elsif( $READING eq "temperature" && $VALUE > 23 ){ 'style="color:orange;;;;font-weight:bold"' }\
elsif( $READING eq "temperature" && $VALUE > 20 ){ 'style="color:green"' }\
elsif( $READING eq "humidity" && $VALUE > 65 ){ 'style="color:red;;;;font-weight:bold"' }\
elsif( $READING eq "humidity" && $VALUE > 60 ){ 'style="color:orange"' }\
elsif( $READING eq "humidity" && $VALUE > 40 ){ 'style="color:green"' }\
else{ 'style="color:gray"' } }

Annitoka

Hallo zusammen,

auch wenn der thread schon älter ist, versuche ich es hier einmal...
Ich habe das Modul 99_KLW.pm hier in V3 benutzt, in das Verzeichnis /opt/fhem/FHEM kopiert, die beiden Befehle:
apt-get install libdbi-perl
apt-get install libdbd-sqlite3-perl
habe ich auch im Terminal mit sudo auf dem Raspberry ausgeführt.
Sobald ich jetzt in der FHEM Kommandozeile define EG_Wohnen_KL KLW KLIMALOGGPRO oder ähnliches eingebe, stürzt FHEM bei mir ab und ich muss es neu starten.
Ich habe weewx auf einem anderen Raspberry laufen und habe manuell die die SQLite Datenbank auf den Raspberry mit FHEM kopiert. Ich kann mir schwer vorstellen, dass es daran liegt, da ich den Absturz von FHEM ja schon beim reinen define-Befehl erhalte.
Habt Ihr eine Idee was ich falsch mache?

Danke schon mal im Voraus und viele Grüße aus Karlsruhe
Kai

P.S. update in FHEM ist auch gemacht
Fhem auf RasPi3 mit Homematic Funkmodul HM-MOD-RPI-PCB, USB-RFXTRX und Arduino als MySensor-Gateway

Lion

Evtl. ist sqlite3 an sich nicht installiert? Es gibt einen Parameter mit dem apt-get alle Abhängigkeiten prüft und auflöst. Ist aber grad zu spät das mir der sofort einfällt.

Und, oder Du lässt du mir deine "/opt/fhem/weewx/weewx.sdb" Datei zukommen, dann schaue ich ob alle Felder so vorhanden sind das sie ausgelesen werden können.

Eigentlich kannst du die Datenbank Datei nicht sinnvoll kopieren, solange weewx läuft. Bitte vorher weewx anhalten (sudo /etc/init.d/weewx stop).

Ich habe mehrere Raspis mit fhem, und schicke die Daten mit fhem2fhem hin und her. Somit landen 3 Sensorenwerte auch in einem fhem ohne weewx. Da der Stick eben nur an einem Raspi stecken kann.

Lion

Annitoka

Hallo Lion,

herzlichen Dank für deine schnelle Hilfe. Natürlich war deine erste Vermutung richtig und SQLite3 war nicht installiert.
Danke auch, dass du sogar bereit gewesen wäret dir die Mühe mit der Datenbank zu machen. Wirklich klasse Unterstützung :-)

Jetzt funktioniert alles super, nachdem SQLite3 läuft. So in ganz kleinen Schritten näher ich mich dem Verständnis von Fhem von Tag zu Tag ;-)

Besten Dank !!!
Viele Grüße
Kai
Fhem auf RasPi3 mit Homematic Funkmodul HM-MOD-RPI-PCB, USB-RFXTRX und Arduino als MySensor-Gateway

Annitoka

Zitat von: Lion am 01 April 2016, 20:10:39
[...]
@all: Kennt jemand ein Ampelmodul was sich da nutzen ließe? So ähnlich wie THRESHOLD. Nur eben 4 Stufen.  0-40% schwarz, 40-60% grün, 60-65% gelb, >65% rot. Es gibt noch weitere Faktoren die die Schwellwerte beeinflussen, das würde jetzt aber zu weit führen. [...]
Lion

Nochmal ich...
wegen des Ampelmodelsl:

Da ich in meiner alten Wohnung mal ein Schimmelproblem hatte, habe ich mir vor 3 Jahren den Klimalogg angeschafft und auch 8 Sensoren angeschlossen. Ich war dann froh als Luc mich als Test-User für Weewx aufnahm und ich endlich die Daten zumindest per Raspberry als Webpage darstellen konnte. In weewx habe ich mir dann eine Seite gebastelt, in der ich im Cheetah-Template per einfachen Python Rechenoperationen die absolute Luftfeuchte in den einzelnen Räumen nach der sog. Magnusformel mit dem Sättigungsdampfdruck berechne. Vereinfacht gesprochen vergleiche ich da die absolute Luftfeuchte aussen und in den einzelnen Räumen (im Detail noch etwas mehr), um dann mir eine "Lüftungsempfehlung" ausgeben zu lassen. Ähnlich wie in einer Ampel rot/gelb/grün und dann als Empfehlung "Fenster öffnen, schliessen, Heizen usw.)...
Da meine Programierkenntnisse leider im Wesentlichen nur aus Copy&Paste bestehen, ist die Programmierung im Template sicherlich mehr als umständlich und bestimmt auch nicht elegant gelöst. Aufgrund mangelnder Datenbankkenntnisse habe ich es auch nie geschafft, die Werte in die Datenbank einzupflegen, sondern sehe sie lediglich auf der Webseite (siehe Screenshot - Ausschnitt aus der Probe-Webpage, so wie ich sie zur Zeit zu Testzwecken laufen habe)...
Heute Abend dachte ich mir, eigentlich wären diese Berechnung perfekt für FHEM, da man dann z.B. einen Entfeuchter über eine Funksteckdose ein- bzw. ausschalten könnte, über Fenstersensoren Lüftungsempfehlungen ausgeben kann usw...

Nun meine Frage: Hättest Du Lion (oder auch jemand anders) Lust & Zeit das in FHEM zu implementieren (ich kriege das mit meinen mangelnden Kenntnissen leider nicht hin, unterstütze aber soweit ich kann gerne), ich würde dir dann die nächsten Tage die Quellen und die Formeln zusammenstellen und auch das Prinzip etwas ausführlicher erläutern.
Auf diesem Weg wäre dann sogar dein FHEM-Modul als Lüftungs- bzw. Schimmelwarmer möglich.

Ist nur ein Vorschlag, da ich weiss, dass solche Sachen immer Zeitfresser sind.

Viele Grüße aus Karlsruhe
Kai
Fhem auf RasPi3 mit Homematic Funkmodul HM-MOD-RPI-PCB, USB-RFXTRX und Arduino als MySensor-Gateway

Lion

Ja ich hatte vor fhem auch was besseres zum Lüften. https://www.google.de/#newwindow=1&q=grundidee+feuchtewarner+2014

Die Erfahrungswerte daraus sind in meine Schwellwerte eingegangen. Aber zufrieden bin ich damit nicht.

Von daher kann man sicher etwas vor berechnetes in den Readings mit ausgeben.

Es wären allerdings weitere Parameter "Außen Kanal" und d pro Kanal (um die 0,7) nötig in der Definition.

Zitat
Aus Feuchtwarner2014 Grundidee:

Frage: "Wie kann der Parameter d bestimmt werden?"
Ansatz: Suchen der kältesten Wandfläche und messen von Tw mit IR-Thermometer.
Dann folgt: d=(Tw -Ta)/(Ti-Ta )

Ich nehme da die Ecken der Fensterbretter.

Oder du hast eine einfachere Berechnungsmethode?

Lion

Annitoka

Ich hab mich im Prinzip auch an die Ausführungen im Link gehalten, nur nicht diese Software selbst benutzt.
Die Schwellenwerte sind in meinem Screenshot dann in die kritische Temp. überführt.
ZitatEs wären allerdings weitere Parameter "Außen Kanal" und d pro Kanal (um die 0,7) nötig in der Definition
Da wäre wohl noch ne ganze Menge mehr nötig, da der Klimalogg die absolute Luftfeuchtigkeit nicht angibt, un man diese mit einer Näherungsformel für die Wasserdampfsättigungskurve ausrechnen müsste, zusätzlich müsste der Luftdruck entweder per weiterem Sensor oder als "Fixiert mit 1023mbar" definiert werden.
D.h. die Nachbildung von so etwas wie Feuchtewarner 2014 in FHEM wäre wohl sehr aufwändig, da auch Vergleichsabfragen hinzukommen.

Zitat
Ich nehme da die Ecken der Fensterbretter.

Oder du hast eine einfachere Berechnungsmethode?
Ich nehme meine kälteste Stelle im Raum, meistens sind das auch bei mir die Fensterlaibungen. Die Fensterbretter selbst nehme ich nicht, da die bei mir aus Stein sind und die Schimmelwahrscheinlichkeit hier geringer als an der Tapete ist.

Die Berechnung geht aber m.E. nicht einfacher, für diese "Schwellenwerte". Der Einfachheit halber habe ich für alle Räume 0,8 angesetzt. (Die Messung war fast überall in dieser Größenordnung)

Viele Grüße und Danke
Kai
Fhem auf RasPi3 mit Homematic Funkmodul HM-MOD-RPI-PCB, USB-RFXTRX und Arduino als MySensor-Gateway

Syrex-o

Hey Leute,

Ich hab mir gedacht das Problem nicht umgehen zu wollen und die datenbank von einem anderen Pi abzufragen.
Leider Scheiter ich irgendwo. Theoretisch müsste die .pm welche die datenbank abfragt doch so aussehen: sub KLW_Get($) {
my ($hash) = @_;
my $driver   = "SQLite";
my $host = "http://192.168.178.48";
my $port = "22";
my $database = "/var/lib/weewx/weewx-kl.sdb";
my $dsn = "DBI:$driver:dbname=$database";
my $userid = "";
my $password = "";
my $dbh = DBI->connect("DBI:$driver:database=$database:host=$host:port=$port", $userid, $password { RaiseError => 1 }) or die $DBI::errstr;

oder?
also ich bekomme bei mir als Fehlermeldung, dass das Modul nicht geladen werden kann

Syrex-o

So, bin nochmal über das Modul gegangen und habe etwas geändert. Leider bekomme ich immer noch einen crash sobald ich etwas definiere.
Ich hab alle zusätzlichen libs und lasse zur Einfachheit die weewx-kl.sdb mit auf den apache server schreiben um keine Rechte Probleme zu haben.
Das Plugin würde ich dann eventuell auch gerne generalisieren. Dafür müsste es aber erstmal von Fhem übernommen werden.
Es sieht jetzt so aus, dass die Daten auf einem anderen Pi liegen und ich sie abgreife. sub KLW_Get($) {
my ($hash) = @_;
my $driver   = "SQLite";
my $host = "192.168.178.48";
my $database = "/var/www/html/weewx/kl/weewx-kl.sdb";
my $dsn = "DBI:$driver:database=$database;host=$host";
my $user = "pi";
my $password = "raspberry";
my $dbh = DBI->connect($dsn, $user, $password, { RaiseError => 1 }) or die $DBI::errstr;

Leider crasht Fhem sofort wenn ich dann versuche den Klimalogg zu definieren.
Jemand eine Idee?
grüße

Lion

Es gibt Log-Dateien, in die kannst du in dem Fall nur lokal reinschauen.

sudo tail -f /var/log/syslog
sudo tail -f /opt/fhem/log/fhem-2016-11.log

evtl. hilft das weiter, du kannst ggf. auch gerne etwas davon hier posten.

Die sqlite3 weewx-kl.sdb hat eigentlich normal kein Password und user nötig.

Lion

Syrex-o

Das interessante ist ja, dass nichts ins log geschrieben wird und fhem abschmiert.
Mir gehen langsam die ideen aus woran es noch liegen könnte.
Hab es auch ohne Passwort und auch schon über sftp Verbindung versucht. Immer das selbe Resultat.
Noch eine Idee?

Lion

Ich denke es geht nur lokal, remote wirst du nicht an sqlite3 rankommen. Nutze doch fhem2fhem für den Datenaustausch.

Syrex-o

Danke für den Tipp. Werde es mal versuchen und poste dann eine Lösung hier.

Syrex-o

Habe mich umentschieden und benutze jetzt einfach httpmod und greife auf den anderen pi zu.
simpler Tipp: einfach die fhem.txt in den var/www/html/weewx/kl/ ordner schreiben lassen.
Setze mich aber Vielleicht nochmal an das Plugin um es einheitlich zu machen falls Interesse besteht??
Grüße