Basic DS18B20

  • Hallo zusammen,

    ich bräuchte einmal Eure Hilfe !

    Ich habe einen geflashten Sonoff Basic mit einem Thermosensor DS18B20 ausgestattet. Soweit so gut der Sensor ist auf dem GPIO14 aktiviert und gibt Werte raus. Diese sehe ich sowohl in der Konsole als auch auf der Weboberfläche von Tasmota. Nun meine erste Frage der Anzeigeintervall liegt bei der Konsole automatisiert bei 5 Minuten, d.h nach 5 Minuten wird per Mqtt der aktuelle Wert ausgegeben. Wie kann ich den Wert auf eine Minute ändern ??? Ich glaube irgendwo gelesen zu haben das der Wert in der Tasmota Firmware angelegt ist. welchen Konsolenbefehl kann ich nutzen um Ihn zu ändern.

    Meine zweite Frage geht in Richtung Mqtt, ich nutze die Schalter alle in Openhab mit Mqtt. Wie bekomme ich die Daten des Sensors auf mein OH-System ??

    Mit einem Json String kommt bei OH2 eine Fehlermeldung, das er ihn nicht verarbeiten kann, über einfache State-Abfrage kommt kein Wert.

    Wer hat eine Idee und kann helfen !!

    Vielen lieben Dank

    Madmike

    • Offizieller Beitrag

    Hallo Madmike,

    vielen Dank für dein Beitrag. Falls du Hilfe zu Produkten suchst, die du bei uns (CREATIONX) erworben hast, dann kannst du jederzeit die Hilfe-Seite auf unserer Seite aufrufen.

    Ich bin mir aber sicher, dass dir hier unsere fähigen Community-Mitglieder helfen werden ;)

    P.S. besuche auch unseren YouTube-Kanal mit vielen hilfreichen Videos von uns ...

    Vielen Dank!

    (Dieser Beitrag wurde automatisch erstellt.)

  • Hallo Chaot,

    wieder mal vielen Dank für Deine schnelle Antwort. Weisst du zufällig den Konsolenbefehl da ich den Basic verbaut habe wäre es echt übel ihn auszubauen um Ihn zu nochmals flashen.

    und hast Du einen Tipp für die Mqtt-Einstellungen zur Abfrage ??

    mfg

    Micha

  • Musst du nicht über die Konsole. Das ist in den Einstellungen wie beschrieben.

    Einfach auf die Weboberfläche:

    Menue - Einstelungen

    Menue - Logging

    und dort den Wert ändern.

    In der Konsole müsste das über "TelePeriod" funktionieren. Dann aber in Sekunden.

    MQTT Einstellungen muss ich leider passen. Ich kenne den OpenHab nur von einer kurzen Testinstallation. Das war mir dann zu blöd und ich bin etwas später auf den ioBroker umgestiegen.

    Vielleicht hilft dir das hier weiter:

    https://github.com/arendst/Sonoff-Tasmota/wiki/openHAB

  • So ich glaube die Luft hat mein Hirn vernebelt ;-))

    Du meinst unter Einstellungen - Logging - Telemetrieperiode und dann 60 für 60 Sekunden ?

    Dann wäre das gelöst.

    Nur der MQTT Befehl ist mir schleierhaft ?

    Mfg

    Micha

  • Danke für den Link, im Grunde läuft OH2 super bei mir und mqtt ist eine Befehlsstruktur zum einbinden von Befehlen auf Quasi Maschinensprache. Gerade die Sonoffs lassen sich super einbinden. Die Schalter laufen super sowohl unter OH2 als auch unter Alexa.

    Wie bei allen Sprachen gibt es einen Syntax und ich bin irgendwie noch nicht dahinter gestiegen wie ich dann die Sensoren abfragen kann. Der IOBroker ist im Grunde nichts anderes.

    Nunja mal sehen vielleicht habe ich ja noch mal eine Eingebung.

    Auf jeden Fall vielen Dank du hast mir schon mal in einer Hinsicht geholfen und da freue ich mich ;-))

    mfg

    Micha

  • Wie bei allen Sprachen gibt es einen Syntax und ich bin irgendwie noch nicht dahinter gestiegen wie ich dann die Sensoren abfragen kann. Der IOBroker ist im Grunde nichts anderes.

    Beim ioBroker braucht man sich halt überhaupt nicht um irgendeine Syntax oder das einlesen von Werten kümmern. Bei der ersten MQTT-Verbindung, wird sofort ein Ordner mit Datenpunkten aller Werte die in Stat und Sensor übermittelt werden, angelegt. Und danach über Teleperiod aktualisiert.

    Diese Werte kann man dann in allen Adaptern verwenden wie man will ...

    Das war der Grund warum ich bei ioBroker gelandet bin ;)

  • Hallo Einstein,

    danke für Deine Aufklärung. Finde ich auch ok.

    Aber bitte nicht falsch verstehen, ich werde kein neues System intrigieren, wegen eines Sensorbefehls.

    Irgendwann und wer kennt diese Problematik und kennt den Syntax zur Wertmitteilung, ansonsten heisst es forschen bis der Arzt kommt ;-))

    Ich bin begeistert von OH2 und habe die besten Erfahrungen gemacht.

    Danke auch Dir für Deine Info !!

  • Hallo NoitaercX,

    danke für Deine Idee, du findest zwei Version dazu bei der einen ist der JsonPath das Mittel zum Zweck, hier kommt bei mir eine Fehlermeldung in den Logs, das das Protocol nicht unterstützt wird. Zweite Version versucht es über die Telemetriedaten, die kommen zwar bis zu Mqtt-server aber leider nicht weiter. Ich schau mal ob ich die Befehle finde und vielleicht kommt man da weiter. Erstmal Euch allen lieben Dank für die Unterstützung

    mfg

    Micha

  • Code
    Number Temperature_Vaerksted "Temperatur værksted [%.1f °C]" <temperature> { mqtt="<[mybroker:/openhab/Sonoffth1/Temperature:state:default]" }
    Code
    String Sonoff_Temp "Temperatur [%.1f]" <icons8_temperatur> { mqtt="<[mosquitto:tele/huehnerstall/SENSOR:state:JSONPATH($.DS18x20.DS1.Temperature]"}

    Das sind die beiden Befehlszeilen die ich angepasst habe, auf meine Bedingungen beide liefern kein Ergebnis.

    Im ersten Fall sagt der Log das der Wert Null sei, obwohl er es nicht ist, im zweiten Log wird dann gesagt das Json nicht unterstützt wird

    Das ist nun mein Problem an dem ich knabbere !

    LG

    Micha

  • Hallo Madmike,

    Ist das der richtige MQTT pfad: /openhab/Sonoffth1/Temperature

    Dann lass mal den ersten slash bitte weg, und probiere damit: openhab/Sonoffth1/Temperature

    Wenn das nicht klappt, solltest du überprüfen, ob du den richtigen Befehlspfad verwendest.

    Hilfreich ist es auch einen MQTT-Client auf dem PC, oder Handy zu installieren, welcher die gesendeten Daten anzeigt, um den gesendeten Befehl im Klartext zu sehen.

    Ich benutze auf meinem iPhone "MQTTool",

    und auf meinem Rechner nutze ich "MQTTfx"

    So habe ich immer die Möglichkeit die MQTT daten zu sehen.

    Edit:

    Desweiteren ist mir aufgefallen, das du den MQTT-Broker mit verschiedenen Namen verwendest. das bitte auch mal checken.

    Ich lebe und arbeite in Shanghai (PR China)

    Einmal editiert, zuletzt von Claus_S (9. August 2018 um 12:20)

  • Hallo Claus,

    danke für Deine Antwort und Deine Ideen. Du hast völlig Recht das sind nicht meine genauen Werte. Ich Versuche mal die entsprechenden Einträge zu kopieren und sende sie dann. Brauche ein paar Minuten war ein turbulenter Tag. Zunächst erstmal benutze ich auf dem Rechner auch MQTTFX.


    oben im Blid siehst Du was Tasmota raus wirft und dieser Wert ändert sich Kontinuirlich.

    Darunter siehst du den MQTT Konsolen Auswurf des Tasmota in meinem Falle TestSystem.

    Code
    Switch TestSystem         "TestSystem"             <switch>       ["Switchable"]  {mqtt=">[OH2mqtt:cmnd/TestSystem/POWER:command:*:default], <[OH2mqtt:stat/TestSystem/POWER:state:default]"}
    Number TestTemperatur     "Temperatur [%.1f °C]"   <temperature>                  {mqtt="<[OH2mqtt:tele/TestSystem/SENSOR:state:JSONPATH($.DS18B20.Temperature)]"}

    Das ist der Item-Eintrag Der Schalter funktioniert die Temperatur wird nicht angezeigt.

    Das ist die Fehlermeldung bei OH2:

    Code
    2018-08-09 20:39:01.298 [WARN ] [.core.transform.TransformationHelper] - Cannot get service reference for transformation service of type JSONPATH
    
    2018-08-09 20:39:01.306 [WARN ] [b.core.events.EventPublisherDelegate] - given new state is NULL, couldn't post update for 'TestTemperatur'

    Ich werde noch einen anderen Item Eintrag versuchen bis gleich

    mfg

    Micha

  • Hallo Chaot,

    Dein Tipp mit der Einstellung der Telemetrieperiode war ein Volltreffer die Daten sind nun im Minutentakt da.

    Vielen lieben dank für den Tipp.

    Nun muss ich nur noch den Fehler in der Datenübertragung finden

    mfg

    micha

  • Code
    String TestTemperatur      "Value:  [%s]"      {mqtt="<[OH2mqtt:tele/TestSystem/SENSOR:state:default]"}

    Hallo Claus,

    mit diesem Eintrag bekomme ich den gesamten String des Mqtt-Sensor Wertes nicht allein der Temperaturwert. Und die Fehlermeldung ist weg im LOG.

    mfg

    Micha

  • Hallo Claus,

    hier der nächste Versuch und die Fehlermeldung:

    Code
    Number TestTemperatur "Temperatur [%.1f °C]"   <Temperature>   {mqtt="<[OH2mqtt:tele/TestSystem/SENSOR:Temperatur:state:default]"}
    Code
    2018-08-09 21:24:14.808 [ERROR] [el.item.internal.GenericItemProvider] - Binding configuration of type 'mqtt' of item 'TestTemperatur' could not be parsed correctly.
    
    org.eclipse.smarthome.model.item.BindingConfigParseException: Configuration 'OH2mqtt:tele/TestSystem/SENSOR:Temperatur:state:default' is not a valid inbound configuration: Invalid type.

    mfg

    Micha

  • So liebe Freunde,

    der Eintrag muss wie folgt lauten:

    Code
    Number TestTemperatur     "TestTemperatur [%.1f °C]"   <temperature>              {mqtt="<[OH2mqtt:tele/TestSystem/SENSOR:state:JSONPATH($.DS18B20.Temperature)]"}

    Und bei Obenhab 2 muss die Json-Transformation installiert sein.

    Die Daten werden nun einwandfrei in OH2 dargestellt.

    Supi Projekt gelungen vielen vielen Dank für Eure Unterstützung und Tipps

    Somit kann der Thread geschlossen werden !!

    Danke, danke

    M:thumbup:cha :):)

  • Hallo Madmike,

    das mit der Json-Transformation wäre mein nächster Tip gewesen. ;)

    Bei json muss man halt auch wirklich auf die genaue Schreibweise achten.

    Aber schön das es jetzt funktioniert, und das du auch die Lösung hier postest.

    Ich lebe und arbeite in Shanghai (PR China)