Temperatursensor DS18B20

Allgemeine Informationen zum Nachbau und zum Forum.
PV-Monitorung / PV Überwachung

Moderator: Ulrich

Scoolt
Beiträge: 29
Registriert: So 13. Mär 2022, 13:10
Wohnort: Steiermark
Hat sich bedankt: 7 Mal
Danksagung erhalten: 4 Mal

Temperatursensor DS18B20

Beitrag von Scoolt »

Hallo liebe Community,

Ich möchte meinen kleinen Elektroraum für die PV gerne mit ein paar Temperatursensoren ausstatten.
20220321_135118.jpg
Ich hab an sowas gedacht: https://www.amazon.de/gp/product/B07KNQ ... UTF8&psc=1

Und zwar möchte ich gerne einen im oberen bereich des Raumes, einen im unteren Bereich und jeweils einen in den Akkus anbringen.
Diese möchte ich mir natürlich in Grafana anzeigen lassen.

Soweit ich weiß, kann ich diese Sensoren direkt an die GPIOs des Raspberry hängen.
Weiter weiß ich jedoch nicht.

Nun:
Ist mein vorhaben sehr aufwendig im Bezug auf das Einbinden in die Software?
Würdet ihr mir andere Sensoren empfehlen?

Mit freundlichen Grüßen
Lukas
15kWp / FSP10K / 23kW LiFepo4 /Netzparallel + Überschusseinspeisung

Benutzeravatar
Ulrich
Administrator
Beiträge: 5503
Registriert: Sa 7. Nov 2015, 10:33
Wohnort: Essen
Hat sich bedankt: 152 Mal
Danksagung erhalten: 875 Mal
Kontaktdaten:

Re: Temperatursensor DS18B20

Beitrag von Ulrich »

Am einfachsten ist das mit einem Sonoff TH16. Wenn man etwas basteln kann, kann man mehrere Temperatursensoren mit einem TH16 betreiben. Da müsstest du einmal im Internet nach suchen. Der TH16 muss nur mit der Tasmota Firmware ausgestattet werden.
-----------------------------------------------------
Ulrich . . . . . . . . [Projekt Administrator]

andreas_n
Beiträge: 1313
Registriert: Do 25. Jun 2020, 13:40
Hat sich bedankt: 22 Mal
Danksagung erhalten: 82 Mal

Re: Temperatursensor DS18B20

Beitrag von andreas_n »

Moin,

kann hier alles nachgelesen werden

https://solaranzeige.de/phpBB3/viewtopi ... h16#p11952

Die Sensoren bekommste (relativ) günstiger im 5/10er Pack in ebay, nehm gleich die mit LANGEN Kabeln, spart dir hinterher das Gefrickel mit Verlängerungen etc.
SMA Tripower 8 / Growatt MIN 3000 TL-XE / ELWA DC WW 300L / Growatt SPH 4600 an 4 ARK LV , 20,5kWp / 10kWh

Scoolt
Beiträge: 29
Registriert: So 13. Mär 2022, 13:10
Wohnort: Steiermark
Hat sich bedankt: 7 Mal
Danksagung erhalten: 4 Mal

Re: Temperatursensor DS18B20

Beitrag von Scoolt »

Vielen Dank für eure Tipps!

Das mit den Sensoren schaut nicht so schwer aus. Wie wird der Sonoff TH16 in das system eingebunden?

LG
Lukas
15kWp / FSP10K / 23kW LiFepo4 /Netzparallel + Überschusseinspeisung

andreas_n
Beiträge: 1313
Registriert: Do 25. Jun 2020, 13:40
Hat sich bedankt: 22 Mal
Danksagung erhalten: 82 Mal

Re: Temperatursensor DS18B20

Beitrag von andreas_n »

Scoolt hat geschrieben:
So 27. Mär 2022, 18:43
Wie wird der Sonoff TH16 in das system eingebunden?
hi Lukas,
so wie jede andere "Regler" auch, also eigene x.user.config.php anlegen und das wars..ach ja, Influx auch anlegen, aber das sollte ja bekannt sein
gruss
SMA Tripower 8 / Growatt MIN 3000 TL-XE / ELWA DC WW 300L / Growatt SPH 4600 an 4 ARK LV , 20,5kWp / 10kWh

Scoolt
Beiträge: 29
Registriert: So 13. Mär 2022, 13:10
Wohnort: Steiermark
Hat sich bedankt: 7 Mal
Danksagung erhalten: 4 Mal

