1...8fach Temperatursensor DS18B20
Moderator: Co-Administratoren
-
- Beiträge: 71
- Registriert: 30.07.2016, 18:47
-
- Beiträge: 71
- Registriert: 30.07.2016, 18:47
Re: 1...8fach Temperatursensor DS18B20
Morgen,
habe alles so weit verstanden und getestet,vielen Dank an die Macher!.
Ich hatte aber ein Problem mit dem LCD am Anfang,und zwar hier im Code:
Hier:
Und hier:
So funktionierte bei mir nicht,aber damit:
Und damit:
Liegt vermutlich an einer anderen I2C Lib von mir.
Vielleicht hilft es auch jemandem der die gleichen Probleme hat.
habe alles so weit verstanden und getestet,vielen Dank an die Macher!.
Ich hatte aber ein Problem mit dem LCD am Anfang,und zwar hier im Code:
Hier:
Code: Alles auswählen
#ifdef USE_LCD
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(LCD_ADDRESS, 20, 4);
#endif
Code: Alles auswählen
#ifdef USE_LCD
lcd.init();
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print("UNI-Sen-TEMP-DS18B20");
lcd.setCursor(5, 1);
lcd.print((char*)serial);
HMID temp;
sdev.getDeviceID(temp);
lcd.setCursor(7, 2);
lcd.print(temp, HEX);
#endif
Code: Alles auswählen
#ifdef USE_LCD
#include <Wire.h>
#include <LCD.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
#endif
Code: Alles auswählen
#ifdef USE_LCD
lcd.begin(20, 4);
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print("UNI-Sen-TEMP-DS18B20");
lcd.setCursor(5, 1);
lcd.print((char*)serial);
HMID temp;
sdev.getDeviceID(temp);
lcd.setCursor(7, 2);
lcd.print(temp, HEX);
#endif
Vielleicht hilft es auch jemandem der die gleichen Probleme hat.
Re: 1...8fach Temperatursensor DS18B20
Hi,
bei der festen Zuordnung der Sensoren kann man zwei Wege gehen:
- man liest die eingebrannten uniq serials des DS18X20 aus und schreibt sie manuell in den Sketch rein
- man beschreibt vorher in einem extra Schritt manuel die "userdata" Bits mit einem individuellen Wert (z.B. lfd Nummer) und liest den in erweitertem Sketch aus und sortiert den Sensor an seinem Index in das gesendete Ergebnis ein.
Das erste Verfahren geht gut, wenn man zum Austausch gut an das Modul kommt, da der neue, an das Ersatz-DS18x20 angepasste Sketch noch neu geflasht werden muss. Entsprechend schlecht, wenn Modul nicht/schlecht erreichbar (Dach, wasserdicht verklebt ...). Das könnte man auch noch durch OTA-Flash und geänderte Firmwareversion lösen.
Das zweite Verfahren bedeutet, dass man den neuen Sensor z.B. mit der lfd Nummer in der Senosorkette beschreiben muss: also wenn Sensor "3" ausfällt wird der Sensor vor Tausch ebenfalls mit "3" beschrieben (siehe Beispiele für userdata in den Dallas-Libs) und nur der Sensor wird getauscht. Der Sketch wird nicht angefasst, das Modul läuft einfach weiter.
Jeder wähle also das für den eigenen Zweck passende Verfahren.
cu
Harvey
PS: Verfahren zwei habe ich vor langer Zeit mal gemacht, ist aber viel Umbau, da die Ds18x20.h nicht mehr passt. Und man muss einen Aufbau haben zum Flashen der userdata Bits. Wäre vielleicht eine Überlegung wert, die serial und die userdata immer in ein array mit einzulesen ...
bei der festen Zuordnung der Sensoren kann man zwei Wege gehen:
- man liest die eingebrannten uniq serials des DS18X20 aus und schreibt sie manuell in den Sketch rein
- man beschreibt vorher in einem extra Schritt manuel die "userdata" Bits mit einem individuellen Wert (z.B. lfd Nummer) und liest den in erweitertem Sketch aus und sortiert den Sensor an seinem Index in das gesendete Ergebnis ein.
Das erste Verfahren geht gut, wenn man zum Austausch gut an das Modul kommt, da der neue, an das Ersatz-DS18x20 angepasste Sketch noch neu geflasht werden muss. Entsprechend schlecht, wenn Modul nicht/schlecht erreichbar (Dach, wasserdicht verklebt ...). Das könnte man auch noch durch OTA-Flash und geänderte Firmwareversion lösen.
Das zweite Verfahren bedeutet, dass man den neuen Sensor z.B. mit der lfd Nummer in der Senosorkette beschreiben muss: also wenn Sensor "3" ausfällt wird der Sensor vor Tausch ebenfalls mit "3" beschrieben (siehe Beispiele für userdata in den Dallas-Libs) und nur der Sensor wird getauscht. Der Sketch wird nicht angefasst, das Modul läuft einfach weiter.
Jeder wähle also das für den eigenen Zweck passende Verfahren.
cu
Harvey
PS: Verfahren zwei habe ich vor langer Zeit mal gemacht, ist aber viel Umbau, da die Ds18x20.h nicht mehr passt. Und man muss einen Aufbau haben zum Flashen der userdata Bits. Wäre vielleicht eine Überlegung wert, die serial und die userdata immer in ein array mit einzulesen ...
Homematic raspberrymatic, iobroker, Asksinpp und Arduinos - rund 50 Geräte
-
- Beiträge: 12149
- Registriert: 20.11.2016, 20:01
- Hat sich bedankt: 854 Mal
- Danksagung erhalten: 2157 Mal
- Kontaktdaten:
Re: 1...8fach Temperatursensor DS18B20
Ich hätte es auch irgendwie lieber User-freundlicher.
Du beschreibst hier 2 Wege, dann gibt es noch den Ur-Sketch von mir ohne jegliche Zuordnung.
Allesamt sind untereinander mehr oder weniger inkompatibel. Zumindest ist es nicht mit ein paar #defines mal eben abgetan.
Es wäre wohl am sinnvollsten, dass ich meine Ur-Variante in meinem Repository so belasse und wolwin und du (harvey) ladet eure Varianten in euer eigenes Repo (die Sketche können wir dann auch auf asksinpp.de verlinken, bzw. wir können gegenseitig auf die anderen Varianten hinweisen)?
Ich weiß, ihr habt euch damit tief auseinandergesetzt und viel Zeit darin investiert.
Das Problem für mich ist, dass ich die komplexen Änderungen nicht supporten kann.
Du beschreibst hier 2 Wege, dann gibt es noch den Ur-Sketch von mir ohne jegliche Zuordnung.
Allesamt sind untereinander mehr oder weniger inkompatibel. Zumindest ist es nicht mit ein paar #defines mal eben abgetan.
Es wäre wohl am sinnvollsten, dass ich meine Ur-Variante in meinem Repository so belasse und wolwin und du (harvey) ladet eure Varianten in euer eigenes Repo (die Sketche können wir dann auch auf asksinpp.de verlinken, bzw. wir können gegenseitig auf die anderen Varianten hinweisen)?
Ich weiß, ihr habt euch damit tief auseinandergesetzt und viel Zeit darin investiert.
Das Problem für mich ist, dass ich die komplexen Änderungen nicht supporten kann.
-
- Beiträge: 273
- Registriert: 06.06.2018, 12:27
- Hat sich bedankt: 11 Mal
- Danksagung erhalten: 47 Mal
Re: 1...8fach Temperatursensor DS18B20
Hi,
haben wir ja schon mal an anderer Stelle diskutiert …
Finde ich eigentlich nicht so toll: drei Versionen an drei Stellen … außer uns drei versteht dann keiner den Unterschied …
@Alle
Eigentlich hatte ich die Arbeit in den Original-Code SO investiert, dass der ursprüngliche Code quasi 'gleich geblieben' ist - lediglich die Konfiguration ist in eine Definitionsdatei ausgelagert worden - wie harvey beschrieben hat, ist deshalb die Original-Version bzw. meine Erweiterung zum Original nur für einen lokalen Einsatzzweck gedacht (man kommt einfach an die Schaltung heran … ) - wenn ein Sensor ausfällt, steht ein 'Neuaufspielen' an …
Wollte man alles frei indizieren, bleibt in der Tat nur die vorgestellte zweite Lösung - wäre nett, aber dann würde ich persönlich den Code 'komplett' umstellen - ganz zu schweigen von dem Aufwand …
Daher wäre mein Vorschlag das Repo wie folgt umzugestalten:
1. Urversion umbenennen und so belassen (v1)
2. meine Github Änderungen in den Code übernehmen = v2 ... (der User controller2016 hat den Code ja schon erfolgreich benutzt)
3. Hinweis mit Erläuterung und Verlinkung auf den Code von harvey (oder ebenfalls im Repo als unsuporteter Code abgelegt und gekennzeichnet als v3)
VG
Wolfram
haben wir ja schon mal an anderer Stelle diskutiert …
@Jérômejp112sdl hat geschrieben: ↑05.01.2020, 13:22IEs wäre wohl am sinnvollsten, dass ich meine Ur-Variante in meinem Repository so belasse und wolwin und du (harvey) ladet eure Varianten in euer eigenes Repo (die Sketche können wir dann auch auf asksinpp.de verlinken, bzw. wir können gegenseitig auf die anderen Varianten hinweisen)?
Finde ich eigentlich nicht so toll: drei Versionen an drei Stellen … außer uns drei versteht dann keiner den Unterschied …
@Alle
Eigentlich hatte ich die Arbeit in den Original-Code SO investiert, dass der ursprüngliche Code quasi 'gleich geblieben' ist - lediglich die Konfiguration ist in eine Definitionsdatei ausgelagert worden - wie harvey beschrieben hat, ist deshalb die Original-Version bzw. meine Erweiterung zum Original nur für einen lokalen Einsatzzweck gedacht (man kommt einfach an die Schaltung heran … ) - wenn ein Sensor ausfällt, steht ein 'Neuaufspielen' an …
Wollte man alles frei indizieren, bleibt in der Tat nur die vorgestellte zweite Lösung - wäre nett, aber dann würde ich persönlich den Code 'komplett' umstellen - ganz zu schweigen von dem Aufwand …
Daher wäre mein Vorschlag das Repo wie folgt umzugestalten:
1. Urversion umbenennen und so belassen (v1)
2. meine Github Änderungen in den Code übernehmen = v2 ... (der User controller2016 hat den Code ja schon erfolgreich benutzt)
3. Hinweis mit Erläuterung und Verlinkung auf den Code von harvey (oder ebenfalls im Repo als unsuporteter Code abgelegt und gekennzeichnet als v3)
VG
Wolfram
-
- Beiträge: 273
- Registriert: 06.06.2018, 12:27
- Hat sich bedankt: 11 Mal
- Danksagung erhalten: 47 Mal
Re: 1...8fach Temperatursensor DS18B20
Hallo zusammen,jp112sdl hat geschrieben: ↑05.01.2020, 13:22Es wäre wohl am sinnvollsten, dass ich meine Ur-Variante in meinem Repository so belasse und wolwin und du (harvey) ladet eure Varianten in euer eigenes Repo (die Sketche können wir dann auch auf asksinpp.de verlinken, bzw. wir können gegenseitig auf die anderen Varianten hinweisen)?
habe jetzt die Änderungen / Erweiterung der Ur-Variante bei mir abgelegt:
https://github.com/wolwin/WW-mySHP/blob ... /README.md
Gruss
Wolfram
-
- Beiträge: 55
- Registriert: 03.07.2019, 23:02
- Hat sich bedankt: 20 Mal
Re: 1...8fach Temperatursensor DS18B20
Hallo zusammen,
ich habe eine Frage, gibt es schon ein Script wie ich die Daten der Temperatursensor mit Telegramm versenden kann?
Ich krieg das selber nicht hin.
Mit freundlichen Grüßen
Jürgen
ich habe eine Frage, gibt es schon ein Script wie ich die Daten der Temperatursensor mit Telegramm versenden kann?
Ich krieg das selber nicht hin.
Mit freundlichen Grüßen
Jürgen
-
- Beiträge: 12149
- Registriert: 20.11.2016, 20:01
- Hat sich bedankt: 854 Mal
- Danksagung erhalten: 2157 Mal
- Kontaktdaten:
Re: 1...8fach Temperatursensor DS18B20
Hi,
Telegram-Skripte gibts hier im Forum einige.
Du brauchst sie dir nur anpassen.
Der HB-UNI-Sen-TEMP-DS18B20 hat je Kanal einen TEMPERATURE Datenpunkt.
Telegram-Skripte gibts hier im Forum einige.
Du brauchst sie dir nur anpassen.
Der HB-UNI-Sen-TEMP-DS18B20 hat je Kanal einen TEMPERATURE Datenpunkt.
-
- Beiträge: 55
- Registriert: 03.07.2019, 23:02
- Hat sich bedankt: 20 Mal
Re: 1...8fach Temperatursensor DS18B20
Hi,
vielen dank für die Antwort.
ich hab zwar ein Script was funktioniert, aber anpassen kriege ich nicht hin, da brauche ich Hilfe.
Das ist ein Script der bei mir läuft.
string stderr;
string stdout;
string url="\"https://api.telegram.org/bot1234:123456 ... chmaschine ist fertig\"";
system.Exec("wget --no-check-certificate -q -O - "#url, &stdout, &stderr);
Das sind ein Screenshot meines Temperatursensor:
Wie bekomme ich die Werte in Telegramm?
Wer kann mir da helfen
Gruß
Jürgen
vielen dank für die Antwort.
ich hab zwar ein Script was funktioniert, aber anpassen kriege ich nicht hin, da brauche ich Hilfe.
Das ist ein Script der bei mir läuft.
string stderr;
string stdout;
string url="\"https://api.telegram.org/bot1234:123456 ... chmaschine ist fertig\"";
system.Exec("wget --no-check-certificate -q -O - "#url, &stdout, &stderr);
Das sind ein Screenshot meines Temperatursensor:
Wie bekomme ich die Werte in Telegramm?
Wer kann mir da helfen
Gruß
Jürgen
-
- Beiträge: 2427
- Registriert: 19.09.2012, 10:53
- System: CCU
- Wohnort: Jottweedee
- Hat sich bedankt: 255 Mal
- Danksagung erhalten: 366 Mal
Re: 1...8fach Temperatursensor DS18B20
@Jürgen
Ich melde mich mal im Hinblick auf die "Forenhygiene" und würde in diesem Sinne vorschlagen, dass du dich bzgl. deines Telegram-Skript-Problems an einen der vielen Threads zu dem Thema dranhängst oder einen neuen unter "Homematic Allgemein" aufmachst. Das hat ja nicht spezifisch etwas mit dem AskSinPP Temperatursensor zu tun, sondern ist allgemeiner Natur. Dieser Thread hier ist mit 26 Seiten wirklich schon lang und unübersichtlich genug.
Bzgl. des zu verarbeitenden Datenpunktes hat Jerome dir ja schon die notwendige Info geliefert:
Ich melde mich mal im Hinblick auf die "Forenhygiene" und würde in diesem Sinne vorschlagen, dass du dich bzgl. deines Telegram-Skript-Problems an einen der vielen Threads zu dem Thema dranhängst oder einen neuen unter "Homematic Allgemein" aufmachst. Das hat ja nicht spezifisch etwas mit dem AskSinPP Temperatursensor zu tun, sondern ist allgemeiner Natur. Dieser Thread hier ist mit 26 Seiten wirklich schon lang und unübersichtlich genug.
Bzgl. des zu verarbeitenden Datenpunktes hat Jerome dir ja schon die notwendige Info geliefert:
Der HB-UNI-Sen-TEMP-DS18B20 hat je Kanal einen TEMPERATURE Datenpunkt.
Es kann leider nicht ganz ausgeschlossen werden, dass ich mich irre.
HmIP muss leider draussen bleiben. in Ausnahmefällen erlaubt
ACHTUNG! Per Portweiterleitung aus dem Internet erreichbare CCU-WebUI ist unsicher! AUCH MIT PASSWORTSCHUTZ! Daher: Portweiterleitung deaktivieren!
HmIP muss leider draussen bleiben. in Ausnahmefällen erlaubt
ACHTUNG! Per Portweiterleitung aus dem Internet erreichbare CCU-WebUI ist unsicher! AUCH MIT PASSWORTSCHUTZ! Daher: Portweiterleitung deaktivieren!