Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Sonoff DS18B20 ID's mit Tempwerten verknüpfen

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    2.7k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.1k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.4k

Sonoff DS18B20 ID's mit Tempwerten verknüpfen

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
heatingmonitoringblocklyjavascript
5 Beiträge 2 Kommentatoren 1.1k Aufrufe 2 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • M Offline
    M Offline
    Monsterkiller
    schrieb am zuletzt editiert von
    #1

    Hallo Zusammen,

    gibt es ein Möglichkeit das man die Werte der ID's von DS18B20 Sensoren mit den Werten der Temperatur verknüpft?

    Ich habe das Problem das ich in einem Flot Diagramm die Temperaturwerte von DS18B20 Sensoren anzeigen lasse und ich dort auf das Objekt DS18B20-1 Temperature schaue, jetzt ist in der Nacht ein Sensor ausgefallen bzw es sind 2 sporadisch für eine halbe Stunde ausgefallen dabei hat es die Reihenfolge der Sensoren verändert d.h. z.B. Pufferfühler oben war mit unten vertauscht etc.

    Also Lösung für das Problem habe ich überlegt ob es vielleicht ein Script gibt das die ID's der Sensoren ausliest und dann entsprechenden Temperaturen in neue Datenpunkte schreibt und man nicht mehr von der Reihenfolge der ID's abhängig ist.

    Ich hoffe man versteht was ich machen will, leider stehe ich total auf dem Schlauch wie ich das Realisieren kann, habe schon etwas rumprobiert mit Variablen ist aber nicht unbedingt meine Welt.
    Ein weiterer Punkt ist wie kann ich auswerten das ein Sensor kaputt ist? (Bei mir zeigt es dann 85.0 Grad an, allerdings ist das auch ein möglicher Vorkommender Temperaturwert der Heizung bzw Puffer zugegeben selten aber kann vorkommen.)
    Zweiter weiterer Punkt was passiert wenn ein Sensor fehlt warum auch immer, dann darf das Script keinen Fehler werfen.

    Danke schonmal im Vorraus.

    Freundliche Grüße
    Monsterkiller

    1 Antwort Letzte Antwort
    0
    • SBorgS Offline
      SBorgS Offline
      SBorg
      Forum Testing Most Active
      schrieb am zuletzt editiert von
      #2

      Hi,
      eine Möglichkeit wäre die Software (Sonoff = Tasmota?) zu wechseln und bspw. auf 1-wire zu switchen. Jeder DS-Sensor hat eine Unique-Number und lässt sich damit eindeutig identifizieren (wenn sie denn genutzt wird...), denn ID 123xxxxxxx entspricht dann immer genau nur dem Sensor xyz und keinem anderen.
      Damit wäre auch normalerweise die Detektion eines defekten Sensors möglich. Der meldet sich dann idR. nicht mehr wenn man ihn über seine Adresse anspricht. Oder man müsste die letzten x-Werte (ev. genügt sogar nur der Vorherwert) vergleichen. Sind die alle gleich 85°C = Sensor defekt.

      LG SBorg ( SBorg auf GitHub)
      Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

      1 Antwort Letzte Antwort
      0
      • M Offline
        M Offline
        Monsterkiller
        schrieb am zuletzt editiert von
        #3

        Hi,

        ah Entschuldige ich hab ganz vergessen zu schreiben ich habe die Sensoren an einem Sonoff Basic mit Tasmota angebunden und über den Sonoff Adapter werden automatisch die Datenpunkte erzeugt.

        Mein Problem ist das die Werte der ID's zwar gleich bleiben aber die Reihenfolge in den Datenpunkten sich ändert im Fehlerfall.

        Zum Beispiel ist heute ID 1234 auf sonoff.0.XXX.DS18B20-1_Id und morgen ist ID 1234 auf sonoff.0.XXX.DS18B20-2_Id. Das verschiebt dann meine Visu weil ich mich auf sonoff.0.XX.DS18B20-1_Id beziehe und nicht auf ID 1234 weil ich nicht weiß wie ichs dynamisch Auswerte.

        Grüße
        Monsterkiller

        1 Antwort Letzte Antwort
        0
        • SBorgS Offline
          SBorgS Offline
          SBorg
          Forum Testing Most Active
          schrieb am zuletzt editiert von
          #4

          Das kann Tasmota auch so nicht leisten, denn es verfügt über keine Konfiguration der Sensoren (dynamisch eben). Bei 1-wire (entweder als File-System oder per Adapter etc.) musst du die IDs fest eingeben und zuordnen. Dann ist es egal ob und wie einer mal aussetzt. ID xyz ist dann eben immer bspw. TPU
          Schaltet der Basic auch etwas oder fungiert der eher nur als "WLAN-Thermometer"? Sonst wäre ev. ein Pi Zero die bessere Wahl. Auf dem könnte man dann ein 1-wire File-System laufen lassen, notfalls mittels Relais-Karte auch Dinge schalten etc.

          LG SBorg ( SBorg auf GitHub)
          Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

          1 Antwort Letzte Antwort
          0
          • M Offline
            M Offline
            Monsterkiller
            schrieb am zuletzt editiert von Monsterkiller
            #5

            Hi,

            ich habe es jetzt endlich hinbekommen.
            Ich trage die ID von einem Sensor manuell in einen Datenpunkt ein und vergleiche den dann fortlaufend mit allen ID's die der Sonoff Adapter zurückmeldet. Falls der Wert gleich ist, nimm den entsprechenden Tempwert und schreibe den an einen weiteren Datenpunkt.

            Vielleicht etwas holprig aber es funktioniert :grimacing:

            Grüße
            Monsterkiller

            var j, zaehler_var, temp_var;
            
            for (j = 1; j <= 5; j++) {
              zaehler_var = ['sonoff.0.DVES_5A8310.DS18B20-',('' + j),'_Id'].join('');
              temp_var = ['sonoff.0.DVES_5A8310.DS18B20-',('' + j),'_Temperature'].join('');
              if (getState(zaehler_var).val == getState("ID auswählen").val) {
                setState("Object ID", getState(temp_var).val);
              }
            }
            
            
            

            sonoff_loesung.PNG

            1 Antwort Letzte Antwort
            0
            Antworten
            • In einem neuen Thema antworten
            Anmelden zum Antworten
            • Älteste zuerst
            • Neuste zuerst
            • Meiste Stimmen


            Support us

            ioBroker
            Community Adapters
            Donate

            682

            Online

            32.6k

            Benutzer

            82.3k

            Themen

            1.3m

            Beiträge
            Community
            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
            ioBroker Community 2014-2025
            logo
            • Anmelden

            • Du hast noch kein Konto? Registrieren

            • Anmelden oder registrieren, um zu suchen
            • Erster Beitrag
              Letzter Beitrag
            0
            • Home
            • Aktuell
            • Tags
            • Ungelesen 0
            • Kategorien
            • Unreplied
            • Beliebt
            • GitHub
            • Docu
            • Hilfe