4 Temperatursensoren aun ein Sonoff mit Tasmota auslesen?

  • Hallo Gemeinde,

    ich möchte an meinen Pufferspeicher mit Solarunterstützung die Signale der 4 Temperatursensoren abgreifen. Ist es möglich an einem Sonoff 4 Temp Sensoren anzubinden und auszulesen?

    Möchte die Daten in Domoticz weiter verwerten.


    Grüße,

    mac_switch

  • Meine Antwort wird dich nicht vollständig zufrieden stellen, aber es sollte gehen (keine eigene Erfahrung). Siehe hier:

    https://github.com/arendst/Sonoff-Tasmota/issues/1109 Besonders interessant die Beiträge vom 08.01.2018 von reneb 24 und Theo. Weitere Infos auch hier: https://github.com/arendst/Son…wiki/Sensor-Configuration.

    Wenn du mal in der Konsole der Weboberfläche gpio und gpios eingibst, werden dir viele Infos um die Ohren gehauen. Falls du schon ein Tasmota-Gerät mit Sensor im Betrieb hast, werden dir die Ergebnisse durch Eingabe von status 10 in der Konsole angezeigt. Vermutlich erscheinen weitere Sensoren auch hier. Das musst du dann softwaremäßig auswerten. Ich hoffe es hilft dir ein bisschen weiter und lass es uns wissen, ob und wie es klappt.

  • Mit DS18B20 (OneWire) Sensoren geht das problemlos! Ich glaube bis zu 8 Stück können an einem GPIO ausgewertet werden.

    1A, genau die habe ich bestellt... zeigt der Sonoff dann auch 4 Temperaturen an, bzw muss ich die per rule an Domoticz pushen? Ich kann ja nur eine idx für Temperatur im Sonoff (Tasmota) angeben.

  • Mit den bereits in #2 erwähnten persönlichen Einschränkungen:

    Bring zunächst mal die Sensoren in Gang, dass sie von Tasmota erkannt werden (Beitrag #5 von Einstein67

    Dann richtest du in Domoticz unter Menü Einrichtung -> Hardware ->Virtuellen Sensor erstellen einen neuen Sensor ein (für jeden Sensor wiederholen)

    Das Untermenü beim Einrichten des Sensors bietet dir verschiedene Typen an; irgend einer der Temp...-Typen sollte gehen

    Nach dem Abspeichern des neuen Sensors wechselst du in Domoticz auf Menü Einrichtung -> Geräte. Dort taucht dein neuer Sensor/en auf, in der Regel an letzter Stelle mit der höchsten IDX; IDX merken

    Jetzt rufst du die Weboberfläche deines Tasmota-Gerätes auf und gehst auf Einrichtung -> Geräte-Einstellung und wähle für den GPIO 14 (vermutlich) den 4. Typ

    Danach auf Einrichtung -> Domoticz und die von Domoticz angegebenen IDX-Nummern auf die möglichen Sensor-Eingabe-Felder verteilen.


    So sollte es gehen. Aber wie bereits gesagt: vom grünen Tisch aus.

  • Hallo JoergZ,

    ich komm auf dich zurück. Habe die Sensoren leider noch nicht da. Soweit ich das aber beurteilen kann gibt es nur ein Feld im Webinterface für "nur" den Temperaturwert. Die anderen Felder sind in Kombination mit Feuchtigkeit und Luftdruck.

    Ich wird das erst mal aufbauen, sobald die Lieferung da ist und melde mich noch mal.

  • Hallo Gemeinde,

    ich habe nun endlich meine Sensoren von Übersee bekommen und 4x D18B20 Temp. Sensoren an einen Sonoff Basic angeschlossen.


    Es werden auch alle 4 Werte brav angezeigt. Aber wie kann ich jeden einzelnen Wert an Domoticz übergeben? Ich möchte gern die 4 Ladezonen meines Solar-Pufferspeichers damit abbilden und entsprechend verarbeiten.


    Grüße,

    mac_switch


    PS: der Basic ist ein Testmodul und heißt nur Sofalicht ;)

  • Zu Domoticz kann ich nicht viel sagen. Es hat aber ein MQTT Interface (https://www.domoticz.com/wiki/MQTT). Damit dürfte das kein Problem sein und wird bei FHEM und NodeRed genau so gemacht. Einen Broker installieren (Mosquitto auf einen Raspi?), den Sonoff an den Broker anmelden (im Menü MQTT), das war es schon auf der Sonoff Seite, er published seine Werte ganz von selbst. Die Relais kannst Du auch schalten.

    Wichtig ist setoption64 auf 1 zu setzen, dann werden die - beim Index gegen _ getauscht. Das - wird als Minus interpretiert und klappt nicht.

    Bei mir laufen 3 Sensoren stabil, 8 sind möglich. Du musst halt nur sehen welcher welchen Index bekommt, das kann man nicht beeinflussen.

  • Du musst halt nur sehen welcher welchen Index bekommt, das kann man nicht beeinflussen.

    Mosquitto hab ich am laufen... wie weise ich den 4 Sensoren jeweils eine idx für Domoticz zu?

    Und wenn die Sensoren erstmalig einen Index bekommen, behalten die den dann, auch nach einem Neustart?

  • Die Sensoren bekommen den Index vom Tasmota verabreicht. Das sieht dann als JSON Payload so aus:


    {"Time":"2019-08-22T12:53:02","DS18B20_1":{"Id":"01131BB08E7C","Temperature":26.5},"DS18B20_2":{"Id":"0114542738AA","Temperature":23.7},"DS18B20_3":{"Id":"01145430AEAA","Temperature":24.0},"TempUnit":"C"}


    Der Index ist die _1 _2.. hinter dem Sensor.

    Du kannst die Zuordnung nicht ändern, die ergibt sich vermute mal aus der Reihenfolge der Seriennummern. Ändert sich also erst wenn Du einen Sensor tauschen musst. In Domoticz musst Du dann den Payload "auseinandernehmen", das ist da sicher schon drin.


    Denk an die setoption64 1., sonst klappt das nicht mit dem Index.

    Wenn Du den Mosquitto laufen hast solltest Du das in Deiner Clientapp unter tele/SENSOR eigentlich schon sehen.

  • wie weise ich den 4 Sensoren jeweils eine idx für Domoticz zu?

    In Domoticz virtuelle Temp-Sensoren erstellen und entsprechend die Idx in einer Rule eintragen,

    um die Werte an Domoticz zu senden (geht hier auch mit Bindestrich und ohne extra Broker).


    Funktioniert mit allem was in Tasmota default keine passende Idx vorsieht.


    z.B.:

    Code
    Rule1 1
    
    Rule1
    on tele-DS18B20-1#Temperature do publish domoticz/in {"idx":991,"svalue":"%value%"} endon
    on tele-DS18B20-2#Temperature do publish domoticz/in {"idx":992,"svalue":"%value%"} endon
    on tele-DS18B20-3#Temperature do publish domoticz/in {"idx":993,"svalue":"%value%"} endon
    on tele-DS18B20-4#Temperature do publish domoticz/in {"idx":994,"svalue":"%value%"} endon
  • Hallo NoitaercX,

    das funktioniert irgendwie nicht. Wie kann ich einmal gesetzte rules löschen?


    zu deinem Quellcode... ich hab meine idx Nummern an stelle der 900er Nummern gesetzt. Muss ich jede Zeile einzeln eingeben, oder muss ich die Zeilen einzeln eingeben? :/

  • Hi, die Blöcke beginnend mit Rule<x> müssen gesamt in die Konsole

    eingegeben werden und mit Enter abgeschlossen werden:


    Rule1 1 <Enter>

    und

    Rule1 on tele-DS18B20-1#Temperature do publish domoticz/in {"idx":991,"svalue":"%value%"} endon on tele-DS18B20-2#Temperature do publish domoticz/in {"idx":992,"svalue":"%value%"} endon on tele-DS18B20-3#Temperature do publish domoticz/in {"idx":993,"svalue":"%value%"} endon on tele-DS18B20-4#Temperature do publish domoticz/in {"idx":994,"svalue":"%value%"} endon <Enter>


    gelöscht wird eine Rule mit:

    Rule1 " <Enter>


    mehr dazu unter Rules und https://github.com/arendst/Sonoff-Tasmota/wiki/Rules


    Mit jeder Teleperiode sollte dann die Rule aktiv werden, zu sehen in der Konsole als "RUL ..."

  • Aber in Domoticz kommt nichts an?!

    Liegt daran, dass deine DS18B20 bereits andere Namen tragen,

    und ohne Anpassung wird die Rule dann natürlich nicht aktiv:


    Code
    Rule1
    on tele-DS1#Temperature do publish domoticz/in {"idx":143,"svalue":"%value%"} endon
    on tele-DS2#Temperature do publish domoticz/in {"idx":144,"svalue":"%value%"} endon
    on tele-DS3#Temperature do publish domoticz/in {"idx":145,"svalue":"%value%"} endon
    on tele-DS4#Temperature do publish domoticz/in {"idx":146,"svalue":"%value%"} endon