Temperaturen mit DS18B20 und Darstellung in FHEM

Begonnen von mj2680, 02 Februar 2016, 05:00:00

Vorheriges Thema - Nächstes Thema

mj2680

Hallo,

wollte den Temperaturverlauf in einem Raum mit dem Raspberry und einen DS18B20 über 24 Stunden aufzeichnen.

Ich bekomme mit dem Raspberry den Sensor eingelesen und kann auch in der zugehörigen Datei die Temperatur sehen.

Frage:
Was ist die einfachste Möglichkeit diese Temperaturwerte in Fhem einzulesen?
Habe auch schon einiges dazu gefunden, bin mir aber nicht sicher was letztendlich die richtige Vorgehensweise ist?

Wie kann ich diese Werte für 24Stunden in Fhem darstellen?


Vielen Dank für eure Hilfe




Gesendet von iPhone mit Tapatalk

Sunny

FHEM 6.0 (RPi's 1b-4,CeleronM,Odroid C1+)
1-Wire (DS18B20,DS2406) |miniCUL|miniCUL868WLAN|HM|IT(-1500,LR-3500) |FB6591,FB7490,FB7580|DECT200|Powerline546E|520E|openwrt
Anfänger: Linux,FHEM+Perl

franky08

Die Frage wäre ja erst einmal ob fhem auf dem gleichen pi läuft an dem das 1wire device eingebunden ist oder ob das zwei pi's sind?

VG
Frank
Debian Wheezy auf ZBOX nano/ Debian Bullseye auf 2.ter ZBOX nano F2F an 2x RaspiB
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu ,fhem5.8, CCU2,
ECMD an AVR-NET-IO mit DAC u. ADC an Junkers Stetigregelung, Siemens LOGO!8, JeeLink uvm...

Muschelpuster

#3
Mhhh, Sunny hat genau die richtigen Grundlagen verlinkt, denn die meisten hier haben keine Glaskugel. Was bedeutet denn
Zitat von: mj2680 am 02 Februar 2016, 05:00:00Ich bekomme mit dem Raspberry den Sensor eingelesen und kann auch in der zugehörigen Datei die Temperatur sehen.
Läuft überhaupt schon FHEM auf dem Raspberry? Wie hast Du das 1-Wire jetzt angeschlossen? Und was läuft jetzt für Software, welche die Datei erzeugt? OWFS? Ich denke, beim 3. Link bist Du richtig!
Davon ausgehend, dass Du OWFS am Fliegen hast, wäre dieser Link noch interessant:
http://www.fhemwiki.de/wiki/OWServer_%26_OWDevice
Zitat von: mj2680 am 02 Februar 2016, 05:00:00Was ist die einfachste Möglichkeit diese Temperaturwerte in Fhem einzulesen?
Da gibt es viele Meinungen und das hängt von Deinen Vorarbeiten ab, aber für mich war es OWFS und das Modul OWDevice.
Zitat von: mj2680 am 02 Februar 2016, 05:00:00Wie kann ich diese Werte für 24Stunden in Fhem darstellen?
Sobald Du den Sensor hast, kannst Du ein FileLog drauf setzen (http://www.fhemwiki.de/wiki/FileLog). Aus diesem kannst Du dann einen Plot erzeugen. Dazu muss man nicht die kompletten Wiki-Einträge genießen, im FileLog gibt es den Link "Create SVG plot". Da kann man dann etwas mit experimentieren und bekommt ganz nette Ergebnisse.
Um die Log-Dateien nicht zu groß werden zu lassen (jede Änderung um 1/10.000 ° erzeugt einen Eintrag) empfiehlt es sich, die Messwerte zu runden:attr myDS18B20 userReadings Temperatur { int ( 10 * ReadingsVal("myDS18B20","temperature",0) + 0.5 ) / 10 }

Nun sagt man noch, dass nur bei Änderung des neuen Reading ein Event erzeugt werden soll und legt ein Intervall fest:attr myDS18B20 event-on-change-reading Temperatur
attr myDS18B20 event-min-interval Temperatur:1200


Das ganze könnte dann wie im Anhang gezeigt aussehen.

ergänzende Grüße
Niels

PS: Ich kann das 1-Wire-Modul von Sheepwalk-Electronics für den Raspberry nur empfehlen. Man muss zwar etwas darauf warten, aber es ist eine runde Sache und dabei noch recht preiswert.
fhem @ ZBOX mit 1,6MHz Celeron, 4GB RAM & 120GB SSD mit Debian Bullseye # MiLight # Homematic via CCU3 # W&T WebIO # Rademacher DuoFern # ESPeasy # logdb@mysql # configdb@mysql # Shelly @ MQTT2 # go-eCharger mit PV-Überschussladung via DOIF

mj2680

Vielen Dank für die Rückmeldungen. 

Wollte erst noch ein paar Fragen beantworten bevor ich anfange die Vielen Links zu untersuchen

Zu Franky08
Fhem läuft auf den gleichen Raspberry wo auch der Temperatursensor angeschlossen  ist.

Zu Muschelpuster:
Fhem läuft bereits auf dem Raspberry und ich habe auch schon Homematic Komponenten angeschlossen buw. steuere bereits die GPIO Ausgänge

1-Wire habe ich an GPIO4 (Pin7) angeschlossen.  Wenn ich auf den Raspberry gehe, bekomme ich bereits ein File wo ich die unterschiedlichen Temperaturen auslesen kann.

Mir gehts nun darum die Werte vom Raspberry in Fhem darzustellen.

Mit OWSF  habe ich bisher noch nichts gemacht,  nehme an das ist aber eine Software die die Temperaturen aus dem Raspberry holt und in Fhem darstellt.

Vielen Dank an alle für die Links.

Werde mich mal auf OWSF konzentrieren



Gesendet von meinem SM-G925F mit Tapatalk


Muschelpuster

Zitat von: mj2680 am 02 Februar 2016, 09:40:14Mit OWSF  habe ich bisher noch nichts gemacht,  nehme an das ist aber eine Software die die Temperaturen aus dem Raspberry holt und in Fhem darstellt.
Jein - es ist ein anderes Projekt, welches sich mit dem 1-Wire-Handling beschäftigt (http://www.owfs.org/). Es stellt quasi nur die Schnittstelle her, auf die FHEM dann zugreift.

externe Grüße
Niels
fhem @ ZBOX mit 1,6MHz Celeron, 4GB RAM & 120GB SSD mit Debian Bullseye # MiLight # Homematic via CCU3 # W&T WebIO # Rademacher DuoFern # ESPeasy # logdb@mysql # configdb@mysql # Shelly @ MQTT2 # go-eCharger mit PV-Überschussladung via DOIF

ernst1024

Hi, also bei mir ist das wie folgt in Fhem.cfg gelöst:

# RPi Gpio
define RPi GPIO4 BUSMASTER
attr RPi room system

define f_Aussen GPIO4 28-0415a4dbf5ff
attr f_Aussen group Temperatur-Sensoren

# Logfiles
define FileLog_Aussen FileLog ./log/myaf-%Y-%m.log f_Aussen
attr FileLog_Aussen logtype text


um jetzt nur das nötigste anzuzeigen. Atrr wie Room und Group etc kann man ja in Fhem erstellen. 
Gruß Ernst

mj2680

Danke für den Input. Nachdem ich bisher noch nicht direkt in Fhem.cfg reingeschrieben habe, sind das wahrscheinlich die entsprechenden Anweisungen.

(http://uploads.tapatalk-cdn.com/20160202/20450552110a899d912eebe25f99e862.jpg)

Vielen Dank


Gesendet von iPhone mit Tapatalk

Muschelpuster

Zitat von: ernst1024 am 02 Februar 2016, 12:45:00
define RPi GPIO4 BUSMASTER
In der Commandref steht:
Zitatdefine <name> RPI_GPIO <GPIO number>
Also müsste das wohl genauer lauten:define RPi RPI_GPIO 4 BUSMASTERDieser Weg ist natürlich für wenige Sensoren und kurze Leitungswege ok, allerdings ist zu beachten, dass 1Wire für 5V spezifiziert ist und hier nur mit 3,3V an der Toleranzgrenze läuft. Aber wenn man sowieso am GPIO hängt, dann ist das so sicher der beste Weg, weil am Einfachsten.

kleinliche Grüße
Niels
fhem @ ZBOX mit 1,6MHz Celeron, 4GB RAM & 120GB SSD mit Debian Bullseye # MiLight # Homematic via CCU3 # W&T WebIO # Rademacher DuoFern # ESPeasy # logdb@mysql # configdb@mysql # Shelly @ MQTT2 # go-eCharger mit PV-Überschussladung via DOIF

mj2680

Habe mal versucht die Definition in die Befehlszeile einzutragen

definiere RPi GPIO4 BUSMASTER
In die Befehlszeile einzutragen dann kommt die Meldung
"Unknown module "

Wenn ich aber einen Gpio Pin definiere verwende ich folgenden Befehl
Define BUSMASTER RPI_GPIO 4

Und dieser Befehl funktioniert.

Handelt es sich um die Definition eines GPIO Pins?



Gesendet von iPhone mit Tapatalk

Muschelpuster

Ich glaube, die etwas unklare Informationslage zu dem Thema hat mich neben den 3,3V bei meinem Start in die 1Wire-Welt etwas von diesem Weg abgehalten. Hier 2 dürftige Links:
http://fhem.de/commandref_DE.html#RPI_GPIO
http://www.fhemwiki.de/wiki/Raspberry_Pi:_GPIOs_schalten#Perl-Modul

uninformierte Grüße
Niels
fhem @ ZBOX mit 1,6MHz Celeron, 4GB RAM & 120GB SSD mit Debian Bullseye # MiLight # Homematic via CCU3 # W&T WebIO # Rademacher DuoFern # ESPeasy # logdb@mysql # configdb@mysql # Shelly @ MQTT2 # go-eCharger mit PV-Überschussladung via DOIF

Sunny

#11
Moin,

wenn Du meinen 3. Link gefolgt wärst, hättest Du dies gefunden:
Um den 1-Wire Bus in FHEM einzubinden, muss noch das Modul 58_GPIO4.pm aus dem Verzeichnis /opt/fhem/contrib in das Hauptverzeichnis /opt/fhem/FHEM/ kopiert werden und mit

Vielleicht hilft es Dir jetzt...  ;)

Viele Grüße
Sunny
FHEM 6.0 (RPi's 1b-4,CeleronM,Odroid C1+)
1-Wire (DS18B20,DS2406) |miniCUL|miniCUL868WLAN|HM|IT(-1500,LR-3500) |FB6591,FB7490,FB7580|DECT200|Powerline546E|520E|openwrt
Anfänger: Linux,FHEM+Perl

Muschelpuster

Oh sorry, dann war ich ja auf dem völlig falschen Trip.
Aber mit der (nicht) vorhandenen Doku ist das Modul ja auch ganz gut im contrib  aufgehoben.

fehlerhafte Grüße
Niels
fhem @ ZBOX mit 1,6MHz Celeron, 4GB RAM & 120GB SSD mit Debian Bullseye # MiLight # Homematic via CCU3 # W&T WebIO # Rademacher DuoFern # ESPeasy # logdb@mysql # configdb@mysql # Shelly @ MQTT2 # go-eCharger mit PV-Überschussladung via DOIF

Sunny

Moin Muschelpuster,

wie Du vielleicht gerade mitbekommen hast, war ich auch eben ein bisschen verwirrt.
Ist schon eine Weile her, das ich es getestet hatte.

Schöne Grüße
Sunny

PS: <OT an> Finde Deine Grüße ganz großes Kino.  8) <OT aus>
FHEM 6.0 (RPi's 1b-4,CeleronM,Odroid C1+)
1-Wire (DS18B20,DS2406) |miniCUL|miniCUL868WLAN|HM|IT(-1500,LR-3500) |FB6591,FB7490,FB7580|DECT200|Powerline546E|520E|openwrt
Anfänger: Linux,FHEM+Perl

ernst1024

#14
Zitat von: ernst1024 am 02 Februar 2016, 12:45:00
Hi, also bei mir ist das wie folgt in Fhem.cfg gelöst:

# RPi Gpio
define RPi GPIO4 BUSMASTER
attr RPi room system

define f_Aussen GPIO4 28-0415a4dbf5ff
attr f_Aussen group Temperatur-Sensoren

# Logfiles
define FileLog_Aussen FileLog ./log/myaf-%Y-%m.log f_Aussen
attr FileLog_Aussen logtype text


um jetzt nur das nötigste anzuzeigen. Atrr wie Room und Group etc kann man ja in Fhem erstellen.

vergessen:

in /boot/config.txt folgenden Eintrag hinzufügen

dtoverlay=w1-gpio

dies configuriert GPIO 4 zum 1-Wire Busmaster

man kann aber jeden anderen GPIO Pin nutzen indem man z.B

dtoverlay=w1-gpio,gpiopin=18

GPIO 18 zum 1-Wire Master macht.


Edit: ich habe Modul 58_GPIO4.pm  nicht kopiert, jedenfalls nicht bewusst. Es gab allerdings eine Änderung ab Raspian  Kernel 3.18.
Davor musste man 1-Wire mit "modprobe w1-gpio pullup=1" aktvieren. Aber das jetzt ohne Gewähr und aus der Erinnerung.

Gruß Ernst