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. ioBroker Allgemein
  4. Growatt Wechselrichter über Modbus auslesen - gelöst -

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.4k

Growatt Wechselrichter über Modbus auslesen - gelöst -

Scheduled Pinned Locked Moved ioBroker Allgemein
229 Posts 29 Posters 101.9k Views 24 Watching
  • 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.
  • smartboartS smartboart

    jeder Strang ist einzeln abgesichert und Sperrdioden verhindern Hotpots bzw. Rückstrom in verschattete Anlagenteile. Über Schütze können bei Bearf strings zu oder weggeschaltet werden. Deshalb die States in IO Broker.... Und die einzige Größe die einen Inverter grillt ist die Spannung. Was er kann zieht er halt an Leistung. Die zulässige Spannung wird nicht überschritten. Ist halt ne Studie....für die in zukunft geplante Anlage .

    WiednitzW Offline
    WiednitzW Offline
    Wiednitz
    wrote on last edited by
    #101

    @smartboart

    Aha flach und beschattet, da ist es verständlich. Meine kann ich manuell dem Sonnenstand nachführen. Und die richtige Anlage hat dann einen besseren Standort ?

    Das nur die Spannung der Anlage schaden kann ist bekannt, allerdings wird der Inverter bei Volllast auch gut warm, an die 40 Grad. Da ist die Frage, wie die Komponenten altern. Sperrdioden sollen heutige Panels ja schon integriert haben, wie ich gelesen habe !?

    smartboartS 1 Reply Last reply
    0
    • WiednitzW Wiednitz

      @smartboart

      Aha flach und beschattet, da ist es verständlich. Meine kann ich manuell dem Sonnenstand nachführen. Und die richtige Anlage hat dann einen besseren Standort ?

      Das nur die Spannung der Anlage schaden kann ist bekannt, allerdings wird der Inverter bei Volllast auch gut warm, an die 40 Grad. Da ist die Frage, wie die Komponenten altern. Sperrdioden sollen heutige Panels ja schon integriert haben, wie ich gelesen habe !?

      smartboartS Offline
      smartboartS Offline
      smartboart
      wrote on last edited by smartboart
      #102

      @Wiednitz Bypassdioden haben die drinne....Sperrdioden? weiß ich nicht...meine jedenfalls nicht...sind aber auch schon Altere...

      Nachführung it cool!

      Ja die Richtige kommt auf Satteldach...Hat ne ideale Ausrichtung und Neigung...

      WiednitzW 1 Reply Last reply
      0
      • smartboartS smartboart

        @Wiednitz Bypassdioden haben die drinne....Sperrdioden? weiß ich nicht...meine jedenfalls nicht...sind aber auch schon Altere...

        Nachführung it cool!

        Ja die Richtige kommt auf Satteldach...Hat ne ideale Ausrichtung und Neigung...

        WiednitzW Offline
        WiednitzW Offline
        Wiednitz
        wrote on last edited by
        #103

        @smartboart

        Nagut kann sein, ich verwechsle die Diodenart. Hab mal bei Sonne mit der Hand so ein Feld auf einem Panel abgedeckt, da ist die Leistung 100 Watt abgefallen......

        smartboartS 1 Reply Last reply
        0
        • WiednitzW Wiednitz

          @smartboart

          Nagut kann sein, ich verwechsle die Diodenart. Hab mal bei Sonne mit der Hand so ein Feld auf einem Panel abgedeckt, da ist die Leistung 100 Watt abgefallen......

          smartboartS Offline
          smartboartS Offline
          smartboart
          wrote on last edited by
          #104

          @Wiednitz Ja dafür sind die Bypassdioden, dass dann trotzdem noch was aus dem string kommt. Wären die nicht drinne, wäre der ganze String weg.

          WiednitzW 1 Reply Last reply
          0
          • smartboartS smartboart

            @Wiednitz Ja dafür sind die Bypassdioden, dass dann trotzdem noch was aus dem string kommt. Wären die nicht drinne, wäre der ganze String weg.

            WiednitzW Offline
            WiednitzW Offline
            Wiednitz
            wrote on last edited by
            #105

            @smartboart

            Naja bei 4 Panels hab ich ja nur einen String ^^

            smartboartS 1 Reply Last reply
            0
            • WiednitzW Wiednitz

              @smartboart

              Naja bei 4 Panels hab ich ja nur einen String ^^

              smartboartS Offline
              smartboartS Offline
              smartboart
              wrote on last edited by smartboart
              #106

              @Wiednitz dann brauchst auch keine sperrdiode...1 String ist bei dem inverter aber auch ideal, hat ja auch nur einen MPP Tracker.

              WiednitzW 1 Reply Last reply
              0
              • smartboartS smartboart

                @Wiednitz dann brauchst auch keine sperrdiode...1 String ist bei dem inverter aber auch ideal, hat ja auch nur einen MPP Tracker.

                WiednitzW Offline
                WiednitzW Offline
                Wiednitz
                wrote on last edited by Wiednitz
                #107

                @smartboart

                Mal Off topic Growatt, du scheinst ja wesentlich mehr Ahnung zu haben, was Scripte angeht. Ich versuche meiner IPcam je nach Tageszeit verschiedene Positionen zuzuweisen. Das versuche ich per Astrozeit. Jedoch scheint das hinter "sonst" nicht ausgeführt zu werden. Wo ist der Fehler ? Hab mein Blockly mal als Javascript eingefügt....

                var Intervall;
                
                
                Intervall = setInterval(function () {
                  if (compareTime(getAstroDate("sunset", undefined, 0), getAstroDate("sunrise", undefined, 0), "not between", null)) {
                    try {
                      require("request")('http://192.168.10.68/cgi-bin/hi3510/preset.cgi?-act=goto&-number=0?usr=xxx&pwd=xxx').on("error", function (e) {console.error(e);});
                    } catch (e) { console.error(e); }
                  } else {
                    try {
                      require("request")('http://192.168.10.68/cgi-bin/hi3510/preset.cgi?-act=goto&-number=5?usr=xxx&pwd=xxx').on("error", function (e) {console.error(e);});
                    } catch (e) { console.error(e); }
                  }
                }, 60000);
                
                
                smartboartS 1 Reply Last reply
                0
                • WiednitzW Wiednitz

                  @smartboart

                  Mal Off topic Growatt, du scheinst ja wesentlich mehr Ahnung zu haben, was Scripte angeht. Ich versuche meiner IPcam je nach Tageszeit verschiedene Positionen zuzuweisen. Das versuche ich per Astrozeit. Jedoch scheint das hinter "sonst" nicht ausgeführt zu werden. Wo ist der Fehler ? Hab mein Blockly mal als Javascript eingefügt....

                  var Intervall;
                  
                  
                  Intervall = setInterval(function () {
                    if (compareTime(getAstroDate("sunset", undefined, 0), getAstroDate("sunrise", undefined, 0), "not between", null)) {
                      try {
                        require("request")('http://192.168.10.68/cgi-bin/hi3510/preset.cgi?-act=goto&-number=0?usr=xxx&pwd=xxx').on("error", function (e) {console.error(e);});
                      } catch (e) { console.error(e); }
                    } else {
                      try {
                        require("request")('http://192.168.10.68/cgi-bin/hi3510/preset.cgi?-act=goto&-number=5?usr=xxx&pwd=xxx').on("error", function (e) {console.error(e);});
                      } catch (e) { console.error(e); }
                    }
                  }, 60000);
                  
                  
                  smartboartS Offline
                  smartboartS Offline
                  smartboart
                  wrote on last edited by
                  #108

                  @Wiednitz
                  Also von Blockly habe ich keine Ahnung. Was Javascript aus dem Blockly macht sieht für mich auch eher Merkwürdig aus. Ich bastle morgen morgen mal nen javascript zusammen wie ich es programmieren würde.
                  Die http Request an sich funktionieren aber oder?

                  WiednitzW 1 Reply Last reply
                  0
                  • smartboartS Offline
                    smartboartS Offline
                    smartboart
                    wrote on last edited by
                    #109

                    hab mal das Growatt Skript um die Amotisierung angepasst und kleine Änderungen eingebaut.

                    /* Skript berechnet Tagesersparnis / Ertrag , Gesamtersparnis / Ertrag sowie die
                    Gesamtlaufzeit*/
                    
                    // Anlegen der States für Vis
                    createState('javascript.0.Messwerte.PV_Huette.Ertrag_Heute',{read: true,write: true,desc: "Errsparnis PV Anlage Heute",type: "number",def:0, unit: "EUR"});
                    createState('javascript.0.Messwerte.PV_Huette.Ertrag_Gesamt',{read: true,write: true,desc: "Ersparnis PV Anlage Gesamt",type: "number",def:0, unit: "EUR"});
                    createState('javascript.0.Messwerte.PV_Huette.Laufzeit',{read: true,write: true,desc: "Betriebsstundenzähler",type: "number",def:0, unit: "h"});
                    createState('javascript.0.Messwerte.PV_Huette.Amotisierung',{read: true,write: true,desc: "Amotisierung Anschaffungskosten",type: "number",def:0, unit: "EUR"});
                    
                    
                    //Variablen
                    var logging = false; // true = log aktivieren / false = log deaktivieren
                    var Ersparnis = 0.31; //Strompreis für  kw/h in € hier eintragen
                    var Anschaffungskosten = 3,50; // hier Anschaffungskosten eintragen
                    
                    //Konstante
                    const idErtragHeute = 'modbus.1.inputRegisters.30028Erzeugte_Leistung heute'/*Erzeugte Leistung heute*/;
                    const idErtragGesamt = 'modbus.1.inputRegisters.30030Erzeugte_Leistung gesamt'/*Erzeugte Leistung gesamt*/;
                    
                    const idErsparnisHeute = 'javascript.0.Messwerte.PV_Huette.Ertrag_Heute';   
                    const idErsparnisGesamt = 'javascript.0.Messwerte.PV_Huette.Ertrag_Gesamt'; 
                    
                    const idLaufzeitLow = 'modbus.1.inputRegisters.30032Laufzeit_low'/*Laufzeit gesamt*/;
                    const idLaufzeitHigh = 'modbus.1.inputRegisters.30031Laufzeit_high'/*Laufzeit gesamt*/;
                    const idLaufzeit = 'javascript.0.Messwerte.PV_Huette.Laufzeit';
                    
                    const idRestkosten = 'javascript.0.Messwerte.PV_Huette.Amotisierung';
                    
                    // Funktion Restkosten Berechnen
                    function BerechnenRestkosten() {
                    var Ersparnis = getState(idErsparnisGesamt).val;
                    if(Ersparnis>0){
                    setState(idRestkosten,Anschaffungskosten-Ersparnis,true);
                    if(logging)log("Restkosten Wechselrichter berechnet"); 
                        }
                    }
                    
                    //Funktion Laufzeit berechnen
                    function BerechnenLaufzeit() {
                    var High = getState(idLaufzeitHigh).val;
                    var Low = getState(idLaufzeitLow).val;
                    if(Low>0 || High>0){
                    setState(idLaufzeit,High*18.203+Low/3600,true)
                    if(logging)log("Gesamtlaufzeit Wechselrichter berechnet"); 
                        }
                    }
                    
                    
                    //Funktion Ertrag in € heute berechnen
                    function BerechnenHeute() {
                    var ErtragHeute = getState(idErtragHeute).val;  
                    if(ErtragHeute>0){
                    setState(idErsparnisHeute,ErtragHeute*Ersparnis,true);
                    if(logging)log("Tagesstrom Ertrag berechnet"); 
                        }
                    }
                    
                    // Funktion Ertrag in € Gesamt berechnen
                    function BerechnenTotal(){
                    var ErtragGesamt = getState(idErtragGesamt).val;
                    if(ErtragGesamt>0){
                    setState(idErsparnisGesamt,ErtragGesamt*Ersparnis,true);
                    if(logging)log(" Gesamtstrom Ertrag  berechnet ");
                        }
                    }
                    
                    // Scriptstart
                    BerechnenHeute();
                    BerechnenTotal();
                    BerechnenLaufzeit();
                    BerechnenRestkosten();
                    
                    // Trigger Berechnen Ertrag in € heute
                    on(idErtragHeute, function(obj) {
                        if(logging)log(" Trigger Ertrag Heute Ersparnis berchnen ");
                        BerechnenHeute();
                    });
                    
                    // Trigger Berechnen Ertrag in € Gesamt und Amotisierung
                    on(idErtragGesamt, function(obj) {
                        if(logging)log(" Trigger Ertrag Gesamt Ersparnis berchnen ");
                        BerechnenTotal();
                        BerechnenRestkosten();
                    });
                    
                    // Trigger High zum Berechnen Laufzeit gesamt
                    on(idLaufzeitHigh, function(obj) {
                        if(logging)log(" Trigger High Laufzeit berchnen ");
                        BerechnenLaufzeit();
                    });
                    
                    // Trigger Low zum Berechnen Laufzeit gesamt
                    on(idLaufzeitLow, function(obj) {
                        if(logging)log(" Trigger Low Laufzeit berchnen ");
                        BerechnenLaufzeit();
                    });
                    
                    WiednitzW 1 Reply Last reply
                    0
                    • smartboartS smartboart

                      @Wiednitz
                      Also von Blockly habe ich keine Ahnung. Was Javascript aus dem Blockly macht sieht für mich auch eher Merkwürdig aus. Ich bastle morgen morgen mal nen javascript zusammen wie ich es programmieren würde.
                      Die http Request an sich funktionieren aber oder?

                      WiednitzW Offline
                      WiednitzW Offline
                      Wiednitz
                      wrote on last edited by
                      #110

                      @smartboart

                      ja die Steuerung per http Request funktioniert. Wenn ich die Position jetzt manuell verändere, wird bei Neustart des Scripts der erste Request ausgeführt. Eigentlich müsste ja der zweite Request ausgeführt werden....

                      Großen Danke im Voraus...

                      smartboartS 1 Reply Last reply
                      0
                      • smartboartS smartboart

                        hab mal das Growatt Skript um die Amotisierung angepasst und kleine Änderungen eingebaut.

                        /* Skript berechnet Tagesersparnis / Ertrag , Gesamtersparnis / Ertrag sowie die
                        Gesamtlaufzeit*/
                        
                        // Anlegen der States für Vis
                        createState('javascript.0.Messwerte.PV_Huette.Ertrag_Heute',{read: true,write: true,desc: "Errsparnis PV Anlage Heute",type: "number",def:0, unit: "EUR"});
                        createState('javascript.0.Messwerte.PV_Huette.Ertrag_Gesamt',{read: true,write: true,desc: "Ersparnis PV Anlage Gesamt",type: "number",def:0, unit: "EUR"});
                        createState('javascript.0.Messwerte.PV_Huette.Laufzeit',{read: true,write: true,desc: "Betriebsstundenzähler",type: "number",def:0, unit: "h"});
                        createState('javascript.0.Messwerte.PV_Huette.Amotisierung',{read: true,write: true,desc: "Amotisierung Anschaffungskosten",type: "number",def:0, unit: "EUR"});
                        
                        
                        //Variablen
                        var logging = false; // true = log aktivieren / false = log deaktivieren
                        var Ersparnis = 0.31; //Strompreis für  kw/h in € hier eintragen
                        var Anschaffungskosten = 3,50; // hier Anschaffungskosten eintragen
                        
                        //Konstante
                        const idErtragHeute = 'modbus.1.inputRegisters.30028Erzeugte_Leistung heute'/*Erzeugte Leistung heute*/;
                        const idErtragGesamt = 'modbus.1.inputRegisters.30030Erzeugte_Leistung gesamt'/*Erzeugte Leistung gesamt*/;
                        
                        const idErsparnisHeute = 'javascript.0.Messwerte.PV_Huette.Ertrag_Heute';   
                        const idErsparnisGesamt = 'javascript.0.Messwerte.PV_Huette.Ertrag_Gesamt'; 
                        
                        const idLaufzeitLow = 'modbus.1.inputRegisters.30032Laufzeit_low'/*Laufzeit gesamt*/;
                        const idLaufzeitHigh = 'modbus.1.inputRegisters.30031Laufzeit_high'/*Laufzeit gesamt*/;
                        const idLaufzeit = 'javascript.0.Messwerte.PV_Huette.Laufzeit';
                        
                        const idRestkosten = 'javascript.0.Messwerte.PV_Huette.Amotisierung';
                        
                        // Funktion Restkosten Berechnen
                        function BerechnenRestkosten() {
                        var Ersparnis = getState(idErsparnisGesamt).val;
                        if(Ersparnis>0){
                        setState(idRestkosten,Anschaffungskosten-Ersparnis,true);
                        if(logging)log("Restkosten Wechselrichter berechnet"); 
                            }
                        }
                        
                        //Funktion Laufzeit berechnen
                        function BerechnenLaufzeit() {
                        var High = getState(idLaufzeitHigh).val;
                        var Low = getState(idLaufzeitLow).val;
                        if(Low>0 || High>0){
                        setState(idLaufzeit,High*18.203+Low/3600,true)
                        if(logging)log("Gesamtlaufzeit Wechselrichter berechnet"); 
                            }
                        }
                        
                        
                        //Funktion Ertrag in € heute berechnen
                        function BerechnenHeute() {
                        var ErtragHeute = getState(idErtragHeute).val;  
                        if(ErtragHeute>0){
                        setState(idErsparnisHeute,ErtragHeute*Ersparnis,true);
                        if(logging)log("Tagesstrom Ertrag berechnet"); 
                            }
                        }
                        
                        // Funktion Ertrag in € Gesamt berechnen
                        function BerechnenTotal(){
                        var ErtragGesamt = getState(idErtragGesamt).val;
                        if(ErtragGesamt>0){
                        setState(idErsparnisGesamt,ErtragGesamt*Ersparnis,true);
                        if(logging)log(" Gesamtstrom Ertrag  berechnet ");
                            }
                        }
                        
                        // Scriptstart
                        BerechnenHeute();
                        BerechnenTotal();
                        BerechnenLaufzeit();
                        BerechnenRestkosten();
                        
                        // Trigger Berechnen Ertrag in € heute
                        on(idErtragHeute, function(obj) {
                            if(logging)log(" Trigger Ertrag Heute Ersparnis berchnen ");
                            BerechnenHeute();
                        });
                        
                        // Trigger Berechnen Ertrag in € Gesamt und Amotisierung
                        on(idErtragGesamt, function(obj) {
                            if(logging)log(" Trigger Ertrag Gesamt Ersparnis berchnen ");
                            BerechnenTotal();
                            BerechnenRestkosten();
                        });
                        
                        // Trigger High zum Berechnen Laufzeit gesamt
                        on(idLaufzeitHigh, function(obj) {
                            if(logging)log(" Trigger High Laufzeit berchnen ");
                            BerechnenLaufzeit();
                        });
                        
                        // Trigger Low zum Berechnen Laufzeit gesamt
                        on(idLaufzeitLow, function(obj) {
                            if(logging)log(" Trigger Low Laufzeit berchnen ");
                            BerechnenLaufzeit();
                        });
                        
                        WiednitzW Offline
                        WiednitzW Offline
                        Wiednitz
                        wrote on last edited by
                        #111

                        @smartboart

                        Dein Script werde ich mal an meine Datenpunkte anpassen und ins VIS einfügen. So langsam ist mein Bildschirm aber voll. Vor einem Jahr wollte ich eigentlich nur meinen Torantrieb smart machen....

                        1 Reply Last reply
                        0
                        • WiednitzW Wiednitz

                          @smartboart

                          ja die Steuerung per http Request funktioniert. Wenn ich die Position jetzt manuell verändere, wird bei Neustart des Scripts der erste Request ausgeführt. Eigentlich müsste ja der zweite Request ausgeführt werden....

                          Großen Danke im Voraus...

                          smartboartS Offline
                          smartboartS Offline
                          smartboart
                          wrote on last edited by
                          #112

                          @Wiednitz Also wills bei Neustart prüfen welcher Astro aktiv ist? Kein Ding hab ich im Bad mit der Ambientbeleuchtung auch so gemacht...

                          WiednitzW 1 Reply Last reply
                          0
                          • smartboartS smartboart

                            @Wiednitz Also wills bei Neustart prüfen welcher Astro aktiv ist? Kein Ding hab ich im Bad mit der Ambientbeleuchtung auch so gemacht...

                            WiednitzW Offline
                            WiednitzW Offline
                            Wiednitz
                            wrote on last edited by
                            #113

                            @smartboart

                            Nein das Script soll immer laufen und täglich bei Tag PTZ Position 1 (0) einnehmen und bei Nacht Position 6 (5) .

                            Mit dem Neustart wollte ich nur den Request überprüfen und ob das Script überhaupt etwas bewirkt....

                            1 Reply Last reply
                            0
                            • WiednitzW Offline
                              WiednitzW Offline
                              Wiednitz
                              wrote on last edited by
                              #114

                              capture_001_01122019_193822.jpg

                              Hab jetzt mal die Rquest vertauscht. Der erste Request wird ausgeführt obwohl jetzt der zweite dran wäre !? Oder hab ich hier einen Denkfehler !?

                              1 Reply Last reply
                              0
                              • smartboartS Offline
                                smartboartS Offline
                                smartboart
                                wrote on last edited by
                                #115

                                ich hab mit dem bildchen schieben nix am hut....ich programiere dir nen javascript...

                                WiednitzW 1 Reply Last reply
                                0
                                • smartboartS smartboart

                                  ich hab mit dem bildchen schieben nix am hut....ich programiere dir nen javascript...

                                  WiednitzW Offline
                                  WiednitzW Offline
                                  Wiednitz
                                  wrote on last edited by
                                  #116

                                  @smartboart

                                  Ja schon klar, wollte mein Problem nur bildlich darstellen :)

                                  Danke erstmal...

                                  smartboartS 1 Reply Last reply
                                  0
                                  • WiednitzW Wiednitz

                                    @smartboart

                                    Ja schon klar, wollte mein Problem nur bildlich darstellen :)

                                    Danke erstmal...

                                    smartboartS Offline
                                    smartboartS Offline
                                    smartboart
                                    wrote on last edited by smartboart
                                    #117

                                    @Wiednitz
                                    hier mal der 1. schuss....schau mal ob ich die links richtig zugeordnet habe.

                                    siehe unten

                                    1 Reply Last reply
                                    0
                                    • smartboartS Offline
                                      smartboartS Offline
                                      smartboart
                                      wrote on last edited by smartboart
                                      #118
                                      //Skript Kameraposition anfahren nach Astro smartboart 01.12.2019 V0.03
                                      // states für Vis Kamerapos zur Kontrolle der Skriptlogig und als Merker zum speichern der Tageszeit
                                      // Beim Anlegen der States Tag oder Nacht entsprechend der Tageszeit gleich festlegen... / def: true oder false
                                      createState ('javascript.0.Kamera.Tagesposition', {def: 'false', type: 'boolean', name: 'Kameraposition Tag'});
                                      createState ('javascript.0.Kamera.Nachtposition', {def: 'true', type: 'boolean', name: 'Kameraposition Nacht'});
                                      
                                      // Konstante
                                      const idPosTag = 'javascript.0.Kamera.Tagesposition';
                                      const idPosNacht = 'javascript.0.Kamera.Nachtposition';
                                      
                                      // Variable logging aktivieren deaktivieren
                                      var logging = true;
                                      
                                      // Funktionslogik Sonnenaufgang
                                      function Sonnenaufgang(){
                                      request('http://192.168.10.68/cgi-bin/hi3510/preset.cgi?-act=goto&-number=0?usr=xxxxx&pwd=xxxx'), function (error, response){
                                      if (logging)log('Kamera angesteuert für Position Sonnenaufgang ');
                                      setState(idPosTag,true,true);
                                      setState(idPosNacht,false,true);
                                      }
                                      }
                                      
                                      // Funktionslogik Sonnenuntergang
                                      function Sonnenuntergang(){
                                      request('http://192.168.10.68/cgi-bin/hi3510/preset.cgi?-act=goto&-number=5?usr=xxxxxx&pwd=xxxxx'), function (error, response){
                                      if (logging)log('Kamera angesteuert für Position Sonnenuntergang ');
                                      setState(idPosTag,false,true);
                                      setState(idPosNacht,true,true);
                                      }
                                      }
                                      
                                      // Skriptstart
                                      Scriptstart();
                                      
                                      // Funktion Skriptstart
                                      function Scriptstart(){
                                      var Tag = getState(idPosTag);
                                      var Nacht = getState(idPosNacht);
                                      if (Tag) {
                                      Sonnenaufgang();
                                      if (logging)log('Skriptstart Tagprogramm');
                                      }else{
                                      Sonnenuntergang();
                                      if (logging)log('Skriptstart Nachtprogramm');
                                          }
                                      }
                                      
                                      // Trigger Sonnenaufgang
                                      schedule({astro: "sunrise"}, function () {//Sonnenaufgang
                                      Sonnenaufgang();
                                      });
                                      
                                      // Trigger Sonnenuntergang
                                      schedule({astro: "sunset"}, function () {//Sonnenuntergang
                                      Sonnenuntergang();
                                      });
                                      
                                      
                                      smartboartS 1 Reply Last reply
                                      0
                                      • smartboartS smartboart
                                        //Skript Kameraposition anfahren nach Astro smartboart 01.12.2019 V0.03
                                        // states für Vis Kamerapos zur Kontrolle der Skriptlogig und als Merker zum speichern der Tageszeit
                                        // Beim Anlegen der States Tag oder Nacht entsprechend der Tageszeit gleich festlegen... / def: true oder false
                                        createState ('javascript.0.Kamera.Tagesposition', {def: 'false', type: 'boolean', name: 'Kameraposition Tag'});
                                        createState ('javascript.0.Kamera.Nachtposition', {def: 'true', type: 'boolean', name: 'Kameraposition Nacht'});
                                        
                                        // Konstante
                                        const idPosTag = 'javascript.0.Kamera.Tagesposition';
                                        const idPosNacht = 'javascript.0.Kamera.Nachtposition';
                                        
                                        // Variable logging aktivieren deaktivieren
                                        var logging = true;
                                        
                                        // Funktionslogik Sonnenaufgang
                                        function Sonnenaufgang(){
                                        request('http://192.168.10.68/cgi-bin/hi3510/preset.cgi?-act=goto&-number=0?usr=xxxxx&pwd=xxxx'), function (error, response){
                                        if (logging)log('Kamera angesteuert für Position Sonnenaufgang ');
                                        setState(idPosTag,true,true);
                                        setState(idPosNacht,false,true);
                                        }
                                        }
                                        
                                        // Funktionslogik Sonnenuntergang
                                        function Sonnenuntergang(){
                                        request('http://192.168.10.68/cgi-bin/hi3510/preset.cgi?-act=goto&-number=5?usr=xxxxxx&pwd=xxxxx'), function (error, response){
                                        if (logging)log('Kamera angesteuert für Position Sonnenuntergang ');
                                        setState(idPosTag,false,true);
                                        setState(idPosNacht,true,true);
                                        }
                                        }
                                        
                                        // Skriptstart
                                        Scriptstart();
                                        
                                        // Funktion Skriptstart
                                        function Scriptstart(){
                                        var Tag = getState(idPosTag);
                                        var Nacht = getState(idPosNacht);
                                        if (Tag) {
                                        Sonnenaufgang();
                                        if (logging)log('Skriptstart Tagprogramm');
                                        }else{
                                        Sonnenuntergang();
                                        if (logging)log('Skriptstart Nachtprogramm');
                                            }
                                        }
                                        
                                        // Trigger Sonnenaufgang
                                        schedule({astro: "sunrise"}, function () {//Sonnenaufgang
                                        Sonnenaufgang();
                                        });
                                        
                                        // Trigger Sonnenuntergang
                                        schedule({astro: "sunset"}, function () {//Sonnenuntergang
                                        Sonnenuntergang();
                                        });
                                        
                                        
                                        smartboartS Offline
                                        smartboartS Offline
                                        smartboart
                                        wrote on last edited by
                                        #119

                                        @Wiednitz was hast da für ne Kamera? kann ich ja auch für meine benutzen...Steuer meine aber über das onvif Protokoll...Mal probieren ob das bei mir auch tut...Hab untere anderem ne Foscam FI9928P - Full HD Outdoor Kamera

                                        WiednitzW 1 Reply Last reply
                                        0
                                        • smartboartS smartboart

                                          @Wiednitz was hast da für ne Kamera? kann ich ja auch für meine benutzen...Steuer meine aber über das onvif Protokoll...Mal probieren ob das bei mir auch tut...Hab untere anderem ne Foscam FI9928P - Full HD Outdoor Kamera

                                          WiednitzW Offline
                                          WiednitzW Offline
                                          Wiednitz
                                          wrote on last edited by Wiednitz
                                          #120

                                          @smartboart

                                          Großes Danke für das Script, läuft erstmal. Wenn ich die Kamera jetzt wo anders positioniere, dann nimmt sie die korrekte Position bei Start des Scriptes ein. Mal sehen ob morgen Früh dann die Position 1(0) eingenommen wird.

                                          Ich habe eine Wanscam HW0045. Soll in etwa baugleich mit Foscam 9928 sein, das "hi3510" in meiner Request URL steht für den Chip, der in den Kameras verbaut ist. Das ganze Cgi Zeug war bei meiner Cam nicht dokumentiert, alles durch probieren herausgefunden. Ebenfalls funktionieren bei mir auch Cgi Kommandos von FDT, hier im speziellen "setimageattr" und "setldcattr". Letzteres vermindert mit Wert 511 den Fischaugeneffekt.
                                          Bei Angabe der PTZ mit CGI muss immer -1 angegeben werden. Ich speichere zum Beispiel in tinycam PTZ 1, muss aber bei CGI Request 0 angeben.

                                          Foscam CGI

                                          FDT CGI

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

                                          640

                                          Online

                                          32.7k

                                          Users

                                          82.3k

                                          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