Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Migration Scriptgui ccu.io -> iobroker.javascript

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Migration Scriptgui ccu.io -> iobroker.javascript

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

      Hallo Bernhard,

      schau mal mein Script an. Erzeugt eine Variable "DVerbrauch" rechnet was und schreibt den Wert in die Variable.

      Die Variable ist immer verfügbar bis du sie löscht. Du findest sie bei den Objekten wieder und kannst sie darüber dann visualisieren.

      Gruß Bernd
      304_sc2.png
      304_sc1.png
      1145_node-red-adapter-ip.jpg

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

        @Heinzelmaennchen:

        1. (Wie) kann man am intelligentesten manuell über iobroker.admin eine Variable anlegen? `
          Geht momentan nicht. Und ob es sein soll, da bin ich noch nicht schlüssig.
          @Heinzelmaennchen:
        1. Wie geht so etwas aus einem Script heraus? Und wie lange ist eine solche Variable dann gültig. Nur für die Laufzeit des Scriptes oder persistent immer? `
          Da hat schon bku wunderbar geantwortet:
        createState('MyNewState');// Immer und überall (unter javascript.0.MyNewState) da.
        
        

        @Heinzelmaennchen:

        1. (Wie) kann man ein bestehendes ccui.io prg oder script am besten importieren? `
          Momentan kenne ich nur den Manuelweg. Die Befehle sind meinstens auch in ioBroker da. Und wenn was nicht geht => anpassen.
        1 Reply Last reply Reply Quote 0
        • H
          Heinzelmaennchen last edited by

          Hallo Bernd,

          na das ging mal schnell 🙂

          Danke dafür

          Und sieht darüber hinaus auch noch sehr danach aus, als könnte ich das script mit ein paar kleinen Änderungen auch fast so übernehmen.

          Wenn ich das richtig interpretiere bildest Du den Durchschnittswert aus den letzten 3 Werten, richtig? Wie lange ist den die Zeitdifferenz dazwischen? Es geht mir dabei darum, ein Gefühl zu entwickeln, wie ich das bei mir angehe, da ich je nach Messpunkt zwischen zwei Messungen ca 500ms habe. Und von den Messpunkten habe ich fast 35 Stück übers Haus verteilt!

          Gruß

          Bernhard

          1 Reply Last reply Reply Quote 0
          • B
            bku last edited by

            Bernhard,

            ja du hast das richtig erkannt - aber ich mittele mir nur 3 Stromverbrauchsmessungen um Spitzen auszugleichen. Ist auch noch mehr test. Meine Messwerte kommen so alle 3 Minuten. Läuft z.Z. ohne Prob.

            Ob dein Volumen so funktioniert kann ich nicht sagen - vom Gefühl bin ich eher skeptisch. Ausprobieren!

            Gruß Bernd

            1 Reply Last reply Reply Quote 0
            • S
              smiling_Jack last edited by

              @Heinzelmaennchen:

              Hallo Bluefox,

              1. (Wie) kann man ein bestehendes ccui.io prg oder script am besten importieren?

              Herzliche Grüße

              Bernhard `

              Am besten mit ScriptGUI für ioBroker. Aber das dauert leider noch etwas :oops:

              1 Reply Last reply Reply Quote 0
              • P
                pix last edited by

                Hallo,

                hab jetzt doch schon mal angefangen, in iobroker zu scripten, damit ich beim Usertreffen nicht ganz unbeleckt dastehe. Die Portierung aller Skripte aus CCU.IO ist ein Riesenbatzen für mich (z.Zt. 78 Skripte, teils mehrere Seiten lang). Ich fange erstmal an mit den neuen Scripts, die keine Homematic-Datenpunkte verwenden (Adapter noch nicht aktiviert).

                Frage 1: Das Anlegen einer Variable ist oben erklärt (createState). Gibt es die Möglichkeit, die Variablen näher zu definieren (so wie in CCU.IO mit setObject)? Ich möchte festlegen, welcher Typ sie ist (Boolean, Zeichenkette, etc.), welche Einheit sie verwendet (zB Volt oder °C) und schließlich einen String mit Leerzeichen zur Benennung in Yahui (dafür auch das obligatorische r in Klammern).

                Frage 2: Wo werden die Scripts abgespeichert? Kann ich sie nur im Adapter editieren oder kann ich sie mit auch im Dateisystem finden und mit einem externen Editor arbeiten?

                Die zwei Fragen möchte ich klären, damit ich mir nicht Doppelt Arbeit mache.

                Gruß

                Pix

                EDIT: Wichtig sind für mich vor allem Variablen vom Type Werteliste. Wie erstelle ich die?

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

                  @bku:

                  Hallo Bernhard,

                  schau mal mein Script an. Erzeugt eine Variable "DVerbrauch" rechnet was und schreibt den Wert in die Variable.

                  Die Variable ist immer verfügbar bis du sie löscht. Du findest sie bei den Objekten wieder und kannst sie darüber dann visualisieren.

                  Gruß Bernd `

                  Hallo Bernd,

                  wie hast Du in der CCU die Variable "Stomverbrauch" (bei Dir hm-rega.0.9919) erzeugt?

                  Die Diagramme in der CCU finde ich schon ganz sinnvoll, z.B. kWh im Tagesverlauf nach Stunden, Im Wochen- und Monatsverlauf nach Tagen.

                  So etwas würde ich gerne in ioBroker nachbilden, frage mich nur wie?

                  Der ENERGY_COUNTER im hm-rpc Objekt zählt ja einfach nur hoch.

                  Jetzt könnte man jede Stunde das Delta der Werte nehmen und in eine Javascript Variable schreiben.

                  Ebenso um 0:00 Uhr das Delta der Werte zwischen 24h.

                  Ich habe allerdings keine Ahnung, wie ich das Umsetzen kann.

                  Mit Javascript und Schedule? Und dann? wie kommt man an die richtigen Werte um das Delta zu bilden?

                  Meine Frage oben zielte vor allem darauf, ob die gewünschten Werte schon in der CCU vorliegen und ich einfach diese verwenden kann.

                  VG,

                  Michael

                  1 Reply Last reply Reply Quote 0
                  • B
                    bku last edited by

                    @ruhr70:

                    wie hast Du in der CCU die Variable "Stomverbrauch" (bei Dir hm-rega.0.9919) erzeugt? `
                    Ist noch aus einer Script-Berechnung in CCU.IO - hab da noch Solar-Werte die ich rein- bzw. rausrechne. Dort wird die Variable in die CCU geschrieben.

                    Da ich im "Scripten" noch nicht so gut bin, ist es noch nicht in ioBroker portiert …..

                    Gruß Bernd

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

                      @bku:

                      Ist noch aus einer Script-Berechnung in CCU.IO - hab da noch Solar-Werte die ich rein- bzw. rausrechne. Dort wird die Variable in die CCU geschrieben.

                      Da ich im "Scripten" noch nicht so gut bin, ist es noch nicht in ioBroker portiert …..

                      Gruß Bernd `

                      Danke für die Rückmeldung.

                      Na, dann ist das ein Thema für später, um ein bisschen in Javascript reinzukommen 😉

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

                        @pix:

                        Gibt es die Möglichkeit, die Variablen näher zu definieren (so wie in CCU.IO mit setObject)? `
                        In der neuen Version (vor 5 Minuten) gibt es die Möglichkeit:

                        https://github.com/ioBroker/ioBroker.ja … parameters

                        createState('myVariable', {unit: '°C', type: 'number'});
                        

                        @pix:

                        Wo werden die Scripts abgespeichert? `
                        48_scripts.png
                        Die kann man leider direkt nicht editieren. Aber da wird ace editor verwendet. Und der ist wirklich bequem. Und wenn nicht, sage einfach und wir werden es verbessern.

                        @pix:

                        Wichtig sind für mich vor allem Variablen vom Type Werteliste. Wie erstelle ich die? `

                        createState('myVariable', {type: 'number', states:['first','second',third']});
                        
                        1 Reply Last reply Reply Quote 0
                        • P
                          pix last edited by

                          Danke, das hilft mir weiter.

                          Habe noch https://github.com/ioBroker/ioBroker/blob/master/doc/SCHEMA.md#state gefunden.

                          Gruss

                          Pix

                          1 Reply Last reply Reply Quote 0
                          • P
                            pix last edited by

                            Hallo,
                            @Bluefox:

                            Die kann man leider direkt nicht editieren. Aber da wird ace editor verwendet. Und der ist wirklich bequem. Und wenn nicht, sage einfach und wir werden es verbessern. `
                            Der Editor zeigt mir immer nur 23 Zeilen auf einmal an, auch wenn ich das Fenster größer ziehe (Browser Safari und Chrome auf OS X Yosemite). 261_bildschirmfoto_2015-03-29_um_15.09.35.jpg

                            Die Doku der Parameter für createState ist unvollständig. Wie nutze ich "forceCreation"? Wenn ich z.B. den Namen oder die EInheit einer Variable im Nachhinein ändern will, sollte sie beim Reload die Änderung in der Deklaration übernehmen. Bisher muss ich sie immer löschen und das Skript neu starten. Das ist sicher nicht gut u.a. für History.

                            Nutzt man das so?

                            createState('Alarmanlage', 0, {forceCreation: true}, {name: 'Status Alarmanlage (r)', type: 'number', states:['unscharf','scharf']});
                            

                            Gruß

                            Pix

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

                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            723
                            Online

                            31.7k
                            Users

                            79.7k
                            Topics

                            1.3m
                            Posts

                            6
                            13
                            3870
                            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