Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. [gelöst]Negativwerte nach Shelly-Update

    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

    [gelöst]Negativwerte nach Shelly-Update

    This topic has been deleted. Only users with topic management privileges can see it.
    • RoddiEF
      RoddiEF @crunchip last edited by

      @crunchip sagte in Negativwerte nach Shelly-Update:

      also 2 Instanzen, 0 und 1, im script auch entsprechend angepasst?
      wo die liegen ist völlig egal, Hauptsache nicht in global
      gibts Meldungen im Log?

      Jupp 2 Instanzen, einmal var shelly_dp = "shelly.0"; und var shelly_dp = "shelly.1";
      Liegen tun beide Scripte wie gesagt in common.
      Im Log steht folgendes:

      script.js.common.Shelly-Verbrauchswerte: Shelly Verbrauch: Verbrauchswerte aktualisiert: 6 | Reboots korrigiert: 0 | Unveränderte Werte: 7
      script.js.common.Shelly-Verbrauchswerte-MQTT: Shelly Verbrauch: Verbrauchswerte aktualisiert: 1 | Reboots korrigiert: 0 | Unveränderte Werte: 2
      
      

      Ich sehe da nichts Falsches oder Fehler, kann mich aber auch Täuschen ?

      crunchip 2 Replies Last reply Reply Quote 0
      • crunchip
        crunchip Forum Testing Most Active @RoddiEF last edited by

        @roddief und das script ist sicher korrekt?
        am Ende der scripte steht dieses?

        // Erster Start und Initialisierung
        shelly_verbrauch_erster_start();
        
        // Alle 15 Minuten das Skript für den Tagesverbrauch ausführen
        schedule('*/15 * * * *', shelly_verbrauch_update);
        
        // Nachts um 24 Uhr werden die Werte in andere Variablen gespeichert, um den Verlauf zu erstellen
        schedule('0 0 * * *', shelly_vebrauch_tag);
        
        RoddiEF 1 Reply Last reply Reply Quote 0
        • RoddiEF
          RoddiEF @crunchip last edited by RoddiEF

          @crunchip sagte in Negativwerte nach Shelly-Update:

          @roddief und das script ist sicher korrekt?
          am Ende der scripte steht dieses?

          // Erster Start und Initialisierung
          shelly_verbrauch_erster_start();
          
          // Alle 15 Minuten das Skript für den Tagesverbrauch ausführen
          schedule('*/15 * * * *', shelly_verbrauch_update);
          
          // Nachts um 24 Uhr werden die Werte in andere Variablen gespeichert, um den Verlauf zu erstellen
          schedule('0 0 * * *', shelly_vebrauch_tag);
          

          Ja ist alles vorhanden. Hab alles mal verglichen, hätte ja sein können das beim Kopieren was verloren gegangen ist.
          War aber nicht der Fall, ist alles vorhanden, deshalb verstehe ich das auch nicht so wirklich.
          Die Werte werden ja geschrieben/aktualisiert nur halt für den vergangenen Tag halt nicht, was ja um 0:00Uhr passieren sollte.

          1 Reply Last reply Reply Quote 0
          • crunchip
            crunchip Forum Testing Most Active @RoddiEF last edited by

            @roddief sagte in Negativwerte nach Shelly-Update:

            Im Log steht folgendes:

            und in der Nacht ?

            kommt etwas wenn du das script neu startest?

            ansonsten bin ich da auch überfragt, entweder mal löschen und neu anlegen oder nur mal ein script laufen lassen.
            Seltsam das es in beiden Scripten zum selben Problem führt.(oder doch Kopie Fehler) eventuell neu rein kopieren

            RoddiEF 1 Reply Last reply Reply Quote 0
            • RoddiEF
              RoddiEF @crunchip last edited by RoddiEF

              @crunchip sagte in Negativwerte nach Shelly-Update:

              @roddief sagte in Negativwerte nach Shelly-Update:

              Im Log steht folgendes:

              und in der Nacht ?

              kommt etwas wenn du das script neu startest?

              ansonsten bin ich da auch überfragt, entweder mal löschen und neu anlegen oder nur mal ein script laufen lassen.
              Seltsam das es in beiden Scripten zum selben Problem führt.(oder doch Kopie Fehler) eventuell neu rein kopieren

              Ich werde alles mal Löschen, neu anlegen und nur ein Script laufen lassen.
              Wenn das eine Funktioniert werde ich das zweite aktivieren.
              Da das aber dann erst in der Nacht passiert (Verbrauch Gestern/Heute), werde ich morgen berichten.
              So einmal neu Angelegt, hier mal der Log nach dem ersten Start:

              javascript.0
              2023-01-15 16:30:00.023	info	script.js.common.Shelly-CoAP: Shelly Verbrauch: Verbrauchswerte aktualisiert: 6 | Reboots korrigiert: 0 | Unveränderte Werte: 7
              javascript.0
              2023-01-15 16:25:50.514	info	script.js.common.Shelly-CoAP: Shelly Verbrauch: Verbrauchswerte aktualisiert: 0 | Reboots korrigiert: 0 | Unveränderte Werte: 13
              javascript.0
              2023-01-15 16:25:20.557	info	script.js.common.Shelly-CoAP: registered 0 subscriptions, 2 schedules, 0 messages, 0 logs and 0 file subscriptions
              javascript.0
              2023-01-15 16:25:20.503	info	script.js.common.Shelly-CoAP: Shelly Verbrauch: Datenpunkte erstellt! Erster Verbrauch steht nach 30 Sekunden zur Verfügung! Anzahl gefundener Shelly Datenpunkte: 13
              javascript.0
              2023-01-15 16:25:20.499	info	script.js.common.Shelly-CoAP: Shelly Verbrauch: Erster Start des Skriptes! Datenpunkte werden erstellt!
              javascript.0
              2023-01-15 16:25:20.432	info	Start javascript script.js.common.Shelly-CoAP
              
              crunchip 1 Reply Last reply Reply Quote 0
              • crunchip
                crunchip Forum Testing Most Active @RoddiEF last edited by

                @roddief du kannst es auch mit Pauls script und Sourceanalytics laufen lassen.

                du musst nur deinen aktuellen Wert vom shelly in den DP eintragen und danach das script im spoiler starten

                <xml xmlns="https://developers.google.com/blockly/xml">
                  <variables>
                    <variable id="gRZtH-i=mURhK^M?,:1X">server</variable>
                  </variables>
                  <block type="comment" id="uGzWd)zM)/9ehtR=6w@!" x="188" y="163">
                    <field name="COMMENT">eigener Datenpunkt unter userdata.0</field>
                  </block>
                  <block type="variables_set" id="@x(~L-HC=|`;sLn-fuL." x="-9" y="193">
                    <field name="VAR" id="gRZtH-i=mURhK^M?,:1X">server</field>
                    <value name="VALUE">
                      <block type="get_value" id="VWuq,%e,mz9NoD!ui9mv">
                        <field name="ATTR">val</field>
                        <field name="OID">0_userdata.0.Zaehlerstaende.PC-Server</field>
                      </block>
                    </value>
                  </block>
                  <block type="comment" id="*W9Rm.v?V[lHbGyAfMi_" x="212" y="238">
                    <field name="COMMENT">shelly-Datenpunkt</field>
                  </block>
                  <block type="on_ext" id="E!u4Rp!Ln;+U|Qe9(G?$" x="-12" y="263">
                    <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                    <field name="CONDITION">gt</field>
                    <field name="ACK_CONDITION"></field>
                    <value name="OID0">
                      <shadow type="field_oid" id="[;3@^j=J)th6tuoWb1X2">
                        <field name="oid">sonoff.0.PC-Server.ENERGY_Total</field>
                      </shadow>
                    </value>
                    <statement name="STATEMENT">
                      <block type="math_change" id="A7N,_:?fL.7q3-1|xUvD">
                        <field name="VAR" id="gRZtH-i=mURhK^M?,:1X">server</field>
                        <value name="DELTA">
                          <shadow type="math_number" id="Ud{I!jDSK(v34J#H.NX7">
                            <field name="NUM">1</field>
                          </shadow>
                          <block type="math_arithmetic" id=":vgyD5+[DpW$K]9i9H@x">
                            <field name="OP">MINUS</field>
                            <value name="A">
                              <shadow type="math_number" id="SkG4=+,k~pP;bo^qE4L[">
                                <field name="NUM">1</field>
                              </shadow>
                              <block type="on_source" id="~z(_7]7l_K/y/lYQ,j3(">
                                <field name="ATTR">state.val</field>
                              </block>
                            </value>
                            <value name="B">
                              <shadow type="math_number" id="r!_iE9H/Sqc!8fA@Q7#I">
                                <field name="NUM">1</field>
                              </shadow>
                              <block type="on_source" id="0cV}CvW)|ww,LHoWWv=T">
                                <field name="ATTR">oldState.val</field>
                              </block>
                            </value>
                          </block>
                        </value>
                        <next>
                          <block type="update" id="usej.;,e}*IG(bpPvt++">
                            <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                            <field name="OID">0_userdata.0.Zaehlerstaende.PC-Server</field>
                            <field name="WITH_DELAY">FALSE</field>
                            <value name="VALUE">
                              <block type="variables_get" id="5zy7ap0eqw4|yHXHs.:|">
                                <field name="VAR" id="gRZtH-i=mURhK^M?,:1X">server</field>
                              </block>
                            </value>
                          </block>
                        </next>
                      </block>
                    </statement>
                  </block>
                </xml>
                

                anschliessend loggst den DP unter userdata.0 anstatt den original DP vom shelly

                1 Reply Last reply Reply Quote 0
                • RoddiEF
                  RoddiEF last edited by RoddiEF

                  So hier ein kleines Update: Mit einem Script (Orginal) hat es jetzt Funktioniert.
                  Die Werte Heute/Gestern werden geschrieben. (siehe Screenshot)
                  Habe das Script per Copy kopiert (beide Scripts liegen im common Ordner) und aus:

                  var shelly_dp = "shelly.0"; (Orginal)
                  ein  var shelly_dp = "shelly.1"; gemacht.
                  

                  Die fehlenden Datenpunkte/Shellys wurden auch angelegt. Jetzt warte ich mal ab was heute nach 0:00 Uhr passiert, ob jetzt die anderen Werte (Heute/Gestern) von den hinzugefügten auch geschrieben werden.

                  Update dann Morgen was passiert ist.

                  JetztWerte.JPG

                  1 Reply Last reply Reply Quote 0
                  • RoddiEF
                    RoddiEF last edited by RoddiEF

                    Schluss Update:
                    Leider hat es nicht Funktioniert wie ich gedacht hatte. Werte wurden nicht geschrieben.
                    Nachdem ich nun Tage damit verbracht habe zu Experimentieren, hab ich wohl eine Lösung gefunden die Funktioniert.
                    Hier die Original Einstellung (bei mir die Shellys mit CoIoT):

                    var datenpunkt = "ShellyVerbrauch_0.";
                    var shelly_dp = "shelly.0"
                    

                    Wenn man bei beiden "0" eine "1" daraus macht wie hier:

                    var datenpunkt = "ShellyVerbrauch_1."
                    var shelly_dp = "shelly.1";
                    

                    dann werden Werte für Heute/Gestern auch geschrieben.
                    Der Unterschied der es aus macht ist der, das die zweiten Werte (bei mir für Shellys mit MQTT) in ein extra Ordner geschrieben werden und nicht in den selben wie für CoIoT.
                    dieOrdner.JPG
                    passt jetzt.JPG
                    P.S. Wenn jemand so Freundlich wäre und mir den Erledigt-Button zeigen würde dann würde ich es als erledigt makieren.

                    da_Woody 1 Reply Last reply Reply Quote 0
                    • da_Woody
                      da_Woody @RoddiEF last edited by

                      @roddief sagte in Negativwerte nach Shelly-Update:

                      P.S. Wenn jemand so Freundlich wäre und mir den Erledigt-Button zeigen würde dann würde ich es als erledigt makieren.

                      einfach deinen ersten post editieren...

                      RoddiEF 1 Reply Last reply Reply Quote 0
                      • RoddiEF
                        RoddiEF @da_Woody last edited by

                        @da_woody sagte in Negativwerte nach Shelly-Update:

                        @roddief sagte in Negativwerte nach Shelly-Update:

                        P.S. Wenn jemand so Freundlich wäre und mir den Erledigt-Button zeigen würde dann würde ich es als erledigt makieren.

                        einfach deinen ersten post editieren...

                        Hatte ich versucht, nur es gibt keinen Punkt wo ich das als gelöst markieren könnte.
                        Der Link brachte mich auch nicht weiter. Ich kann den nur Editieren, mehr nicht. Deshalb ja auch meine Frage wie?
                        Kein Button.JPG

                        DJMarc75 1 Reply Last reply Reply Quote 0
                        • DJMarc75
                          DJMarc75 @RoddiEF last edited by DJMarc75

                          @roddief Bearbeiten auswählen und im TITEL ein [gelöst] voranstellen.

                          1 Reply Last reply Reply Quote 0
                          • metaxa
                            metaxa @paul53 last edited by metaxa

                            @paul53 sagte in [gelöst]Negativwerte nach Shelly-Update:

                            @crunchip sagte: script was dieses Problem zuverlässig abfängt

                            Dafür genügt auch ein eigener Datenpunkt für die kumulative Energie (Zählerstand), der von Sourceanalytix ausgewertet wird und ein einfaches Skript:

                            Bild_2023-01-13_132257117.png

                            @paul53 ich hätte da bitte eine Verständnisfrage:

                            Das Script tut super was es machen soll, danke paul53. Ich fürchte nur, bei einem reset des Shelly Zählerstand bei einem Stromausfall funktioniert es nicht, oder täusche ich mich.

                            Wenn am 1.1. um 11:00 der Zählerstand 1000 ist und danach der Zähler auf 0 gesetzt wird, dann wird ja nix mehr aufsummiert und der anglegte Zählerstand
                            dbb438d9-1dbe-44e2-b6b7-786d784903e9-image.png
                            bleibt bei 1000 bis der Shellyzählerstand (sagen wir) am 2.1. um 11:00 wieder > 1000 ist.

                            Habe ich da einen Denkfehler?

                            LG, mxa

                            paul53 1 Reply Last reply Reply Quote 0
                            • paul53
                              paul53 @metaxa last edited by

                              @metaxa sagte: Habe ich da einen Denkfehler?

                              Ja: Wenn auf 0 zurück gestellt wird, geht es mit Werten > 0 ansteigend weiter, so dass im eigenen Datenpunkt weiter gezählt wird.

                              metaxa 1 Reply Last reply Reply Quote 1
                              • metaxa
                                metaxa @paul53 last edited by metaxa

                                @paul53 sagte in [gelöst]Negativwerte nach Shelly-Update:

                                Ja: Wenn auf 0 zurück gestellt wird, geht es mit Werten > 0 ansteigend weiter, so dass im eigenen Datenpunkt weiter gezählt wird.

                                7fda3854-c691-4f5b-88d1-ade73c731cad-image.png

                                Lieben Dank @paul53 !

                                Könnte man diese Logik in einem Alias "Read" oder "Write" Bauteil auch unterbringen, oder ist ein Script dafür unumgänglich?

                                paul53 1 Reply Last reply Reply Quote 0
                                • paul53
                                  paul53 @metaxa last edited by

                                  @metaxa sagte: ist ein Script dafür unumgänglich?

                                  Ja, im Alias hat man "vorheriger Wert" nicht zur Verfügung.

                                  1 Reply Last reply Reply Quote 1
                                  • rantanplan
                                    rantanplan @paul53 last edited by

                                    @paul53 Hallo paul53

                                    Ich habe Dein Script etwas angepasst.
                                    Du initialisierst die lokale Variable immer mit dem aktuellen Wert vom Shelly.
                                    Wenn der Shelly mal resettet wurde und das Script neu gestartet wird kann es einem den alten Wert versemmeln.
                                    Ich habe es nun so gelöst:
                                    Shelly.png

                                    Das klappt bei mir einwandfrei. (habe etliche Tests gemacht)
                                    Auch das Umstellen läuft kinderleicht.

                                    Datenpunkt anlegen
                                    Blockly erstellen und starten
                                    Datenpunkt beobachten ob alles richtig ist
                                    Im Alias den CONSUMPTION auf den eigenen Datenpunkt setzen und fertig.
                                    SA läuft sauber weiter und alle Werte stimmen.

                                    Grüße

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

                                    Support us

                                    ioBroker
                                    Community Adapters
                                    Donate
                                    FAQ Cloud / IOT
                                    HowTo: Node.js-Update
                                    HowTo: Backup/Restore
                                    Downloads
                                    BLOG

                                    536
                                    Online

                                    31.9k
                                    Users

                                    80.2k
                                    Topics

                                    1.3m
                                    Posts

                                    negativwerte script shelly sourceanalytix
                                    8
                                    33
                                    2058
                                    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