Re: Temperatursensor DS18B20

Beitrag von Scoolt »

Naja, das ist leicht gesagt :shock:
Ich hab bis jetzt nur das Image auf die SD geflasht, mit Wifi verbunden, und eine Zahl für meinen Regler gesetzt.
Das Dashboard verändert und das Sun and Moon plugin installiert :D

Das wars dann mit meinen Kenntnissen.

Greift die Solaranzeige dann per WIFI auf den Sonof zu? Oder ist eine Hardware Verbindung notwendig?
Gibs dazu eventuell eine Anleitung?

Mit freundlichen Grüßen
Lukas
15kWp / FSP10K / 23kW LiFepo4 /Netzparallel + Überschusseinspeisung

andreas_n
Beiträge: 1313
Registriert: Do 25. Jun 2020, 13:40
Hat sich bedankt: 22 Mal
Danksagung erhalten: 82 Mal

Re: Temperatursensor DS18B20

Beitrag von andreas_n »

Hi Lukas,

alles ganz easy :lol:
sonoff auf deinen pi konfigurieren
1.user.config.NEU aufrufen, diese konfigurieren, ist fast selbsterklärend wenn man sie durchliest, dann abspeichern unter zB 1.user.config.php
In den Pi einloggen,Kommando zeilenweise

influx
create database sonoffTH16
quit

dann grafana aufrufen
am zahnrädchen klicken
datenbank anwählen...hier influx
name vergeben,so wie sie unter influx benannt wurde
testen, wenn grün , alles ok
wenn dann mehrere DS18 dran hängen, müssen noch 2 files händisch abgeändert werden, geh mal in die suchfunktion und such danach,gibts schon faden dazu,samt Anleitung

ansonsten wärs einfacher, das per Teamviewer zu erledigen, bin aber diese woche im Stress..äh am Dach

keine Panik, kriegen wir hin
SMA Tripower 8 / Growatt MIN 3000 TL-XE / ELWA DC WW 300L / Growatt SPH 4600 an 4 ARK LV , 20,5kWp / 10kWh

Scoolt
Beiträge: 29
Registriert: So 13. Mär 2022, 13:10
Wohnort: Steiermark
Hat sich bedankt: 7 Mal
Danksagung erhalten: 4 Mal

Re: Temperatursensor DS18B20

Beitrag von Scoolt »

Hey Andreas,

Vielen Dank für die ausführliche Erklärung!
Ich werde mir mal so einen Sonoff und löte mir die 4 Temperaturfühler mal Parallel drauf wie in der Anleitung die schon verlinkt wurde.
Anschließend werd ich mal selbst versuchen und im Notfall werd ich mich bei dir melden wenn das okay ist ;)

Der sollte gehen da ich ja meine Sensoren selbst dazu löte oder?
https://www.hornbach.at/shop/Aufputz-St ... 2013446530

Mit freundlichen Grüßen
Lukas
15kWp / FSP10K / 23kW LiFepo4 /Netzparallel + Überschusseinspeisung

andreas_n
Beiträge: 1313
Registriert: Do 25. Jun 2020, 13:40
Hat sich bedankt: 22 Mal
Danksagung erhalten: 82 Mal

Re: Temperatursensor DS18B20

Beitrag von andreas_n »

im Prinzip geht der schon, aber der MUSS Tasmota geflasht sein.

Zwingend, sonst geht nix.

