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

  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Frage zu ESPHome - Pulse Counter Sensor

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.3k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.0k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.4k

Frage zu ESPHome - Pulse Counter Sensor

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
14 Beiträge 5 Kommentatoren 3.7k Aufrufe 5 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.
  • K klassisch

    @wolfgangfb Ich würde den ESP nur als Integerzähler verwenden und den Rest in ioBroker machen.
    So mache ich es, wenn auch mit ESPEasy als Zähler, weil ich "damals" bei ESPHome keinen Integerzähler gefunden habe und ich damals mit ESPEasy schneller am Ziel war. Geht heute auch mit ESPHome. Wichtig ist aber: nur Integer verwenden, also immer nur Pulse addieren. Keine Umrechnungen auf dem ESP, das macht man auf dem ioBroker.

    Also:

    • Der ESP zählt nur S0 Impulse und schickt die an ioBroker.
    • Der ioBroker addiert einen Offset, der die Vorgeschichte repräsenstiert (S0-Impulse bis zum Start des ESP-Zählers) dazu.
    • Erst aus der Gesamtsumme wird dann in kWh oder m³ umgerechnet.
    • Bei ioBroker Updates geht nichts verloren - zumindest solange der ESP durchläuft
    • ioBroker überwacht, ob der ESP Zähler zurückspringt und wertet und behandelt das als Reset / Stromausfall des ESP und berechnet den Offset neu
    • ioBroker überwacht das Datum der Gesamtsumme (kWh oder m³) auf Änderung durch den Admin-Adapter (= manuelle usereingabe) und berechnet bei eintsprechenden Änderungen den Offset neu. So kannst Du bequem den aktuellen Zählerstand eingeben - initial oder bei etwaigen Korrekturen
    C Offline
    C Offline
    claus1993
    schrieb am zuletzt editiert von
    #3

    @klassisch said in Frage zu ESPHome - Pulse Counter Sensor:

    • Der ESP zählt nur S0 Impulse und schickt die an ioBroker.
    • Der ioBroker addiert einen Offset, der die Vorgeschichte repräsenstiert (S0-Impulse bis zum Start des ESP-Zählers) dazu.
    • Erst aus der Gesamtsumme wird dann in kWh oder m³ umgerechnet.
    • Bei ioBroker Updates geht nichts verloren - zumindest solange der ESP durchläuft
    • ioBroker überwacht, ob der ESP Zähler zurückspringt und wertet und behandelt das als Reset / Stromausfall des ESP und berechnet den Offset neu
    • ioBroker überwacht das Datum der Gesamtsumme (kWh oder m³) auf Änderung durch den Admin-Adapter (= manuelle usereingabe) und berechnet bei eintsprechenden Änderungen den Offset neu. So kannst Du bequem den aktuellen Zählerstand eingeben - initial oder bei etwaigen Korrekturen

    Hast du mal ein Beispiel wie du das in IoBroker umsetzen würdest, gerne als Blockly. Danke!

    paul53P 1 Antwort Letzte Antwort
    0
    • C claus1993

      @klassisch said in Frage zu ESPHome - Pulse Counter Sensor:

      • Der ESP zählt nur S0 Impulse und schickt die an ioBroker.
      • Der ioBroker addiert einen Offset, der die Vorgeschichte repräsenstiert (S0-Impulse bis zum Start des ESP-Zählers) dazu.
      • Erst aus der Gesamtsumme wird dann in kWh oder m³ umgerechnet.
      • Bei ioBroker Updates geht nichts verloren - zumindest solange der ESP durchläuft
      • ioBroker überwacht, ob der ESP Zähler zurückspringt und wertet und behandelt das als Reset / Stromausfall des ESP und berechnet den Offset neu
      • ioBroker überwacht das Datum der Gesamtsumme (kWh oder m³) auf Änderung durch den Admin-Adapter (= manuelle usereingabe) und berechnet bei eintsprechenden Änderungen den Offset neu. So kannst Du bequem den aktuellen Zählerstand eingeben - initial oder bei etwaigen Korrekturen

      Hast du mal ein Beispiel wie du das in IoBroker umsetzen würdest, gerne als Blockly. Danke!

      paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von
      #4

      @claus1993 sagte: Hast du mal ein Beispiel

      Schau mal den Adapter Sourceanalytix an.

      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

      K C 2 Antworten Letzte Antwort
      0
      • paul53P paul53

        @claus1993 sagte: Hast du mal ein Beispiel

        Schau mal den Adapter Sourceanalytix an.

        K Offline
        K Offline
        klassisch
        Most Active
        schrieb am zuletzt editiert von klassisch
        #5

        @paul53 sagte in Frage zu ESPHome - Pulse Counter Sensor:

        Schau mal den Adapter Sourceanalytix an.

        Hat der sowas integriert, incl. fortlaufender Summierung auf dem ESP? Dann wäre das natürlich der Königsweg. Die fortlaufende Summierung über die Zeitscheiben hinweg (Total) auf dem ESP halte ich für wichtig, weil man den ioBroker doch ab und an mal updatet. Die Totalisierung auf dem ESP vermeidet dann Lücken und Zählerabweichungen.

        @claus1993

        Hast du mal ein Beispiel?

        Einige Snippets aus einem funktionierenden Skript. Das Skript macht aber auch Statistik, was man heutzutege ja mit dem o.g. Adapter macht und verwendet dazu auch noch eine sehr praktische aber nicht mehr erwünschte Datenstruktur. Deshalb nur Snippets mit den Kernfunktionen. Und sicher auch kein beispielhafter Programmierstil. Zumindest nicht im positiven Sinne :-)

        
        
        /* S0-counter converter for heating electical energy
           increments ticks
           calculates energy
           calculates power                      
           
           The Energy Counter of Eltaco (similar to WSZ15DE-32A) can count up to 
        	999999,9 dan has 2000 ticks per kWh. That means we need for "Interger" Variables max
        	1999999800  IEEE-754 coding allows "intergers up to
        	9007199254740992 which oviously is more than we need here.
        	if in doubt: To assure Interger use Math.round(inputVariable);
            
            To minimize numerical errors, energy is always calculated on base of tickSum
            
            total ticks are calculated according
               ticksSum = ticksOffset + ESPTicksSum;  
        	
            ticksSum multiplied with counter constant delivers energy 
        
            Starting the script for the first time your counter in general ist not equal zero
            So the offset has to be aligned. Same, if the S0 pulse counter was offline
        
            To do so, pleas follow these directions:
        
           New Init
            1 Script must be running
            2 readout the meter in kWh
            3 inpot the reading in the energy object defined in const energyId, e.g. '0_userdata.0.heating.Heizraum.Electricity.Energy'
        	Skript will detect that the input was done manually (origin from system.adapter.admin.0 
        
        
            In the Script ESP is a synomyme for the S0 pulse counter
        
           */
        	
        	const timeBaseESP = 60; //seconds to be aligned with ESP settings for Watchdog 
        	const ticksPerKWhOfCounter = 2000; // 2000 ticks per kWh for Eltaco S0 counter
        	const kWhPerTick = 1/ticksPerKWhOfCounter;  // 
        	const ESPTimeoutFactor = 2.5 // * timebaseESP
        
            const ticksId = 'mqtt.0.Heizraum-Energy.Heizraum-Energy-S0.ticks'/*Heizraum-Energy/Heizraum-Energy-S0/ticks*/;
        	const ticksSumId = '0_userdata.0.heating.Heizraum.Electricity.ticksSum'/*ticksSum*/; 
            const ticksOffsetId = '0_userdata.0.heating.Heizraum.Electricity.ticksOffset'/*ticksOffset*/; 
        	const energyId = '0_userdata.0.heating.Heizraum.Electricity.Energy'/*Energy*/;
        	const powerId = '0_userdata.0.heating.Heizraum.Electricity.Power'/*Power*/;
            const ESPTicksSumId = 'mqtt.0.Heizraum-Energy.Heizraum-Energy-S0.Total';
        
        
        
            
            const manualInputSource= 'system.adapter.admin.0';
        
        const debugLogOn = true;
        const emailActive = true;
        const telegramActive = true;
        
        
        const nameOfThisScript = name.split('.')[name.split('.').length - 1];
        
        
        
        
        // start subscriptions  	
        on({id: ESPTicksSumId, change: "any" }, 
         function (dp) { //ESP delivered new data
        // get values
        	 ESPTicksSum = dp.state.val; // needed for energy
        	 ESPTicksSumTimestamp =dp.state.ts; //needed for timebase for power
             ESPPreviousTicksSum = dp.oldState.val; // needed for power and when ESP restarted
             ESPPreviousTicksSumTimestamp = dp.oldState.ts // needed for power
             timeBase = (ESPTicksSumTimestamp - ESPPreviousTicksSumTimestamp) / 1000
        
          // now the watchdog to monitor the ESP
           if(watchdogESPtimer) clearTimeout(watchdogESPtimer);       // running Timer stopped
              watchdogESPtimer = setTimeout(function() {      // restart Timer
              let emailText = 'Timeout ESPEasy for S0  (61). Watchdog constant settings [sec]: timeBaseESP: ' + timeBaseESP + ' ESPTimeoutFactor: ' +  ESPTimeoutFactor + ' measured timeBase: ' + timeBase + ': ESPTimeout ' + ESPTimeout/1000 + ' seconds';
        //       sendMessage( globalEmailFrom,  globalEmailTo,  '!!HotWater ESP Timeout',  emailText);  
           }, ESPTimeout);  // as predefined;  in ms
          // end watchdog to monitor the ESP
            if (ESPTicksSum >= ESPPreviousTicksSum){ // normal run, ESP did not boot
               // first calculating Energy, that is easy
        	   ticksSum = ticksOffset + ESPTicksSum;  
        	   energy = ticksSum * kWhPerTick; 
        	   // console.log ('Energy: ' + energy);
           	   setState(energyId, Math.round(1000*energy)/1000);
               // start calculating power
               var ticksDelta = ESPTicksSumTimestamp - ESPPreviousTicksSumTimestamp 
               if (ticksDelta > 0) { // calulate power
                 var energyDelta = (ESPTicksSum - ESPPreviousTicksSum) * kWhPerTick ;
                 power =  3600000 * (energyDelta)/ticksDelta // 3600 seconds in 1h and ticksDelta is in ms
                 setState(powerId,power);
                   // console.log('power: ' + power +' kW');
                } else { // timebase 0 or negative. Maybe the first run and the data not initialized
                  console.log('time difference 0 or negative. No power calculated this time. Difference: ' + ticksDelta)
                } // end else neg time difference e.g. first run
            } else { // ESP has rebooted. rearrange ticksOffset but do not calculate powerthis time
              // here to rearrange ticksOffset
              ticksOffset = ticksOffset + ESPPreviousTicksSum; // new offset calculated
              setState(ticksOffsetId , ticksOffset); // new offset stored
           	  // calcukate energy
               ticksSum = ticksOffset + ESPTicksSum;  
        	   energy = ticksSum * kWhPerTick; 
        	   setState(energyId, Math.round(1000*energy)/1000);
               console.log ('ESP has rebootetd. This time no power calculation this cycle. Energy: ' + energy);
        	   console.error ('S0 Pulse Counter has rebooted; some counts may be missing. Please check and realign ticksOffset ');
               // do not calculate power this time. wait for the next cycle
            }  // end else ESP has rebooted
         });
        			
        on({id: energyId, change: "any"}, function(dp) {
           if (dp.state.from == manualInputSource){ // manual Input -> correct offset, so that values are fitting
             // use formula: ticksOffest = energy * ticksPerKWhOfCounter - ESPSum
             // round afterwards to the closest integer to remain in integer with ticksSum
             energy = dp.state.val;
        	 ticksOffset = Math.round(energy * ticksPerKWhOfCounter - ESPTicksSum);
             setState(ticksOffsetId, ticksOffset);	 
             console.log ('Energy adjusted by manual input to: ' + energy + ' kWh');
           }
         });
        

        Als Zähler verwende ich in dieser Anwendung aus historischen Gründen noch ESPEasy via MQTT.
        e4e0d914-5cec-492f-94ce-929c85f1ded8-grafik.png

        Aber es müßte mittlerweile auch mit ESPHome gehen mit folgendem yaml. Das yaml hat noch einige Digitaleingänge, die man hier aber nicht braucht. Das yaml übersetzt bei mir, der ESP zählt und totalisiert. Zur Anbindung an ioBroker empfehle ich den ESPHome Adapter von @Dutchman .

        esphome:
          name: pulse-counter
          platform: ESP8266
          board: d1_mini
        
        
        #       ESP8266        ESP32
        #i2c:
        #  sda: D2    GPIO4    21    
        #  scl: D1    GPIO5    22   
        #
        #uart:
        #  rx_pin: D6 GPIO12   GPIO16
        #  tx_pin: D7 GPIO13   GPIO17
        
        
          
        
        status_led:
        #  pin: GPIO2
           pin:
             number: D4
             inverted: true
        
        <<: !include includes.yaml
        
        
        captive_portal:
        
        # Enable logging
        logger:
        
        # Enable Home Assistant API
        # done in the common includes.yaml file
        
        # Example configuration entry
        
        
        binary_sensor:
         
        
          - platform: gpio
            name: "Dig-Input-1"
            pin: 
              number: GPIO5
              mode: INPUT_PULLUP
              inverted: true
            device_class: motion
        
            
          - platform: gpio
            name: "Dig-Input-2"
            pin: 
              number: GPIO12
              mode: INPUT_PULLUP
              inverted: true
            device_class: motion
        
            
        
          - platform: gpio  
            name: "Dig-Input-3"
            pin: 
              number: GPIO13
              mode: INPUT_PULLUP
              inverted: true
            device_class: motion
        
        sensor:
          - platform: uptime
            name: Uptime Sensor
        
          - platform: pulse_counter
            name: "S0-heating-delta"
            pin: 
              number: GPIO4
              mode: INPUT_PULLUP
              inverted: false
            count_mode:
              rising_edge: disable
        #      rising_edge: increment
        # rising edge increment used for water meter star wheel
              falling_edge: increment 
        #    device_class: motion
            update_interval: 60s
            total:
                name: S0-heating-total
        
        
        
        
        #RSSI
          - platform: wifi_signal
            name: "WiFi Signal Sensor"
            update_interval: 10min
        
        
            
        ota:
          safe_mode: false
          port: 8266 
          #3232 for ESP32
          #8266 for ESP8266
        
        

        und für die credentials

        # Standards and Secrets for ESPHome
        wifi:
          ssid: "MySSID"
          password: "MyTopSecrectWifiPWD"
          domain: .
        # domain . may be not correct, but works with firtzbox
        # the domain is to support mDNS for flashing and logging
        #  domain: .fritz.box
        # .fritz.box worked for me, the default .local did not   
          
        
        
          # Enable fallback hotspot (captive portal) in case wifi connection fails
          ap:
           ssid: "ESPHomeBackup"
           password: "jbjzgj87ttr"
        
        # Example configuration entry
        web_server:
          port: 80
        
          # Example configuration entry
        time:
          - platform: sntp
            id: sntp_time
            servers: "191.168.178.1"
            timezone: DE
            # display time
            #it.strftime(0, 0, id(font), "%Y-%m-%d %H:%M", id(time).now());  
        
        
        # api for use with MQTT and/or ioBroker. For ioBroker use the adapter of @Dutchman
        api:
            password: 'ohhVerySecret'
        
        # Attention: When logged Incorrect Password: enter PWD do not stre but terminate instance and start again https://forum.iobroker.net/post/621511
        
        
            # Example configuration entry
        #mqtt:
        #  broker: 192.168.178.99
        
        
        1 Antwort Letzte Antwort
        0
        • paul53P paul53

          @claus1993 sagte: Hast du mal ein Beispiel

          Schau mal den Adapter Sourceanalytix an.

          C Offline
          C Offline
          claus1993
          schrieb am zuletzt editiert von
          #6

          @paul53 said in Frage zu ESPHome - Pulse Counter Sensor:

          @claus1993 sagte: Hast du mal ein Beispiel

          Bei mir geht es eher um einen Regenmengenmesser welcher pro Impuls 0,2794 Liter misst. Wie kann ich hieraus eine Menge in l/h (Liter pro Stunde) sowie eine Menge in l/d (Liter pro Tag) berechnen.

          paul53P 1 Antwort Letzte Antwort
          0
          • C claus1993

            @paul53 said in Frage zu ESPHome - Pulse Counter Sensor:

            @claus1993 sagte: Hast du mal ein Beispiel

            Bei mir geht es eher um einen Regenmengenmesser welcher pro Impuls 0,2794 Liter misst. Wie kann ich hieraus eine Menge in l/h (Liter pro Stunde) sowie eine Menge in l/d (Liter pro Tag) berechnen.

            paul53P Offline
            paul53P Offline
            paul53
            schrieb am zuletzt editiert von paul53
            #7

            @claus1993 sagte: Wie kann ich hieraus eine Menge in l/h (Liter pro Stunde) sowie eine Menge in l/d (Liter pro Tag) berechnen.

            Was liefert ESPHome an ioBroker? Impulse? Zählwerte?
            Bei l/h: Die Regenmenge der letzten Stunde oder die aktuelle Regenstärke?

            Falls Impuls und Regenstärke:

            Bild_2021-08-16_172713.png

            Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
            Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

            K 1 Antwort Letzte Antwort
            1
            • paul53P paul53

              @claus1993 sagte: Wie kann ich hieraus eine Menge in l/h (Liter pro Stunde) sowie eine Menge in l/d (Liter pro Tag) berechnen.

              Was liefert ESPHome an ioBroker? Impulse? Zählwerte?
              Bei l/h: Die Regenmenge der letzten Stunde oder die aktuelle Regenstärke?

              Falls Impuls und Regenstärke:

              Bild_2021-08-16_172713.png

              K Offline
              K Offline
              klassisch
              Most Active
              schrieb am zuletzt editiert von klassisch
              #8

              @paul53 Das ESPHome-yaml, das ich oben angehängt habe liefert beides: Impulse total oder Impulse/60 Sekunden. Wobei man die Zeitbasis (hier 60 Sekunden) auch anders einstellen kann.

              Man kann aber auch die Zeitdifferenz zwischen 2 Wippenschlägen im ioBroker auswerten. Ist aber etwas komplizierter.

              Edit: das yaml stellt auch binäre Eingänge bereit, so daß man das Blockly von @paul53 nutzen kann, welches die Zeitdifferenz zwischen 2 Wippenschlägen auswertet.
              Nach Informationen von @Homoran wird der neue Tag bei den Regenmessern um 07:30 gestarte.
              Was mir auch nicht klar ist, wie die Regenintensität im Blockly wieder abklingt, wenn der Regen aufgehört hat. Ich habe das bei mir nach 20min ohne weiteren Impuls einfach wieder auf 0 gesetzt. Nicht schön aber einfach.

              HomoranH 1 Antwort Letzte Antwort
              0
              • K klassisch

                @paul53 Das ESPHome-yaml, das ich oben angehängt habe liefert beides: Impulse total oder Impulse/60 Sekunden. Wobei man die Zeitbasis (hier 60 Sekunden) auch anders einstellen kann.

                Man kann aber auch die Zeitdifferenz zwischen 2 Wippenschlägen im ioBroker auswerten. Ist aber etwas komplizierter.

                Edit: das yaml stellt auch binäre Eingänge bereit, so daß man das Blockly von @paul53 nutzen kann, welches die Zeitdifferenz zwischen 2 Wippenschlägen auswertet.
                Nach Informationen von @Homoran wird der neue Tag bei den Regenmessern um 07:30 gestarte.
                Was mir auch nicht klar ist, wie die Regenintensität im Blockly wieder abklingt, wenn der Regen aufgehört hat. Ich habe das bei mir nach 20min ohne weiteren Impuls einfach wieder auf 0 gesetzt. Nicht schön aber einfach.

                HomoranH Nicht stören
                HomoranH Nicht stören
                Homoran
                Global Moderator Administrators
                schrieb am zuletzt editiert von
                #9

                @klassisch sagte in Frage zu ESPHome - Pulse Counter Sensor:

                Nach Informationen von @Homoran wird der neue Tag bei den Regenmessern um 07:30 gestarte.

                so hatte ich das irgendwo im Hinterkopf (und denke so wäre es auch in der HomeMatic Wetterstation implementiert:
                Regen-Morgen.png
                Dort wird um 07:30 die Tagesmenge zurückgesetzt

                Auf der Suche nach einer belastbaren Quelle bin ich gerade auf das LANUV NRW gestoßen:
                https://www.lanuv.nrw.de/umwelt/wasser/niederschlag

                Dort steht allerdings

                Der Niederschlagstag beginnt dabei um 7:00 Uhr und endet um 7:00 Uhr des Folgetages.

                :-(

                kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                K paul53P 2 Antworten Letzte Antwort
                0
                • HomoranH Homoran

                  @klassisch sagte in Frage zu ESPHome - Pulse Counter Sensor:

                  Nach Informationen von @Homoran wird der neue Tag bei den Regenmessern um 07:30 gestarte.

                  so hatte ich das irgendwo im Hinterkopf (und denke so wäre es auch in der HomeMatic Wetterstation implementiert:
                  Regen-Morgen.png
                  Dort wird um 07:30 die Tagesmenge zurückgesetzt

                  Auf der Suche nach einer belastbaren Quelle bin ich gerade auf das LANUV NRW gestoßen:
                  https://www.lanuv.nrw.de/umwelt/wasser/niederschlag

                  Dort steht allerdings

                  Der Niederschlagstag beginnt dabei um 7:00 Uhr und endet um 7:00 Uhr des Folgetages.

                  :-(

                  K Offline
                  K Offline
                  klassisch
                  Most Active
                  schrieb am zuletzt editiert von
                  #10

                  @homoran Dann ist 07:30 wohl die Indische Variante... :-)

                  HomoranH 1 Antwort Letzte Antwort
                  0
                  • K klassisch

                    @homoran Dann ist 07:30 wohl die Indische Variante... :-)

                    HomoranH Nicht stören
                    HomoranH Nicht stören
                    Homoran
                    Global Moderator Administrators
                    schrieb am zuletzt editiert von
                    #11

                    @klassisch Ich habe aber auch keine andere Stelle gefunden in denen der Beginn und das Ende eines "Niederschlagtages" beschrieben wird.
                    Ich erinnere mich noch an die Wasserstandsmeldungen im Radio der 60er Jahre die immer begannen mit "der Neckar bei Plochingen" und dem Satz "von gestern früh bis heute früh fielen...."

                    Aber ich finde nichts mehr dazu

                    kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                    der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                    1 Antwort Letzte Antwort
                    0
                    • K Offline
                      K Offline
                      klassisch
                      Most Active
                      schrieb am zuletzt editiert von
                      #12

                      @Homoran bin ja auch kein Meterologe. Und auf die 30 min kommt es mir nicht wirklich an. Vielleicht findet sich irgendwann man ein gelernter Wetterfrosch....

                      1 Antwort Letzte Antwort
                      0
                      • HomoranH Homoran

                        @klassisch sagte in Frage zu ESPHome - Pulse Counter Sensor:

                        Nach Informationen von @Homoran wird der neue Tag bei den Regenmessern um 07:30 gestarte.

                        so hatte ich das irgendwo im Hinterkopf (und denke so wäre es auch in der HomeMatic Wetterstation implementiert:
                        Regen-Morgen.png
                        Dort wird um 07:30 die Tagesmenge zurückgesetzt

                        Auf der Suche nach einer belastbaren Quelle bin ich gerade auf das LANUV NRW gestoßen:
                        https://www.lanuv.nrw.de/umwelt/wasser/niederschlag

                        Dort steht allerdings

                        Der Niederschlagstag beginnt dabei um 7:00 Uhr und endet um 7:00 Uhr des Folgetages.

                        :-(

                        paul53P Offline
                        paul53P Offline
                        paul53
                        schrieb am zuletzt editiert von paul53
                        #13

                        @homoran sagte: Dort steht allerdings

                        Weiter:

                        Der Niederschlagstag beginnt dabei um 7:00 Uhr und endet um 7:00 Uhr des Folgetages. Die Zeitabgaben erfolgen in Mitteleuropäische Zeit (MEZ) ohne Umstellung auf Sommerzeit.

                        Dann ist 7:30 Uhr anscheinend der Kompromiss zwischen MEZ und MESZ, wobei das Problem bleibt, dass 2 Tage im Jahr keine 24 h haben. Das hat sich hoffentlich bald erledigt.

                        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                        1 Antwort Letzte Antwort
                        0
                        • K Offline
                          K Offline
                          klassisch
                          Most Active
                          schrieb am zuletzt editiert von klassisch
                          #14

                          DWD schreibt zum Thema Tageswerte in https://www.dwd.de/DE/leistungen/klimadatendeutschland/beschreibung_tagesmonatswerte.html :

                          "nur der Niederschlag des Vortages wird morgens um 05:50 UTC gemessen"

                          Dort wird auch die Berechnung der Tagesmittelwerte definiert:

                          • Ab dem 01.04.2001 wurde der Standard wie folgt geändert:

                            • Berechnung der Tagesmittel aus 24 Stundenwerten
                            • Wenn mehr als 3 Stundenwerte fehlen -> Berechnung aus den 4 Hauptterminen (00, 06, 12, 18 UTC
                            • Bezugszeit für einen Tag i.d.R. 23:51 UTC des Vortages bis 23:50 UTC

                          Man beachte UTC und die Anmerkung dazu:

                          "Hierbei werden die Beobachtungstermine auf die global genutzte Zeit in Greenwich (GMT oder UTC) bezogen. Die Beobachtungszeit ist jeweils 10 Minuten vor dem Bezugstermin (daher die krummen Zeitangaben). Diese Umstellung war erforderlich, nachdem das Stationsnetz weitgehend automatisiert wurde."

                          Ist das jetzt "amtlich"?

                          Und es stellt sich die Frage, ob die ioBroker schedule Funktion auch einfach UTC kann?

                          ChatGPT schlägt vor eine eigene Funktion scheduleUTC zu schreiben, die auf UTC umrechnet und dann mit setTimeout weiter arbeitet. Könnte funktionieren. Was passiert aber, wenn der ioBroker in der Zwischenzeit neu gestartet wird? Eher nicht. ChatGPT schlägt deshalb auf Nachfrage vor, node-schedule zu verwenden. Edit: "node-schedule" funktioniert. Ob einen Restart überlebt, habe ich noch nicht getestet.

                          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
                          FAQ Cloud / IOT
                          HowTo: Node.js-Update
                          HowTo: Backup/Restore
                          Downloads
                          BLOG

                          479

                          Online

                          32.4k

                          Benutzer

                          81.4k

                          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