Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. Eigenverbrauchsoptimierung

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.8k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.3k

Eigenverbrauchsoptimierung

Geplant Angeheftet Gesperrt Verschoben JavaScript
9 Beiträge 2 Kommentatoren 715 Aufrufe 2 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • O Offline
    O Offline
    opöl
    schrieb am zuletzt editiert von
    #1

    Hallo Community,
    vor einiger Zeit hatte ich schon einmal einen Versuch mit Blockly gestartet, werde aber mit dem Tool nicht warm. Daher habe ich mich an Java versucht, um meinen Eigenverbrauch entsprechend der zur Verfügung stehenden Energie aus der PV zu optimieren.
    Platt ausgedrückt: In leistungsarmen Phasen sollen Kühl- und Gefrierschrank (und später auch andere Geräte) nacheinander laufen.
    Ich habe jetzt mal damit angefangen, Kühl- und Gefrierschrank gegeneinander so zu verriegeln, dass sie, falls das nötig ist, nacheinander laufen. Grundsätzlich klappt das auch. Allerdings gibt es beim Umschalten noch ein Phänomen, das ich bisher noch nicht in den Griff bekommen habe.
    Wenn der Kühlschrank aus- und der Gefrierschrank eingeschaltet wird, geschieht das nicht „sauber“, sondern in dieser Reihenfolge: Kühlschrank aus -> Gefrierschrank ein -> Kühlschrank aus -> Kühlschrank ein. Dann läuft es wieder stabil. Anders herum klappt das Umschalten problemlos.
    Da Problem ist, dass der Gefrierschrank bis zum Anlaufen eine „Gedenkminute“ braucht, bis „gefrierschrank_aktiv“ auf „true“ wechselt. Da muss noch eine Verzögerung rein, die ich einfach nicht hinbekomme.

    Kann mir da jemand einen Tipp geben?

    Gruß

    /*
     *
     * Das Umschalten klappt noch nicht optimal
     *
     *  Script zur optimierung des Verbrauchs durch Anpassen der Einschaltzeit von Verbrauchern 
     *  an den aktuellen PV Überschuss. Große Verbraucher mit geringer Einschaltzeit (Waschmaschine / Heizung)
     *  haben Priorität gegenüber kleineren Verbrauchern, die dafür länger laufen (Kühlgeräte).
     * 
     * 
     *    
     * Skript Name:      Verbrauchsoptimierung
     * Skript Version:   0.7  | 15. Mai 2024
     * Erstell-Datum:    25. April 2024
    */
    
    // Erfasste / gesteuerte Geräte:
        // Küchensteckdosen
        // Spülmaschine
        // Waschmaschine
        // Kühlschrank
        // Gefrierschrank
    
    var pverzeugung =0;                 // aktuelle PV Leistung
    var leistung =0;                    // aktuelle Gesamtleistung am Zähler
    var einspeisung =0;                 // aktuell eingespeiste Leistung (Wenn Leistung negativ ist)
    var verbrauch_kueche =0;            // aktuelle Leistung Küchensteckdosen
    var verbrauch_kuehlschrank =0;      // aktuelle Leistung Kühlschrank
    var verbrauch_kuehlschrank_alt =0; 
    var verbrauch_gefrierschrank =0;    // aktuelle Leistung Gefrierschrank
    var verbrauch_gefrierschrank_alt =0; 
    var verbrauch_waschmaschine =0;     // aktuelle Leistung Waschmaschine
    var verbrauch_spuelmaschine =0;     // aktuelle Leistung Spülmaschine
    // Boolsche Variablen
    var status_kueche =true;          	// Küchensteckdosen eingeschaltet
    var status_waschmaschine =true;   	// Waschmaschine eineschaltet
    var status_spuelmaschine =true;   	// Spuelmaschine eingeschaltet
    
    var status_kuehlschrank;    		// Kühlschrank eingeschaltet
    var kuehlschrank_aktiv;           	// Kühlschrank ist aktiv 0/1
    var status_gefrierschrank;  		// Gefrierschrank eingeschaltet
    var gefrierschrank_aktiv;         	// Gefrierschrank aktiv 0/1
    
    var warten = true; // 1 Minute warten
    // Counter für (K)ühlschrank und (G)efrierschrank, damit die Geräte nach max. 60 Minuten eingeschaltet werden.
    var cnt_k = 0;
    var cnt_g = 0;
    var debug =true; // Debug schaltet die Ausgabe der Werte im Log ein. Default = "0"
    
    
    function Optimierung () {
        getAll ()
        if (debug) {
            console.log('Debug aktiv');
            Showall ()   
        }
            
        // Hauptprogramm
            //console.log ('Hauptprogramm');
    		if (kuehlschrank_aktiv) {                                       // Kühlschrank läuft jetzt (wurde aktiv)	
                console.error('Kühlschrank ist AKTIV');				    
                if (status_gefrierschrank) {						        // Wenn der Gefrierschrank eingeschaltet ist
                    Gefrierschrank_off ()                                   // Dann Gefrierschrank ausschalten
                    console.log('Gefrierschrank war noch eingeschaltet und wurde ausgeschaltet ');
                }   
            } else {
    // Kühlschrank ist nicht (mehr) aktiv, also warten bis der Gefrierschrank aktiv wird
    
                if (status_kuehlschrank) {
                    Kuehlschrank_off ()
                    console.log('Kühlschrank war noch eingeschaltet und wurde ausgeschaltet ');
                }
                if (!status_gefrierschrank) {				        	    // Wenn der Gefrierschrank ausgeschaltet ist
                    Gefrierschrank_on ()                              	    // Dann Gefrierschrank einschalten
                    console.log('Gefrierschrank war noch ausgeschaltet und wurde eingeschaltet ');
                }   
            }
    		
    		if (gefrierschrank_aktiv) { 								    // Gefrierschrank läuft jetzt (wurde aktiv)
                console.error('Gefrierschrank ist AKTIV');
                if (status_kuehlschrank) {								    // Wenn der Kühlschrank eingeschaltet ist
                    Kuehlschrank_off ()                                     // Dann Kuehlschrank ausschalten
                    warten = true;                                          // Warten nur bei Statusänderung
                    console.log('Kuehlschrank war noch eingeschaltet und wurde ausgeschaltet ');
                }   
            } else {
                if (status_gefrierschrank) {
                    Gefrierschrank_off ()
                    //warten = true;                                        // Warten nur bei Statusänderung
                    console.log('Gefrierschrank war noch eingeschaltet und wurde ausgeschaltet ');
                }
                if (!status_kuehlschrank) {				                    // Wenn der Gefrierschrank ausgeschaltet ist
                    Kuehlschrank_on ()                                      // Dann Gefrierschrank einschalten
                    warten = true;                                          // Warten nur bei Statusänderung
                    console.log('Kuehlschrank war noch ausgeschaltet und wurde eingeschaltet ');
                    
                
                }  
           
            }
    }
    
    
    
    function getAll() {
        pverzeugung = getState('sonoff.0.PV-Anlage.SENSOR.ENERGY.Power').val;
        leistung = getState('sonoff.0.Stromzaehler.SENSOR.Stromz.Power').val;
        if (leistung < 0) {
            einspeisung = Math.abs(leistung); 							    // Einspeisung ist der Betrag der negativen Gesamtleistung
        } else {
            // Netzbezug
        }
    
        verbrauch_kuehlschrank_alt = verbrauch_kuehlschrank; 			    // alten Wert merken
        status_kuehlschrank = getState('shelly.0.shellyplusplugs#Kuehlschrank#1.Relay0.Switch').val;
        if (status_kuehlschrank) {
            verbrauch_kuehlschrank = getState('shelly.0.shellyplusplugs#Kuehlschrank#1.Relay0.Power').val;
        } else {
           verbrauch_kuehlschrank = 0;
        }
    
        verbrauch_gefrierschrank_alt = verbrauch_gefrierschrank; 		    // alten Wert merken
        status_gefrierschrank = getState('shelly.0.shellyplusplugs#Gefrierschrank#1.Relay0.Switch').val;
        if (status_gefrierschrank) {
            verbrauch_gefrierschrank = getState('shelly.0.shellyplusplugs#Gefrierschrank#1.Relay0.Power').val;
        } else {
           verbrauch_gefrierschrank = 0;
        } 
    
    // "Aktiv" / "Inaktiv" signalisiert den Statuswechsel!!!!
        
        if (verbrauch_gefrierschrank > (verbrauch_gefrierschrank_alt + 20)) {
            console.error('Gefrierschrank ist jetzt AKTIV... Verbrauch neu: ' + verbrauch_gefrierschrank + ' Verbrauch alt: ' + verbrauch_gefrierschrank_alt);
            gefrierschrank_aktiv = true;
        }
        if (verbrauch_gefrierschrank < (verbrauch_gefrierschrank_alt - 20)) {
            console.error('Gefrierschrank ist jetzt INAKTIV... Verbrauch neu: ' + verbrauch_gefrierschrank + ' Verbrauch alt: ' + verbrauch_gefrierschrank_alt);
            gefrierschrank_aktiv = false;
        }
    
    	if (verbrauch_kuehlschrank > (verbrauch_kuehlschrank_alt + 20)) {
            console.error('Kühlschrank ist jetzt AKTIV... Verbrauch neu: ' + verbrauch_kuehlschrank + ' Verbrauch alt: ' + verbrauch_kuehlschrank_alt);
            kuehlschrank_aktiv = true;
        }
        if (verbrauch_kuehlschrank < (verbrauch_kuehlschrank_alt - 20)) {
            console.error('Kühlschrank ist jetzt INAKTIV... Verbrauch neu: ' + verbrauch_kuehlschrank + ' Verbrauch alt: ' + verbrauch_kuehlschrank_alt);
            kuehlschrank_aktiv = false;
        }
    
    	
        
    }
    
    function Kuehlschrank_off() {
    	// Kühlschrank ausschalten
        if (status_kuehlschrank){
            setState('shelly.0.shellyplusplugs#Kuehlschrank#1.Relay0.Switch',false);
            //kuehlschrank_aktiv = false;  
            status_kuehlschrank = false; 
            console.log('Kühlschrank_off hat Status auf false gesetzt'); 
        }    
    	console.log('Kühlschrank ist ausgeschaltet');  
    }
    
    function Kuehlschrank_on() {
        // Kühlschrank einschalten falls ausgeschaltet
        if (!status_kuehlschrank) {
            setState('shelly.0.shellyplusplugs#Kuehlschrank#1.Relay0.Switch',true);
            console.log('Kühlschrank_on hat Status auf true gesetzt');  
        }
        console.log('Kühlschrank ist eingeschaltet');
    }
    
    function Gefrierschrank_off() {  
    		// Gefrierschrank  ausschalten
        if (status_gefrierschrank){
            setState('shelly.0.shellyplusplugs#Gefrierschrank#1.Relay0.Switch',false);
            gefrierschrank_aktiv = false;  
            //status_gefrierschrank = false;    
            console.log('Gefrierschrank_off hat Status auf false gesetzt');
        }
        console.log('Gefrierschrank ist ausgeschaltet');  
    }
    
    function Gefrierschrank_on() {  
        // Gefrierschrank eingeschalten falls ausgeschaltet
        if (!status_gefrierschrank) {
            setState('shelly.0.shellyplusplugs#Gefrierschrank#1.Relay0.Switch',true);
            console.log('Gefrierschrank_on hat Status auf true gesetzt');
        }
        console.log('Gefrierschrank ist eingeschaltet');  
    }
    
    function Showall () { 
    console.error('Aktuelle Messungen: ')
        if (status_kuehlschrank) {
            console.error('Kühlschrank ist eingeschaltet'); 
        } else {
            console.error('Kühlschrank ist ausgeschaltet'); 
        }
        if (kuehlschrank_aktiv) {
            console.error('Kühlschrank ist Aktiv. Verbr. neu:   ' + verbrauch_kuehlschrank + ' Verbr. alt: ' + verbrauch_kuehlschrank_alt);
        } else{
            console.error('Kühlschrank ist Inaktiv. Verbr. neu: ' + verbrauch_kuehlschrank + ' Verbr. alt: ' + verbrauch_kuehlschrank_alt);
        }
    
        if (status_gefrierschrank) {
            console.error('Gefrierschrank ist eingeschaltet'); 
        } else {
            console.error('Gefrierschrank ist ausgeschaltet'); 
        }
        if (gefrierschrank_aktiv) {
            console.error('Gefrierschrank ist Aktiv. Verbr. neu:   ' + verbrauch_gefrierschrank + ' Verbr. alt: ' + verbrauch_gefrierschrank_alt);
        } else{
            console.error('Gefrierschrank ist Inaktiv. Verbr. neu: ' + verbrauch_gefrierschrank + ' Verbr. alt: ' + verbrauch_gefrierschrank_alt);
        }
     }
    
        
    
    // Jede Minute ausführen
    schedule('0 * * * * *', Optimierung); 
    // Zur Sicherheit alle Kühlgeräte abends aktiv einschalten
    // schedule('0 21 * * * *', Kuehlung_on);
    
    B 1 Antwort Letzte Antwort
    0
    • O opöl

      Hallo Community,
      vor einiger Zeit hatte ich schon einmal einen Versuch mit Blockly gestartet, werde aber mit dem Tool nicht warm. Daher habe ich mich an Java versucht, um meinen Eigenverbrauch entsprechend der zur Verfügung stehenden Energie aus der PV zu optimieren.
      Platt ausgedrückt: In leistungsarmen Phasen sollen Kühl- und Gefrierschrank (und später auch andere Geräte) nacheinander laufen.
      Ich habe jetzt mal damit angefangen, Kühl- und Gefrierschrank gegeneinander so zu verriegeln, dass sie, falls das nötig ist, nacheinander laufen. Grundsätzlich klappt das auch. Allerdings gibt es beim Umschalten noch ein Phänomen, das ich bisher noch nicht in den Griff bekommen habe.
      Wenn der Kühlschrank aus- und der Gefrierschrank eingeschaltet wird, geschieht das nicht „sauber“, sondern in dieser Reihenfolge: Kühlschrank aus -> Gefrierschrank ein -> Kühlschrank aus -> Kühlschrank ein. Dann läuft es wieder stabil. Anders herum klappt das Umschalten problemlos.
      Da Problem ist, dass der Gefrierschrank bis zum Anlaufen eine „Gedenkminute“ braucht, bis „gefrierschrank_aktiv“ auf „true“ wechselt. Da muss noch eine Verzögerung rein, die ich einfach nicht hinbekomme.

      Kann mir da jemand einen Tipp geben?

      Gruß

      /*
       *
       * Das Umschalten klappt noch nicht optimal
       *
       *  Script zur optimierung des Verbrauchs durch Anpassen der Einschaltzeit von Verbrauchern 
       *  an den aktuellen PV Überschuss. Große Verbraucher mit geringer Einschaltzeit (Waschmaschine / Heizung)
       *  haben Priorität gegenüber kleineren Verbrauchern, die dafür länger laufen (Kühlgeräte).
       * 
       * 
       *    
       * Skript Name:      Verbrauchsoptimierung
       * Skript Version:   0.7  | 15. Mai 2024
       * Erstell-Datum:    25. April 2024
      */
      
      // Erfasste / gesteuerte Geräte:
          // Küchensteckdosen
          // Spülmaschine
          // Waschmaschine
          // Kühlschrank
          // Gefrierschrank
      
      var pverzeugung =0;                 // aktuelle PV Leistung
      var leistung =0;                    // aktuelle Gesamtleistung am Zähler
      var einspeisung =0;                 // aktuell eingespeiste Leistung (Wenn Leistung negativ ist)
      var verbrauch_kueche =0;            // aktuelle Leistung Küchensteckdosen
      var verbrauch_kuehlschrank =0;      // aktuelle Leistung Kühlschrank
      var verbrauch_kuehlschrank_alt =0; 
      var verbrauch_gefrierschrank =0;    // aktuelle Leistung Gefrierschrank
      var verbrauch_gefrierschrank_alt =0; 
      var verbrauch_waschmaschine =0;     // aktuelle Leistung Waschmaschine
      var verbrauch_spuelmaschine =0;     // aktuelle Leistung Spülmaschine
      // Boolsche Variablen
      var status_kueche =true;          	// Küchensteckdosen eingeschaltet
      var status_waschmaschine =true;   	// Waschmaschine eineschaltet
      var status_spuelmaschine =true;   	// Spuelmaschine eingeschaltet
      
      var status_kuehlschrank;    		// Kühlschrank eingeschaltet
      var kuehlschrank_aktiv;           	// Kühlschrank ist aktiv 0/1
      var status_gefrierschrank;  		// Gefrierschrank eingeschaltet
      var gefrierschrank_aktiv;         	// Gefrierschrank aktiv 0/1
      
      var warten = true; // 1 Minute warten
      // Counter für (K)ühlschrank und (G)efrierschrank, damit die Geräte nach max. 60 Minuten eingeschaltet werden.
      var cnt_k = 0;
      var cnt_g = 0;
      var debug =true; // Debug schaltet die Ausgabe der Werte im Log ein. Default = "0"
      
      
      function Optimierung () {
          getAll ()
          if (debug) {
              console.log('Debug aktiv');
              Showall ()   
          }
              
          // Hauptprogramm
              //console.log ('Hauptprogramm');
      		if (kuehlschrank_aktiv) {                                       // Kühlschrank läuft jetzt (wurde aktiv)	
                  console.error('Kühlschrank ist AKTIV');				    
                  if (status_gefrierschrank) {						        // Wenn der Gefrierschrank eingeschaltet ist
                      Gefrierschrank_off ()                                   // Dann Gefrierschrank ausschalten
                      console.log('Gefrierschrank war noch eingeschaltet und wurde ausgeschaltet ');
                  }   
              } else {
      // Kühlschrank ist nicht (mehr) aktiv, also warten bis der Gefrierschrank aktiv wird
      
                  if (status_kuehlschrank) {
                      Kuehlschrank_off ()
                      console.log('Kühlschrank war noch eingeschaltet und wurde ausgeschaltet ');
                  }
                  if (!status_gefrierschrank) {				        	    // Wenn der Gefrierschrank ausgeschaltet ist
                      Gefrierschrank_on ()                              	    // Dann Gefrierschrank einschalten
                      console.log('Gefrierschrank war noch ausgeschaltet und wurde eingeschaltet ');
                  }   
              }
      		
      		if (gefrierschrank_aktiv) { 								    // Gefrierschrank läuft jetzt (wurde aktiv)
                  console.error('Gefrierschrank ist AKTIV');
                  if (status_kuehlschrank) {								    // Wenn der Kühlschrank eingeschaltet ist
                      Kuehlschrank_off ()                                     // Dann Kuehlschrank ausschalten
                      warten = true;                                          // Warten nur bei Statusänderung
                      console.log('Kuehlschrank war noch eingeschaltet und wurde ausgeschaltet ');
                  }   
              } else {
                  if (status_gefrierschrank) {
                      Gefrierschrank_off ()
                      //warten = true;                                        // Warten nur bei Statusänderung
                      console.log('Gefrierschrank war noch eingeschaltet und wurde ausgeschaltet ');
                  }
                  if (!status_kuehlschrank) {				                    // Wenn der Gefrierschrank ausgeschaltet ist
                      Kuehlschrank_on ()                                      // Dann Gefrierschrank einschalten
                      warten = true;                                          // Warten nur bei Statusänderung
                      console.log('Kuehlschrank war noch ausgeschaltet und wurde eingeschaltet ');
                      
                  
                  }  
             
              }
      }
      
      
      
      function getAll() {
          pverzeugung = getState('sonoff.0.PV-Anlage.SENSOR.ENERGY.Power').val;
          leistung = getState('sonoff.0.Stromzaehler.SENSOR.Stromz.Power').val;
          if (leistung < 0) {
              einspeisung = Math.abs(leistung); 							    // Einspeisung ist der Betrag der negativen Gesamtleistung
          } else {
              // Netzbezug
          }
      
          verbrauch_kuehlschrank_alt = verbrauch_kuehlschrank; 			    // alten Wert merken
          status_kuehlschrank = getState('shelly.0.shellyplusplugs#Kuehlschrank#1.Relay0.Switch').val;
          if (status_kuehlschrank) {
              verbrauch_kuehlschrank = getState('shelly.0.shellyplusplugs#Kuehlschrank#1.Relay0.Power').val;
          } else {
             verbrauch_kuehlschrank = 0;
          }
      
          verbrauch_gefrierschrank_alt = verbrauch_gefrierschrank; 		    // alten Wert merken
          status_gefrierschrank = getState('shelly.0.shellyplusplugs#Gefrierschrank#1.Relay0.Switch').val;
          if (status_gefrierschrank) {
              verbrauch_gefrierschrank = getState('shelly.0.shellyplusplugs#Gefrierschrank#1.Relay0.Power').val;
          } else {
             verbrauch_gefrierschrank = 0;
          } 
      
      // "Aktiv" / "Inaktiv" signalisiert den Statuswechsel!!!!
          
          if (verbrauch_gefrierschrank > (verbrauch_gefrierschrank_alt + 20)) {
              console.error('Gefrierschrank ist jetzt AKTIV... Verbrauch neu: ' + verbrauch_gefrierschrank + ' Verbrauch alt: ' + verbrauch_gefrierschrank_alt);
              gefrierschrank_aktiv = true;
          }
          if (verbrauch_gefrierschrank < (verbrauch_gefrierschrank_alt - 20)) {
              console.error('Gefrierschrank ist jetzt INAKTIV... Verbrauch neu: ' + verbrauch_gefrierschrank + ' Verbrauch alt: ' + verbrauch_gefrierschrank_alt);
              gefrierschrank_aktiv = false;
          }
      
      	if (verbrauch_kuehlschrank > (verbrauch_kuehlschrank_alt + 20)) {
              console.error('Kühlschrank ist jetzt AKTIV... Verbrauch neu: ' + verbrauch_kuehlschrank + ' Verbrauch alt: ' + verbrauch_kuehlschrank_alt);
              kuehlschrank_aktiv = true;
          }
          if (verbrauch_kuehlschrank < (verbrauch_kuehlschrank_alt - 20)) {
              console.error('Kühlschrank ist jetzt INAKTIV... Verbrauch neu: ' + verbrauch_kuehlschrank + ' Verbrauch alt: ' + verbrauch_kuehlschrank_alt);
              kuehlschrank_aktiv = false;
          }
      
      	
          
      }
      
      function Kuehlschrank_off() {
      	// Kühlschrank ausschalten
          if (status_kuehlschrank){
              setState('shelly.0.shellyplusplugs#Kuehlschrank#1.Relay0.Switch',false);
              //kuehlschrank_aktiv = false;  
              status_kuehlschrank = false; 
              console.log('Kühlschrank_off hat Status auf false gesetzt'); 
          }    
      	console.log('Kühlschrank ist ausgeschaltet');  
      }
      
      function Kuehlschrank_on() {
          // Kühlschrank einschalten falls ausgeschaltet
          if (!status_kuehlschrank) {
              setState('shelly.0.shellyplusplugs#Kuehlschrank#1.Relay0.Switch',true);
              console.log('Kühlschrank_on hat Status auf true gesetzt');  
          }
          console.log('Kühlschrank ist eingeschaltet');
      }
      
      function Gefrierschrank_off() {  
      		// Gefrierschrank  ausschalten
          if (status_gefrierschrank){
              setState('shelly.0.shellyplusplugs#Gefrierschrank#1.Relay0.Switch',false);
              gefrierschrank_aktiv = false;  
              //status_gefrierschrank = false;    
              console.log('Gefrierschrank_off hat Status auf false gesetzt');
          }
          console.log('Gefrierschrank ist ausgeschaltet');  
      }
      
      function Gefrierschrank_on() {  
          // Gefrierschrank eingeschalten falls ausgeschaltet
          if (!status_gefrierschrank) {
              setState('shelly.0.shellyplusplugs#Gefrierschrank#1.Relay0.Switch',true);
              console.log('Gefrierschrank_on hat Status auf true gesetzt');
          }
          console.log('Gefrierschrank ist eingeschaltet');  
      }
      
      function Showall () { 
      console.error('Aktuelle Messungen: ')
          if (status_kuehlschrank) {
              console.error('Kühlschrank ist eingeschaltet'); 
          } else {
              console.error('Kühlschrank ist ausgeschaltet'); 
          }
          if (kuehlschrank_aktiv) {
              console.error('Kühlschrank ist Aktiv. Verbr. neu:   ' + verbrauch_kuehlschrank + ' Verbr. alt: ' + verbrauch_kuehlschrank_alt);
          } else{
              console.error('Kühlschrank ist Inaktiv. Verbr. neu: ' + verbrauch_kuehlschrank + ' Verbr. alt: ' + verbrauch_kuehlschrank_alt);
          }
      
          if (status_gefrierschrank) {
              console.error('Gefrierschrank ist eingeschaltet'); 
          } else {
              console.error('Gefrierschrank ist ausgeschaltet'); 
          }
          if (gefrierschrank_aktiv) {
              console.error('Gefrierschrank ist Aktiv. Verbr. neu:   ' + verbrauch_gefrierschrank + ' Verbr. alt: ' + verbrauch_gefrierschrank_alt);
          } else{
              console.error('Gefrierschrank ist Inaktiv. Verbr. neu: ' + verbrauch_gefrierschrank + ' Verbr. alt: ' + verbrauch_gefrierschrank_alt);
          }
       }
      
          
      
      // Jede Minute ausführen
      schedule('0 * * * * *', Optimierung); 
      // Zur Sicherheit alle Kühlgeräte abends aktiv einschalten
      // schedule('0 21 * * * *', Kuehlung_on);
      
      B Offline
      B Offline
      berndsolar13
      schrieb am zuletzt editiert von
      #2

      @opöl

      bin auch so ein Optimierer :D
      Aber Kühl und Gefrierschrank hab ich nur in der Überwachung, denn der Läuft doch von selbst an.
      Bei mir geht der jede Stunde 1x an, für 20 min, dann ist er wieder 40 Minuten aus.

      Den manuell zu schalten ? Ich denke nicht das dies eine gute Idee ist.
      Oder ist deine Steuerung kaputt ?

      O 1 Antwort Letzte Antwort
      0
      • B berndsolar13

        @opöl

        bin auch so ein Optimierer :D
        Aber Kühl und Gefrierschrank hab ich nur in der Überwachung, denn der Läuft doch von selbst an.
        Bei mir geht der jede Stunde 1x an, für 20 min, dann ist er wieder 40 Minuten aus.

        Den manuell zu schalten ? Ich denke nicht das dies eine gute Idee ist.
        Oder ist deine Steuerung kaputt ?

        O Offline
        O Offline
        opöl
        schrieb am zuletzt editiert von
        #3

        @berndsolar13

        Naja, mir sind die Bedenken bekannt.
        Aber erstens werden die Geräte ja leistungslos geschaltet, also ausgeschaltet, wenn sie inaktiv sind. Beim Einschalten sind sie eh immer inaktiv. Das Aktivieren und Inaktivieren bleibt ja bei der internen Logik.
        Dann soll das ja nicht dauernd, sondern nur bei nicht ausreichender PV Leistung stattfinden. Und letztlich habe ich natürlich gemessen, dass das Kühlergebnis nicht leidet.
        Ich konstruiere mal einen Fall um klar zu machen, was ich erreichen möchte:

        Angenommen ich habe einen PV Überschuss von 50 W in den Morgenstunden. Ist halt nur eine Balkon PV😎
        Dann möchte ich zuerst meinen Kaffee kochen und die Kühlgeräte sollen aus sein, Danach sollen sie nacheinander aktiv sein, um diese 50 W zu nutzen (Kühlschrank hat 50W, Gefrierschrank hat 60W Leistungsaufnahme). Damit habe ich den zur Verfügung stehenden Überschuss durchgehend genutzt.
        Die alternative ist, alle drei Geräte laufen zufallsgesteuert gleichzeitig und ich kaufe den Strom und danach speise ich die 50W ein, weil alles aus ist. Das hört sich zwar nach Erbsenzählerei an, aber hochgerechnet auf wieviele Haushalte macht das wieviel?
        Und dann kommt noch der Spieltrieb dazu.

        Über einen Tipp, wie ich die Hysterese beim Umschalten in den Griff kriege, würde ich mich freuen.
        Gruß

        B 1 Antwort Letzte Antwort
        0
        • O opöl

          @berndsolar13

          Naja, mir sind die Bedenken bekannt.
          Aber erstens werden die Geräte ja leistungslos geschaltet, also ausgeschaltet, wenn sie inaktiv sind. Beim Einschalten sind sie eh immer inaktiv. Das Aktivieren und Inaktivieren bleibt ja bei der internen Logik.
          Dann soll das ja nicht dauernd, sondern nur bei nicht ausreichender PV Leistung stattfinden. Und letztlich habe ich natürlich gemessen, dass das Kühlergebnis nicht leidet.
          Ich konstruiere mal einen Fall um klar zu machen, was ich erreichen möchte:

          Angenommen ich habe einen PV Überschuss von 50 W in den Morgenstunden. Ist halt nur eine Balkon PV😎
          Dann möchte ich zuerst meinen Kaffee kochen und die Kühlgeräte sollen aus sein, Danach sollen sie nacheinander aktiv sein, um diese 50 W zu nutzen (Kühlschrank hat 50W, Gefrierschrank hat 60W Leistungsaufnahme). Damit habe ich den zur Verfügung stehenden Überschuss durchgehend genutzt.
          Die alternative ist, alle drei Geräte laufen zufallsgesteuert gleichzeitig und ich kaufe den Strom und danach speise ich die 50W ein, weil alles aus ist. Das hört sich zwar nach Erbsenzählerei an, aber hochgerechnet auf wieviele Haushalte macht das wieviel?
          Und dann kommt noch der Spieltrieb dazu.

          Über einen Tipp, wie ich die Hysterese beim Umschalten in den Griff kriege, würde ich mich freuen.
          Gruß

          B Offline
          B Offline
          berndsolar13
          schrieb am zuletzt editiert von berndsolar13
          #4

          @opöl

          Du könntest es auch eleganter lösen.
          Du schaust wann der Gefrierschrank aus gegangen ist.
          Bei mir würde es 40 Minuten dauern, bis er wieder anspringt.

          In dem Zeitfenster hättest du zeit zum Kaffee kochen ;)

          Noch besser du automatisierst es, und die Maschine schalter IOBroker an :D

          O 1 Antwort Letzte Antwort
          0
          • B berndsolar13

            @opöl

            Du könntest es auch eleganter lösen.
            Du schaust wann der Gefrierschrank aus gegangen ist.
            Bei mir würde es 40 Minuten dauern, bis er wieder anspringt.

            In dem Zeitfenster hättest du zeit zum Kaffee kochen ;)

            Noch besser du automatisierst es, und die Maschine schalter IOBroker an :D

            O Offline
            O Offline
            opöl
            schrieb am zuletzt editiert von
            #5

            @berndsolar13
            Sorry, ich verfolge eigentlich den Ansatz, iobroker die Optimierung zu übertragen.
            Unbestritten ist, dass es auch andere Lösungen gibt.

            Gruß

            B 1 Antwort Letzte Antwort
            0
            • O opöl

              @berndsolar13
              Sorry, ich verfolge eigentlich den Ansatz, iobroker die Optimierung zu übertragen.
              Unbestritten ist, dass es auch andere Lösungen gibt.

              Gruß

              B Offline
              B Offline
              berndsolar13
              schrieb am zuletzt editiert von
              #6

              @opöl

              hätte da was für dich
              https://www.youtube.com/watch?v=ozHthXD9cN0

              Die Idee ist klasse, das werde ich mal ausprobieren ;)

              O 1 Antwort Letzte Antwort
              0
              • B berndsolar13

                @opöl

                hätte da was für dich
                https://www.youtube.com/watch?v=ozHthXD9cN0

                Die Idee ist klasse, das werde ich mal ausprobieren ;)

                O Offline
                O Offline
                opöl
                schrieb am zuletzt editiert von
                #7

                @berndsolar13

                vielen Dank. Das kannte ich noch nicht.
                Bis auf das noch nicht vorhandene E- Auto und die größere PV Fläche verfolgen wir exakt den gleichen Ansatz. Das bestärkt mich doch glatt darin, dass meine Idee so blöd nicht ist.

                Auf die Idee, den Gefrierschrank als Puffer zu benutzen bin ich allerdings noch nicht gekommen.
                Da mache ich mich mal schlau, wie das im Detail geregelt wurde.

                Wäre übrigens trotzdem schön, wenn mir jemand bei der ursprünglichen Frage helfen könnte.

                Gruß

                B 1 Antwort Letzte Antwort
                0
                • O opöl

                  @berndsolar13

                  vielen Dank. Das kannte ich noch nicht.
                  Bis auf das noch nicht vorhandene E- Auto und die größere PV Fläche verfolgen wir exakt den gleichen Ansatz. Das bestärkt mich doch glatt darin, dass meine Idee so blöd nicht ist.

                  Auf die Idee, den Gefrierschrank als Puffer zu benutzen bin ich allerdings noch nicht gekommen.
                  Da mache ich mich mal schlau, wie das im Detail geregelt wurde.

                  Wäre übrigens trotzdem schön, wenn mir jemand bei der ursprünglichen Frage helfen könnte.

                  Gruß

                  B Offline
                  B Offline
                  berndsolar13
                  schrieb am zuletzt editiert von
                  #8

                  @opöl

                  hab mal einen meiner Tuya Wlan Sensoren in den Gefrierschrank gesteckt.
                  Bei -13 ist scheinbar Ende, tiefer geht er wohl nicht.

                  Bis -30° ob es dafür einen "drahtlosen" Sensor gibt ?

                  O 1 Antwort Letzte Antwort
                  0
                  • B berndsolar13

                    @opöl

                    hab mal einen meiner Tuya Wlan Sensoren in den Gefrierschrank gesteckt.
                    Bei -13 ist scheinbar Ende, tiefer geht er wohl nicht.

                    Bis -30° ob es dafür einen "drahtlosen" Sensor gibt ?

                    O Offline
                    O Offline
                    opöl
                    schrieb am zuletzt editiert von
                    #9

                    @berndsolar13
                    Der Copilot meint, der TAPO T315 Temperatur- und Feuchtigkeitsmonitor Sensor wäre geeignet. Geht bis -20 Grad.

                    Sonst wohl so etwas: DS18B20 Temperatursensor Adapter ESP8266 ESP-01 ESP-01S WIFI Wireless Modul https://encr.pw/ILooN
                    Muss man halt ein eigenes Gehäuse drum bauen und mal schauen, wie weit man mit einer Batterie so kommt. Ich denke, das mache ich mal nach meinem Urlaub. Die 2 Taler habe ich übrig.

                    Gruß

                    1 Antwort Letzte Antwort
                    0
                    Antworten
                    • In einem neuen Thema antworten
                    Anmelden zum Antworten
                    • Älteste zuerst
                    • Neuste zuerst
                    • Meiste Stimmen


                    Support us

                    ioBroker
                    Community Adapters
                    Donate

                    444

                    Online

                    32.4k

                    Benutzer

                    81.5k

                    Themen

                    1.3m

                    Beiträge
                    Community
                    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                    ioBroker Community 2014-2025
                    logo
                    • Anmelden

                    • Du hast noch kein Konto? Registrieren

                    • Anmelden oder registrieren, um zu suchen
                    • Erster Beitrag
                      Letzter Beitrag
                    0
                    • Home
                    • Aktuell
                    • Tags
                    • Ungelesen 0
                    • Kategorien
                    • Unreplied
                    • Beliebt
                    • GitHub
                    • Docu
                    • Hilfe