Entweder selber Tasmota flashen oder fertig geflashte kaufen (zB https://mediarath.de/).

Die ersten hatte ich noch fix und fertig gekauft, danach hab ich die bei Aliexpress geladen und dann selber geflasht (dazu muss nen 4polige Stiftleiste in den sonoff eingelötet werden)
SMA Tripower 8 / Growatt MIN 3000 TL-XE / ELWA DC WW 300L / Growatt SPH 4600 an 4 ARK LV , 20,5kWp / 10kWh

Scoolt
Beiträge: 29
Registriert: So 13. Mär 2022, 13:10
Wohnort: Steiermark
Hat sich bedankt: 7 Mal
Danksagung erhalten: 4 Mal

Re: Temperatursensor DS18B20

Beitrag von Scoolt »

Hey Leute,

Mich hat das Thema nicht in ruhe gelassen und da ich sowieso was dazulernen wollte hab ich mich mal dran versucht.
Und zwar lese ich die Onewire Sensoren (DS18B20) direkt am Pi über einen Digitalen Pin aus und schreib die Werte dann in eine eigene InfluxDB.

Code: Alles auswählen

from influxdb import InfluxDBClient
from datetime import datetime
import time
import pytz

#Zeitzone einstellen
set(pytz.all_timezones_set)
Zeitzone = pytz.timezone('Europe/Vienna')
datetime_Austria = datetime.now(Zeitzone)

#Setup database
client = InfluxDBClient('localhost', 8086, 'TempSensorPi')
client.create_database('TempSensorPi')
client.get_list_database()
client.switch_database('TempSensorPi')

#Sensoren Auslesen
def TemperaturS1():
    # 1-wire Slave Datei lesen
    file = open('/sys/bus/w1/devices/28-0121135c46ce/w1_slave')
    filecontent = file.read()
    file.close()

    # Temperaturwerte auslesen und konvertieren
    stringvalue = filecontent.split("\n")[1].split(" ")[9]
    temperature = float(stringvalue[2:]) / 1000

    # Temperatur ausgeben
    rueckgabewert = '%6.2f' % temperature
    return (rueckgabewert)

def TemperaturS2():
    # 1-wire Slave Datei lesen
    file = open('/sys/bus/w1/devices/28-06201809179e/w1_slave')
    filecontent = file.read()
    file.close()

    # Temperaturwerte auslesen und konvertieren
    stringvalue = filecontent.split("\n")[1].split(" ")[9]
    temperature = float(stringvalue[2:]) / 1000

    # Temperatur ausgeben
    rueckgabewert = '%6.2f' % temperature
    return (rueckgabewert)

def TemperaturS3():
    # 1-wire Slave Datei lesen
    file = open('/sys/bus/w1/devices/28-0121135d39aa/w1_slave')
    filecontent = file.read()
    file.close()

    # Temperaturwerte auslesen und konvertieren
    stringvalue = filecontent.split("\n")[1].split(" ")[9]
    temperature = float(stringvalue[2:]) / 1000

    # Temperatur ausgeben
    rueckgabewert = '%6.2f' % temperature
    return (rueckgabewert)

def TemperaturS4():
    # 1-wire Slave Datei lesen
    file = open('/sys/bus/w1/devices/28-0121130f2116/w1_slave')
    filecontent = file.read()
    file.close()

    # Temperaturwerte auslesen und konvertieren
    stringvalue = filecontent.split("\n")[1].split(" ")[9]
    temperature = float(stringvalue[2:]) / 1000

    # Temperatur ausgeben
    rueckgabewert = '%6.2f' % temperature
    return (rueckgabewert)

TempOben = TemperaturS1()
TempUnten = TemperaturS2()
AkkuOben = TemperaturS3()
AkkuUnten = TemperaturS4()

# Werte in Gleitkommer umwandeln
TempOben = float(TempOben)
TempUnten = float(TempUnten)
AkkuOben = float(AkkuOben)
AkkuUnten = float(AkkuUnten)

#Setup Daten
json_payload = []
data = {
    "measurement": "Temperatur",
    "tags": {
        "ticker": "Test"
        },
    "time": datetime_Austria,
    "fields": {
        'Oben': TempOben,
        'Unten': TempUnten,
        'Akku1': AkkuOben,
        'Akku2': AkkuUnten
    }
}
json_payload.append(data)

#An DB senden
client.write_points(json_payload)
Anschließend rufe ich das Python Script in der .math.php meines Wechselrichters auf.

Code: Alles auswählen

$command = escapeshellcmd('sudo python3 /var/www/html/TestTemp.py');
$output = shell_exec($command);
echo $output;
Screenshot (9).png
Da ich zuvor noch nie was mit Python und einem Raspberry zu tun hatte (bis auf Octoprint), hab ich so etwa 8h für alles gebraucht. :geek:
Dafür hab ich jede menge dazugelernt und verstehe nun viel mehr von der Solaranzeige. :idea:

Ich hab mir einen Sensor in jeweils einen Akku gehängt und jeweils einen Senor auf der Decke und einen am Boden.
20220403_190421.jpg
20220403_190452.jpg
Als nächstes möchte ich über diese Werte die Belüftung des Elektronikraums steuern. 8-)

Mit freundlichen Grüßen
Lukas
15kWp / FSP10K / 23kW LiFepo4 /Netzparallel + Überschusseinspeisung

Antworten

Zurück zu „Allgemeines“