Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [Vorlage] Betriebsstundenzähler & Verbrauchsrechner

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    [Vorlage] Betriebsstundenzähler & Verbrauchsrechner

    This topic has been deleted. Only users with topic management privileges can see it.
    • K
      knopers1 last edited by

      So, jetzt kommt es bei mir an 😄

      Also,

      in der Gruppentabelle Zeilen ausfüllen für Tag, Wochenende, Woche Monat usw mit den Datenpunkt ID , was aus dem ersten Eintrag enstanden ist…

      Bei mir eben als Beispiel für den Tag: BSZ.Counter.Heizung.Delta.GAS.1-Day. Bevor ich alles wieder umändern muß. Gilt / als Sonderzeichen? Im Script steht etwas drin, das keine Sonderzeichen zulässig sind. zB: Name: Heizung-KWh/Tag ???

      Gruppen[ 1]  = ['BSZ.Counter.Heizung.Delta.GAS.1-Day'                                ,'Heizung-KWh/Tag'                                 ,true  ,true  ,true  ,true  ,true  ,true  ,'CALC'      ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,false ,false]; //
      
      Gruppen[ 2]  = ['BSZ.Counter.Heizung.Delta.GAS.2-WEEK'                                ,'Heizung-KWh/Wochenende'                                 ,true  ,true  ,true  ,true  ,true  ,true  ,''      ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,''     ,false ,false]; //
      

      In der zweiten Tabelle müsste dann soetwas sein:

      logname[1]  =   ['Gas-KWh/Tag'      ,''         ,''         ,''                 ,''         ,''         ,''         ,''     ,''     ,''];
      
      logname[2]  =   ['Gas-KWh/Wochenende'      ,''         ,''         ,''                 ,''         ,''         ,''         ,''     ,''     ,''];
      

      und in der Tabelle Spezial

      special[1]  =   [''     ,''     ,'12'                     ,''         ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 ,''      ]; 
      
      
      special[2]  =   [''     ,''     ,'12'                     ,''         ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 ,''      ]; 
      
      
      1 Reply Last reply Reply Quote 0
      • L
        looxer01 last edited by

        …du hast zwei Gruppenzeilen angelegt. Wochenende und Wochentags nehme ich mal an.

        gibts da unterschiedliche Tarife ? oder warum ?

        ansonsten sieht es gut aus. Allerdings würde ich die switches auf false stellen. Die Anzahl der Gaszählermeldungen dürfte dich nicht interessieren.

        "/" sollte funktionieren. Ich bin aber immer generell vorsichtig mit Sonderzeichen. Dann gibt es auch keine Ueberraschungen.

        vG Looxer

        1 Reply Last reply Reply Quote 0
        • K
          knopers1 last edited by

          Nein, Tarif ist die gleiche… Es unterscheidet sich aber in der ID. (siehe mein Bild)

          Eine ID für den Tag und fürs Wochenende ist eine andere.. usw... da kommt noch Monat Jahr und....

          Oder kommt nur eine Zeile mit dem ersten Eintrag: BSZ.Counter.Heizung.Delta.GAS in meinem Beispiel ???

          Ich bin jetzt davon ausgegangen, dass ich für jede ID etwas in der Gruppe eintragen muß..Ist es nicht so?

          Das mit den Switchen habe ich in kenntniss genommen, wird wieder auf false gestellt.
          1526_unbenannt.png

          1 Reply Last reply Reply Quote 0
          • L
            looxer01 last edited by

            aaah jetzt. Nein, Die Historie Werte brauchst du nicht als Zeile. Du

            hast ja in der zweiten Zeile dann Historie eingeschaltet und brauchst die nicht als Quelle.

            Insgesamt brauchst du also nur zwei Zeilen - nicht drei

            Zeile 0 - Dein Gaszähler

            Zeile 1 die Zeile des Gaszählers aus dem Betriebsstundenzähler - also: BSZ.Counter.Heizung.Delta.GAS

            Zeile 1 stellst du die Historienwerte auf true und dann sollte es gehen.

            vG Looxer

            1 Reply Last reply Reply Quote 0
            • K
              knopers1 last edited by

              Geil, es ist etwas in Script entstanden. Habe heute aber noch kein Gas entnommen, deshalb die Null.

              Gerade eben die alte Rechnung durchgeschaut und den Brennwert gefunden. 11,432 ist angegeben.

              special[1]  =   [''     ,''     ,'11,432'                     ,''         ,''     ,''                 ,''                 ,''                         ,''             ,''             ,''                 ,''             ,''                 ,''      ]; 
              

              Soll ich nach der 11 eine Komma setzen, oder muß in deinem Script eine Null zwischen tun?

              11,432 oder 11.432 ???

              Edit: wird doch mit dem Punkt getrennt, zumindest schreiben die Meisten ein Punkt dazwischen….
              1526_unbenannt.png
              1526_unbenannt1.png

              1 Reply Last reply Reply Quote 0
              • K
                knopers1 last edited by

                @looxer,

                die Tabelle mit KWh ist zwar da, allerdings bleiben die Werte dort beim Null. 😞

                Kannst Du meine Konfig überprüffen? Evtl. fällt Dir schnell etwas auf, was nicht o.k sein könnte…
                1526_new_2.txt

                1 Reply Last reply Reply Quote 0
                • L
                  looxer01 last edited by

                  Hi,

                  setzt mal special(1)(8) auf false. (auf Bestätigung warten)

                  im Standard wird auf eine Bestätigung (acknowledge) gewartet. Da es sich aber um einen Javascript Datenpunkt handelt kommt diese nicht.

                  Daher erfolgt bei Aenderung des Datenpunktes Javascript.0.BSZ.Counter.Gas keine Ausführung des updates des Folgedatenpunktes.

                  vG Looxer

                  1 Reply Last reply Reply Quote 0
                  • K
                    knopers1 last edited by

                    @looxer

                    ich verzweifle an dem Script…

                    Das rechnet nicht, aus welchem Grund auch immer...Ich habe auch in der Tabelle Spezial (1) (8) auf false gestellt. 😞

                    ich will doch einfach den Tageswert in m3, was bereits ohne Probleme hochgezählt wird in KW ausgeben.

                    in meinem Bild sieht man doch die 0,1 m3... Diesen Wert einfach mal mit dem Brennwert 11.432 multiplizieren.

                    0.1x 11.432=1.14 KW

                    Wieso geht es nicht bei mir? Kannst Du mir einen einfachen Beispiel hier zeigen, wie ich eine Zahl aus der Objekt ID mit 11.432 multiplizieren kann?

                    Das kann doch nicht so schwer sein. Irgendwo muß ich doch ne Komma mit Punkt oder ähnliches vertauscht haben. Ich kriege es nicht hin das Teil zum Zählen zu bewegen.
                    1526_unbenannt.png

                    1 Reply Last reply Reply Quote 0
                    • K
                      knopers1 last edited by

                      @looxer01

                      es geht :mrgreen:

                      ich habe den Datenpunkt nicht Komplett ausgeschrieben!

                      javascript.0.BSZ.Counter.Heizung.DELTA.GAS sollte es heißen… und ich habe nur BSZ.Counter.Heizung.DELTA.GAS als Datenpunkt gesetzt!

                      Ich kenne Deine Beschreibung mitlerweile auswendig, trotzdem kam ich auf die Idee nicht, dass ich unter dem I den ganzen Datenpunkt notieren soll. Gelesen und nicht umgesetzt! :shock:

                      Danke für deine Hilfe!

                      1 Reply Last reply Reply Quote 0
                      • N
                        noxx last edited by

                        habe bei einigen Datenpunkten nur 000:00:00:00

                        stehen

                        Script: https://pastebin.com/raw/ZEhZgVcL
                        2880_01.png

                        1 Reply Last reply Reply Quote 0
                        • L
                          looxer01 last edited by

                          Hi Noxx,

                          die Werte werden erst mit dem Tagesabschluss gefüllt. (also um Mitternacht)

                          Hattest du die Konfig schon über Nacht laufen ?

                          vG Looxer

                          1 Reply Last reply Reply Quote 0
                          • N
                            noxx last edited by

                            @looxer01:

                            Hi Noxx,

                            die Werte werden erst mit dem Tagesabschluss gefüllt. (also um Mitternacht)

                            Hattest du die Konfig schon über Nacht laufen ?

                            vG Looxer ` Läuft seit einer Woche

                            Gesendet von meinem Huawei P10lite mit Tapatalk

                            1 Reply Last reply Reply Quote 0
                            • L
                              looxer01 last edited by

                              kannst du mal ins log schauen, ob es Meldungen um 00:04 gab ?

                              Deine Einstellungen sehen erstmal gut aus. Und der kumulierte Wert wird ja offensichtlich gefüllt.

                              Also stimmt was mit dem Tagesabschluss nicht. Wenn due das Programm neu startest muesstest du auch die Anzahl der schedules reported bekommen. Sollten 27 sein.

                              vG Looxer

                              1 Reply Last reply Reply Quote 0
                              • N
                                noxx last edited by

                                erstmal das:

                                
                                16:36:51.925	[info]	javascript.0 Stop script script.js.common.Betriebsstundenzaehler
                                16:36:52.875	[info]	javascript.0 Start javascript script.js.common.Betriebsstundenzaehler
                                16:36:52.876	[info]	javascript.0 script.js.common.Betriebsstundenzaehler: registered 26 subscriptions and 27 schedules
                                
                                `2017-09-22 00:00:00.118  - [32minfo[39m: host.raspberrypi instance system.adapter.dwd.0 started with pid 4336
                                2017-09-22 00:00:00.207  - [32minfo[39m: host.raspberrypi instance system.adapter.tvspielfilm.0 started with pid 4342
                                2017-09-22 00:00:00.257  - [32minfo[39m: host.raspberrypi instance system.adapter.ical.1 started with pid 4348
                                2017-09-22 00:00:00.323  - [32minfo[39m: host.raspberrypi instance system.adapter.ical.0 started with pid 4354
                                2017-09-22 00:00:00.885  - [32minfo[39m: javascript.0 script.js.common.Batteriestatus: Ausgelöst bei Timer
                                2017-09-22 00:00:00.910  - [32minfo[39m: javascript.0 script.js.common.Batteriestatus: Geräte Nr. 0: Cresta_ 1 Low battery: false
                                2017-09-22 00:00:00.911  - [32minfo[39m: javascript.0 script.js.common.Batteriestatus: Geräte Nr. 1: Cresta_ 2 Low battery: false
                                2017-09-22 00:00:00.913  - [32minfo[39m: javascript.0 script.js.common.Batteriestatus: Geräte Nr. 2: Cresta_ 4 Low battery: false
                                2017-09-22 00:00:00.914  - [32minfo[39m: javascript.0 script.js.common.Batteriestatus: Geräte Nr. 3: Cresta_ 5 Low battery: false
                                2017-09-22 00:00:00.916  - [32minfo[39m: javascript.0 script.js.common.Batteriestatus: Geräte Nr. 4: Cresta_ 3 Low battery: false
                                2017-09-22 00:00:00.927  - [32minfo[39m: javascript.0 script.js.common.Batteriestatus: Text: 
                                2017-09-22 00:00:00.928  - [32minfo[39m: javascript.0 script.js.common.Batteriestatus: Anzahl Geräte: 5 # davon LOWBAT erkannt: 0
                                2017-09-22 00:00:06.968  - [32minfo[39m: tvspielfilm.0 starting. Version 0.2.2 in /opt/iobroker/node_modules/iobroker.tvspielfilm, node: v6.11.1
                                2017-09-22 00:00:07.171  - [32minfo[39m: dwd.0 starting. Version 2.1.1 in /opt/iobroker/node_modules/iobroker.dwd, node: v6.11.1
                                2017-09-22 00:00:07.224  - [32minfo[39m: tvspielfilm.0 objects written
                                2017-09-22 00:00:07.809  - [32minfo[39m: ical.1 starting. Version 1.3.2 in /opt/iobroker/node_modules/iobroker.ical, node: v6.11.1
                                2017-09-22 00:00:08.161  - [32minfo[39m: ical.0 starting. Version 1.3.2 in /opt/iobroker/node_modules/iobroker.ical, node: v6.11.1
                                2017-09-22 00:00:08.534  - [32minfo[39m: host.raspberrypi instance system.adapter.dwd.0 terminated with code 0 (OK)
                                2017-09-22 00:00:09.437  - [32minfo[39m: host.raspberrypi instance system.adapter.tvspielfilm.0 terminated with code 0 (OK)
                                ...
                                2017-09-22 00:00:15.363  - [32minfo[39m: host.raspberrypi instance system.adapter.ical.0 terminated with code 0 (OK)
                                2017-09-22 00:00:15.490  - [32minfo[39m: host.raspberrypi instance system.adapter.ical.1 terminated with code 0 (OK)
                                2017-09-22 00:04:00.228  - [32minfo[39m: javascript.0 script.js.common.Betriebsstundenzaehler: EVENT Betriebsstundenzaehler werden zurueckgesetzt TAG:22 Wochentag 5Monat 09
                                2017-09-22 00:05:00.053  - [32minfo[39m: host.raspberrypi instance system.adapter.tvspielfilm.0 started with pid 4396
                                2017-09-22 00:05:00.109  - [32minfo[39m: host.raspberrypi instance system.adapter.dwd.0 started with pid 4403
                                2017-09-22 00:05:05.306  - [32minfo[39m: dwd.0 starting. Version 2.1.1 in /opt/iobroker/node_modules/iobroker.dwd, node: v6.11.1
                                2017-09-22 00:05:05.457  - [32minfo[39m: tvspielfilm.0 starting. Version 0.2.2 in /opt/iobroker/node_modules/iobroker.tvspielfilm, node: v6.11.1
                                2017-09-22 00:05:05.631  - [32minfo[39m: tvspielfilm.0 objects written
                                2017-09-22 00:05:06.349  - [32minfo[39m: host.raspberrypi instance system.adapter.dwd.0 terminated with code 0 (OK)
                                2017-09-22 00:05:07.432  - [32minfo[39m: host.raspberrypi instance system.adapter.tvspielfilm.0 terminated with code 0 (OK)[/code]`
                                  [2880_1.png](/assets/uploads/files/2880_1.png)  
                                
                                1 Reply Last reply Reply Quote 0
                                • N
                                  noxx last edited by

                                  moin

                                  woran liegts nun das keine delta-werte da sind?

                                  1 Reply Last reply Reply Quote 0
                                  • L
                                    looxer01 last edited by

                                    Hi noxx,

                                    meine Vermutung, dass der schedule nicht anläuft hat sich nicht bestätigt.

                                    Erstens zeigt sagt das der Logeintrag und zweitens sehe ich, dass die Werte ja im systembereich gespeichert wurden.

                                    Das heisst, dass zum Zeitpunkt des Tagesabschlusses die Routinen gelaufen sind aber keine Speicherung im counter (umgerechnet und gerundet) erfolgte. Woran das liegt weiss ich noch nicht. Es ist auch das erste mal, dass das auftritt.

                                    Ich muss jetzt das Programm mit deinen Einstellungen checken.

                                    Könntest du zu dem Folgendes machen: Lösche bitte manuell die Einträge mit den fehlenden Werten und lass das Programm neu anlaufen. Die Zeilen sollten dann neu erzeugt werden.

                                    vG Looxer

                                    1 Reply Last reply Reply Quote 0
                                    • N
                                      noxx last edited by

                                      löschen hat nichts gebraucht. nach neustart stand der zähler erst auf 0, nun wieder auf 000:00:00:00

                                      1 Reply Last reply Reply Quote 0
                                      • N
                                        noxx last edited by

                                        was mich wunder, das bei den kumulierten Werten anscheinend die Delta Werte stehen….
                                        2880_01.png
                                        2880_01.png

                                        1 Reply Last reply Reply Quote 0
                                        • L
                                          looxer01 last edited by

                                          @noxx:

                                          was mich wunder, das bei den kumulierten Werten anscheinend die Delta Werte stehen…. `
                                          nein, das ist schon absolut ok. es sind die kumulierten delta-Werte.

                                          ich brauche noch etwas Zeit, um das Problem anzugehen.

                                          Ich hoffe, dass ich kommende Woche dazu komme.

                                          vG Looxer

                                          1 Reply Last reply Reply Quote 0
                                          • L
                                            looxer01 last edited by

                                            Hi Noxx,

                                            ich denke, dass ich was gefunden habe.

                                            Eine Zwischenlösung könnte sein, dass du eine Rundung eingibst (z.B. 3 für 3 Nachkommastellen).

                                            Dann sollten die Periodenwerte geschrieben werden. ggf. nochmal die Werte vorher löschen.

                                            Der Fehler liegt also im Programm, tritt aber nur auf, wenn keine Umrechnung hinterlegt ist.

                                            vG Looxer

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            571
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            javascript
                                            51
                                            333
                                            79248
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo