Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Chenda

    NEWS

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Profile
    • Following 0
    • Followers 0
    • Topics 3
    • Posts 36
    • Best 1
    • Groups 1

    Chenda

    @Chenda

    Starter

    2
    Reputation
    8
    Profile views
    36
    Posts
    0
    Followers
    0
    Following
    Joined Last Online

    Chenda Follow
    Starter

    Best posts made by Chenda

    • RE: Test Adapter sun2000 v0.1.x - Huawei Wechselrichter

      @bolliy Hi Stephan,

      danke - so funktioniert es.

      1. Instanz: Proxy Port 502
      2. Instanz: Proxy Port 503

      Modbus Ports bei beiden Instanzen 502

      posted in Tester
      Chenda
      Chenda

    Latest posts made by Chenda

    • RE: Test Adapter sun2000 v0.1.x - Huawei Wechselrichter

      @bolliy Hi Stephan,

      danke - so funktioniert es.

      1. Instanz: Proxy Port 502
      2. Instanz: Proxy Port 503

      Modbus Ports bei beiden Instanzen 502

      posted in Tester
      Chenda
      Chenda
    • RE: Test Adapter sun2000 v0.1.x - Huawei Wechselrichter

      @dragst3r Ich habe an jedem WR einen Dongle. In der Fritzbox sehe ich zwei Geräte mit jeweils einer anderen IP und die jabe ich auch jeweils eingestellt. Das ist auch die gleiche IP, die mir jeweils in den Komm. Einstellungen in der Fusion Solar App angezeigt wird.

      posted in Tester
      Chenda
      Chenda
    • RE: Test Adapter sun2000 v0.1.x - Huawei Wechselrichter

      @bolliy Vielen Dank für den Adapter,
      leider habe ich damit noch ein Problem:
      Zu meiner Konfig: Ich habe zwei SUN2000 WR und daher zwei Instanzen installiert und konfiguriert:
      8957cb4c-a5fc-4ec3-a3ee-a77d7237d864-image.png

      Nun haben beide Instanzen den Port 502 eingestellt, weswegen es zum Fehler kommt: Modbus-proxy TCP Port 502 is now in use!
      3a6400a8-1ea7-4c14-8944-3dd666e52c8b-image.png

      Wie löse ich das am Besten auf?
      EDIT: wenn ich einen der Adapter auf einen anderen Port stelle, z.b. 503, dann kommt keine Verbindung zustande:

      sun2000.0
      2025-05-02 10:31:55.950 error Modbus-proxy TCP Port 502 is now in use!

      sun2000.1
      2025-05-02 10:31:53.213 warn Couldnt connect Modbus TCP to 192.168.178.52:503 connect ECONNREFUSED 192.168.178.52:503

      posted in Tester
      Chenda
      Chenda
    • RE: Steckdose über vis Steuerelemente automatisieren

      @homoran Danke - gefunden.
      Da wiederum braucht es die geschweiften Klammern:
      35d7aec7-b8b8-4e52-9933-6c187ff5f96e-image.png

      posted in Automatisierung
      Chenda
      Chenda
    • RE: Steckdose über vis Steuerelemente automatisieren

      @homoran du hattest doch recht. Und zusätzlich musste ich noch die geschweiften Klammern entfernen, die bei der Objektauswahl automatisch um die Variable herumgelegt wurden.
      5abfec5f-c44a-4666-a416-7ed5bc1b3bf0-image.png
      Mein JS stellt auch noch eine Farbvariable und einen Text ein:
      0a868ebf-115a-4c40-9b7b-a9e67cb1a3d3-image.png
      Kann ich die Farbe irgendwie dem Text zuordnen?

      posted in Automatisierung
      Chenda
      Chenda
    • RE: Steckdose über vis Steuerelemente automatisieren

      @homoran ja stimmt, aber das ändert nix, wenn ich das weglasse:
      fa6b0503-dd28-496e-9a3b-dcc474d6aa70-image.png
      oder ein String Widget benutze:
      7498c130-e108-44a6-8ad9-091e23f23a1f-image.png
      ich verstehe einfach nicht was da nicht stimmt 😕

      In "voranstellen" braucht das glaub nicht, denn im Objekt Auswahldialog steht und es heißt ja auch voranstellen html
      04ee6d13-6359-4db9-b0c7-74bf7388ca8d-image.png

      posted in Automatisierung
      Chenda
      Chenda
    • RE: Steckdose über vis Steuerelemente automatisieren

      @homoran ja da hast du eigentlich recht, aber mir wird dennoch nix angezeigt:
      6e8cbe53-4d50-42ef-ba1f-18224f5028fb-image.png
      7be3902e-68e5-4435-931a-302a73d8ed91-image.png
      6d4b94cf-2b91-4c4c-8952-1ebd76b00239-image.png
      19080b75-8a12-4d17-ac4a-215ef6d23171-image.png

      posted in Automatisierung
      Chenda
      Chenda
    • RE: Steckdose über vis Steuerelemente automatisieren

      @homoran okay, ich kann das javascript natürlich verschieben. Aber ich bekomme dennoch keinerlei Werte in der VIS angezeigt.

      posted in Automatisierung
      Chenda
      Chenda
    • RE: Steckdose über vis Steuerelemente automatisieren

      Das Script funktioniert erstmal und tat, was es soll.
      Nun wollte ich mir noch die Restzeiten anzeigen lassen. Dafür habe ich mir in VIS-2 ein html widget eingebunden,
      84a314a7-0b0a-477e-8a57-538edffe31bd-image.png

      im Feld Allgemein "html" habe ich folgenden Code eingebaut:

      <div id="countdown" style="font-size: 28px; font-weight: bold; text-align: center;"></div>
      
      <script>
          const countdownElement = document.getElementById("countdown");
          const wartezeitDP = "javascript.0.Logik.Heubedampfer.Wartezeit";
          const arbeitszeitDP = "javascript.0.Logik.Heubedampfer.Restzeit";
      
          function updateCountdown() {
              let wartezeit = getState(wartezeitDP)?.val || 0;
              let arbeitszeit = getState(arbeitszeitDP)?.val || 0;
      
              if (wartezeit > 0) {
                  let minutes = Math.floor(wartezeit / 60);
                  let seconds = wartezeit % 60;
                  countdownElement.innerHTML = `Wartezeit: ${minutes}:${seconds.toString().padStart(2, '0')} min`;
                  countdownElement.style.color = "#FFA500"; // Orange für Wartezeit
              } else if (arbeitszeit > 0) {
                  let minutes = Math.floor(arbeitszeit / 60);
                  let seconds = arbeitszeit % 60;
                  countdownElement.innerHTML = `Heubedampfer läuft: ${minutes}:${seconds.toString().padStart(2, '0')} min`;
                  countdownElement.style.color = "#00FF00"; // Grün für aktive Betriebszeit
              } else {
                  countdownElement.innerHTML = "Kein aktiver Timer";
                  countdownElement.style.color = "#FF0000"; // Rot für keine Aktivität
              }
          }
      
          // Aktualisierung alle 1 Sekunde
          setInterval(updateCountdown, 1000);
          updateCountdown();
      </script>
      

      In den Variablen javascript.0.Logik.Heubedampfer.Wartezeit und javascript.0.Logik.Heubedampfer.Restzeit wird durch mein JS skript regelmäßig die Restzeit (in s) aktualisiert. Dennoch wird in der VIS-2 nichts angezeigt.
      Was habe ich falsch gemacht?

      posted in Automatisierung
      Chenda
      Chenda
    • RE: Steckdose über vis Steuerelemente automatisieren

      @paul53 Danke dir.
      Ich habe das etwas angepasst. Was hälst du davon?

      const idUeber = "alias.0.Erzeugung.Ueberschuss"; // Stromüberschuss
      const idPlug  = "hs100.0.192_168_178_29.state"; // Steckdose
      const idStatus = "javascript.0.Heubedampfer.Status"; // Heubedampfer-Zustand
      const idVerbrauch = "alias.0.Verbrauch.Bedampfer"; // Verbrauchswert
      var delayOn = null;
      
      // Überprüfung bei jeder Änderung des Stromüberschusses
      on({id: idUeber, change: "ne"}, function(dp) {
          let überschuss = dp.state.val;
          let status = getState(idStatus)?.val || "Leer";
      
          if (status === "Bereit" && überschuss >= 2000 && !delayOn) {
              log("Genug Überschuss vorhanden! Startet in 5 Minuten...");
              
              // Verzögerung von 5 Minuten, um sicherzustellen, dass der Überschuss stabil bleibt
              delayOn = setTimeout(function() {
                  log("Starte Heubedampfer für 60 Minuten!");
                  setState(idPlug, true);
                  setState(idStatus, "Arbeitet", true);
                  setState(idVerbrauch, 2000); // Verbrauch direkt setzen
      
                  // Nach exakt 60 Minuten abschalten
                  setTimeout(function() {
                      log("60 Minuten sind um. Heubedampfer stoppt.");
                      setState(idPlug, false);
                      setState(idStatus, "Fertig", true);
                      setState(idVerbrauch, 0); // Verbrauch wieder auf 0 setzen
                      delayOn = null;
                  }, 3600000); // 60 Minuten
              }, 300000); // 5 Minuten Verzögerung
          }
      });
      
      // Aktualisierung des Verbrauchswerts, wenn sich der Steckdosenstatus ändert
      on({id: idPlug, change: "ne"}, function (obj) {
          let status = obj.state.val; // Zustand der Steckdose
          let verbrauch = status ? 2000 : 0; // Wenn an -> 2000W, wenn aus -> 0W
          setState(idVerbrauch, verbrauch);
      });
      
      
      posted in Automatisierung
      Chenda
      Chenda
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
    The ioBroker Community 2014-2023
    logo