Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Unterstützung gesucht ($): Entwicklung eines Scripts

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.6k

Unterstützung gesucht ($): Entwicklung eines Scripts

Scheduled Pinned Locked Moved Skripten / Logik
9 Posts 5 Posters 2.1k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • C Offline
    C Offline
    ChristianF
    wrote on last edited by
    #1

    Hallo,

    ich suche jemanden, der ein kleines Script für mich entwickelt.

    Was soll es tun?

    • Es gibt zwei Datenpunkte in der ioBroker Datenbank, die sich regelmäßig ändern. Es handelt sich um zwei Zahlen (Ertrag eines SolarEdge PV-Wechselrichters und entsprechender Skalierungsfaktor dazu). Hier werden zB gerade 3794W produziert:
      455_p1.jpg

    • In Abhängigkeit der erzeugten Energie ändert sich logischerweise der Datenpunkt für den Ertrag. Ändert sich der Ertragswert unter bzw. über einen gewissen Schwellenwert, so ändert sich seine Darstellung im Objekt und gleichzeitig der Skalierungsfaktor. Hier werden zB gerade 2132W produziert:
      455_p2.jpg

    (detaillierte Beschreibung siehe hier: http://forum.iobroker.net/viewtopic.php … 208#p37206 )

    • Das Skript soll in dem Moment, wo die Werte durch den Modbus Adapter aktualisiert werden, prüfen ob der Skalierungsfaktor ungleich 0 ist. <u>Ist er Null</u>, soll der Ertragswert 1:1 in einen Datenpunkt anderes ioBroker Objekt übertragen werden. <u>Ist er nicht 0</u> sondern zB -1, so soll der Ertragswert durch 10 geteilt werden und das Ergebnis in den neuen Datenpunkt geschrieben werden.

    Ich möchte das nicht für umsonst haben, sondern bin gern offen für Angebote, was so ein Script kosten würde. Sofern es einmal fertig ist, stelle ich es gern der Community zur Verfügung.

    Viele Grüße

    Christian

    1 Reply Last reply
    0
    • BluefoxB Offline
      BluefoxB Offline
      Bluefox
      wrote on last edited by
      #2
      function convertValue(value, factor) {
         if (value === null) return;
         if (factor === null) factor = 0;
         setState('Energie', value * Math.pow(10, factor), true);
      }  
      
      createState('Energie', {
      	name: 'Energiewert',
      	unit: 'W',
      	min:  0,
      	type: 'number',
      	role: 'value.energy'
      }, function () {
      	on('modbus.0.holdingRegisters.40084_CurrentPower-AC', function(obj) {
      		var timeout = setTimeout(function () {
      			clearTimeout(timeout);
      			var factorState = getState('modbus.0.holdingRegisters.40085_ACPF');
      			convertValue(obj.state.val, factorState ? factorState.val : 0);
      		}, 100); 
      	});
      	var factorState = getState('modbus.0.holdingRegisters.40085_ACPF');
      	var valueState = getState('modbus.0.holdingRegisters.40084_CurrentPower-AC');
      	convertValue(valueState ? valueState.val : null, factorState ? factorState.val : 0); 
      });
      
      1 Reply Last reply
      0
      • apollon77A Offline
        apollon77A Offline
        apollon77
        wrote on last edited by
        #3

        Sollte man ein kleines Delay einbauen falls Wert und Skalierungsfaktor nicht "gleichzeitig" aktualisiert werden?

        Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

        • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
        • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
        1 Reply Last reply
        0
        • BluefoxB Offline
          BluefoxB Offline
          Bluefox
          wrote on last edited by
          #4

          @apollon77:

          Sollte man ein kleines Delay einbauen falls Wert und Skalierungsfaktor nicht "gleichzeitig" aktualisiert werden? `
          Vielleicht. Wird nicht schaden.

          habe ich oben ergänzt.

          1 Reply Last reply
          0
          • paul53P Offline
            paul53P Offline
            paul53
            wrote on last edited by
            #5

            Alternative Funktion convertValue:

            function convertValue(value, factor) {
               if (value === null) return;
               if (factor === null) factor = 0;
               setState('Energie', value * Math.pow(10, factor), true);
            }   
            
            

            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 Reply Last reply
            0
            • C Offline
              C Offline
              ChristianF
              wrote on last edited by
              #6

              Wow, vielen Dank ! Das ging ja extrem fix. Bin gespannt ob es morgen funktioniert, bis auf ein Hochkomma zu viel hat die JS-Engine es schonmal geschluckt :) Leider scheint gerade keine Sonne, aber ich probiere es morgen natürlich sofort aus :)

              Viele Grüße

              Christan

              1 Reply Last reply
              0
              • HomoranH Do not disturb
                HomoranH Do not disturb
                Homoran
                Global Moderator Administrators
                wrote on last edited by
                #7

                und wenn alles läuft kannst du ja mal hier in der Mitte unter dem blauen Header nachsehen:

                http://www.iobroker.net/?lang=de

                Gruß

                Rainer

                kein Support per PN! - Fragen im Forum stellen -

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

                ioBroker freut sich auch über eine Spende für das Forum. Benutzt dazu den Spendenbutton im Header. Danke!

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

                1 Reply Last reply
                0
                • C Offline
                  C Offline
                  ChristianF
                  wrote on last edited by
                  #8

                  Danke, ist erledigt :)

                  Das Script funktioniert übrigens prima :)

                  1 Reply Last reply
                  0
                  • HomoranH Do not disturb
                    HomoranH Do not disturb
                    Homoran
                    Global Moderator Administrators
                    wrote on last edited by
                    #9

                    @ChristianF:

                    Das Script funktioniert übrigens prima `
                    @ChristianF:

                    eider scheint gerade keine Sonne, aber ich probiere es morgen natürlich sofort aus `

                    Wieso konntest du das denn gestern abend nicht testen. Hast du bei der Planung der Anlage vergessen auch einige Lunarmodule einzubauen?

                    :lol: :lol:

                    Schön das jetzt alles klappt.

                    Gruß

                    Rainer

                    kein Support per PN! - Fragen im Forum stellen -

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

                    ioBroker freut sich auch über eine Spende für das Forum. Benutzt dazu den Spendenbutton im Header. Danke!

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

                    1 Reply Last reply
                    0
                    Reply
                    • Reply as topic
                    Log in to reply
                    • Oldest to Newest
                    • Newest to Oldest
                    • Most Votes


                    Support us

                    ioBroker
                    Community Adapters
                    Donate

                    320

                    Online

                    32.7k

                    Users

                    82.4k

                    Topics

                    1.3m

                    Posts
                    Community
                    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                    ioBroker Community 2014-2025
                    logo
                    • Login

                    • Don't have an account? Register

                    • Login or register to search.
                    • First post
                      Last post
                    0
                    • Home
                    • Recent
                    • Tags
                    • Unread 0
                    • Categories
                    • Unreplied
                    • Popular
                    • GitHub
                    • Docu
                    • Hilfe