Navigation

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

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Profile
    • Following 0
    • Followers 0
    • Topics 4
    • Posts 23
    • Best 0
    • Groups 1

    Xantrox

    @Xantrox

    Starter

    0
    Reputation
    17
    Profile views
    23
    Posts
    0
    Followers
    0
    Following
    Joined Last Online
    Website www.halli-galli-palalli.de

    Xantrox Follow
    Starter

    Latest posts made by Xantrox

    • RE: MQTT Warnungen von Epever Firmware

      @lacrimosa2k2 oder gleich ESP8266 mit Tasmota und EPEver...

      klickst du hier 🙂

      posted in ioBroker Allgemein
      Xantrox
      Xantrox
    • Synology -> Inselsolar Batterieüberwachung und Netzbackup

      Moin, wollte mal horchen on jemand schon mal ähnliches vor hatte, bzw. bereits so umgesetzt hat.

      Ich habe mir eine 12V Inselsolaranlage gebaut, mit der ich auf 12V Basis die Außenbeleuchtung betreibe. Die Solaranlage langweilt sich allerdings mit der Aufgabe allerdings ziemlich.

      Meine Idee das zu ändern wäre einen Dauerverbraucher zu verwenden. Die Wahl viel auf die Synology mit ca. 60Watt sollte das gehen. Als Backup würde ich aber auf jeden Fall ein 12V Netzteil bei Unterspannung automatisch zuschalten wollen. Ich habe mir das ganze mal Skizziert und würde gerne eure Ideen dazu einfangen bezüglich:

      • Dimmensionierung
      • Dioden wegen evtl. Rückstrom
      • Umschalt Timer
      • und alles was sonst noch so auffällt

      Laderegler ist in meinem Fall ein EPEver mit RS485 Modbus auf eine ESP8266 geschaltet. Dieser würde auch die zusätzliche Pulsetime Umschaltung übernehmen.

      Hier der Link zur RS485 EPEver-ESP8266 Modbus Lösung

      Und hier die Skizze
      9edf7a01-6c81-4f7f-818d-1ca08a3c1a5a-image.png

      Die Rückschaltung von Netzbetrieb -> Solar würde ich über Script (Auswertung EPEver Daten) realisieren.
      Die Umschaltung in Richtung Netzbetrieb bin ich der MEinung ist besser fest über die Messplatine zu realisieren. Wenn das Script mal versagen sollte wäre sonst die Synology down und somit der Broker auch.

      So eure Meinungen und Anregungen nehme ich gerne an.

      Gruß Xan

      posted in Praktische Anwendungen (Showcase)
      Xantrox
      Xantrox
    • RE: [gelöst] sql Adapter "Error: Packets out of order..."

      @hardyg Ich habe dasselbe Problem. Komischerweise bei der MariaDB5 läuft alles gut. Der SQL1 Adapter mit der MariaDB10 macht komisch. Alle Einstellungen die hier vorgeschlagen wurden waren bislang nicht von Erfolg geprägt

      posted in Error/Bug
      Xantrox
      Xantrox
    • RE: [gelöst] - VIS Intance Id - automatisiert ermitteln

      @bananajoe
      Wie wäre es mit einer Website Weiterleitung?
      Startseite springt nach 5sek automatisch ins Hauptmenü und führt innerhalb dieser Zeit im Hintergrund ein Script zur instanceID aus...
      Wenn nicht automatisch weitergeleitet wird bitte diesen link drücken --->>> und dort den Button

      Wird auf jeder WeiterleitungsWebseite ähnlich gemacht

      nur mal so als Idee

      posted in Visualisierung
      Xantrox
      Xantrox
    • RE: Dyn.Auswahlliste->HTML Widget mit DP Steuerung

      @bananajoe
      Hintergrund für diese Variante war Hauptsächlich das ich aus einer beliebigen API-JSON den "Index" ziehen möchte um sie danach bei Übereinstimmung eines Datenpunktes mit Zusatzdaten anzureichern.

      Beispiel: API -> weather.api

      [{"data":
      {"wind_cdir":"SW",
      "rh":90,
      "pod":"n",
      "timestamp_utc":"2021-12-30T21:00:00",
      "pres":982.9,
      "solar_rad":0,
      "ozone":270.5,
      "weather":{
      usw.....
      

      jetzt könnte ich mir rein theoretisch für "Index" Windrichtung zusätzlich Datenpunkte ablegen wie z.B. HTML mit bebilderten Kompass etc.

      Wenn man das Script einmal hat, ist es easy sich das entsprechend der Anwendung anzupassen

      posted in Skripten / Logik
      Xantrox
      Xantrox
    • RE: Dyn.Auswahlliste->HTML Widget mit DP Steuerung

      So jetzt hier erstmal meine aktuelle Lösung zur Tankliste:

      Tankstellen.png

      Script 1 - Auswahlliste:

      // ---------------- Tankerkönig PATH ---------------------------
      var PATH_pre = "tankerkoenig.0.stations."; // Grundpfad des Tankerkönig
      var PATH_status = ".status"; // Tankerkönig Status - sollte immer gleich sein da von Tankerkönig so angelegt
      var PATH_name = ".name"; // Tankerkönig Name - sollte immer gleich sein da von Tankerkönig so angelegt
      // -------------------------------------------------------------
      
      // ---------------- Output PATH --------------------------------
      var PATH_output = "javascript.0.tankerkoenig.0.output.";
      var PATH_state = PATH_output+"aktState";
      var counter = 0;
      var PATH_Liste =PATH_output+"Liste_Tankstellen";
      
      // ---------------- Datenpunkte anlegen wenn nicht vorhanden ---
      if(!existsState(PATH_state)) {
          createState(PATH_state, {
                                  read: true, 
                                  write: true,
                                  def: "0", 
                                  desc: "Auswahl Tankstelle", 
                                  type: "string"
                                  }); // Wenn nicht vorhanden dann zufügen
      
      }
      if(!existsState(PATH_Liste)) {
          createState(PATH_Liste, {
                                  read: true, 
                                  write: true,
                                  def: "", 
                                  desc: "Tankstellenliste HTML", 
                                  type: "string"
                                  }); // Wenn nicht vorhanden dann zufügen
      
      }
      
      // -------------------------------------------------------------
      
      
      // HTML - Liste start
      var html=`<select id="Tankstellenliste" class="Tankstellenliste" size=10 onchange="changeTanke()">`;
      // durchnummerierten Datenpunkte abfragen
      while (existsState(PATH_pre+counter+PATH_status)) {
      
      var temp = getState(PATH_pre+counter+PATH_name).val;
      html=html+`<option value="${counter}">${temp}</option>` // Listenpunkte zusammenstellen
          console.log ('Lauf ' + counter + ' = '+ temp );
          counter++;
      }
      // Browser Console - zum Testen
      // html=html+`</select><script>function changeTanke() {console.log(document.getElementById("Tankstellenliste").value);}</script>`;
      
      // Zusammenstellung Menü-Liste
      html=html+`</select><script>function changeTanke() {vis.setValue("${PATH_state}",document.getElementById("Tankstellenliste").value);}</script>`;
      
      
      // Ausgabe in Datenpunkt 
      setState(PATH_Liste,html);
      
      

      Script 2 - Detailansicht

      // ---------------- Tankerkönig PATH ---------------------------
      var bPATH = "tankerkoenig.0.stations."; // Grundpfad des Tankerkönig
         var namePATH = ".name"; // Tankerkönig Name - sollte immer gleich sein da von Tankerkönig so angelegt
         var dieselPATH = ".diesel.combined"; // Tankerkönig Diesel - sollte immer gleich sein da von Tankerkönig so angelegt
         var superPATH = ".e5.combined"; // Tankerkönig Super - sollte immer gleich sein da von Tankerkönig so angelegt
         var e10PATH = ".e10.combined"; // Tankerkönig E10 - sollte immer gleich sein da von Tankerkönig so angelegt
      // -------------------------------------------------------------
      
      // ---------------- Output PATH --------------------------------
         var spreTarget = "javascript.0.tankerkoenig.0.output."; // Grundpfad des Ausgabe (VIS Frontend)
         var aktState = spreTarget+"aktState"; // Datenpunkt für ausgewählte  Tankstelle
         var detailHTML = spreTarget+"detailHTML"; // Datenpunkt - Tankstellendetails wird vom Script mit HTML gefüllt - siehe unten
      
      // Prüfung ob Datenpunkt Details(HTML) vorhanden
      if(!existsState(detailHTML)) {
          createState(detailHTML, {
                                  read: true, 
                                  write: true,
                                  def: "", 
                                  desc: "HTML-Tankdetails", 
                                  type: "string"
                                  }); // Wenn nicht vorhanden dann zufügen
      
      }
      
      // -------------------------------------------------------------
      on({id: aktState/*Data for control vis*/, change: "any"}, function (obj) {
      
         //
         // Parsing
         //
         if(!existsState(aktState)) {
             var str = 0;
             }
             else{
             var str = getState(aktState).val;    // ausgewählten Datensatz lesen
             }
          
          var sName = bPATH + str + namePATH; // PATH zusammenstellen
          var sDiesel = bPATH + str + dieselPATH;
          var sSuper = bPATH + str + superPATH;
          var sE10 = bPATH + str + e10PATH;
          
          var Tankstellenname = getState(sName).val; // Werte in Datenpunkten speichern
          var Diesel = getState(sDiesel).val;
          var Super = getState(sSuper).val;
          var E10 = getState(sE10).val;
          
          // Ausgabe vorbereiten - HTML kann hier nach Anforderungen angepasst werden
          var result = `<table class="Tankdetailstable" `+
          `<tr><td width="100%" class="TankHeader">${Tankstellenname}<br><br></td></tr></table>`+
          `<table class="Tankdetailstable">`+
          `<tr><td width="50%" class="TankDiesel">Diesel:</td><td class="TankDieselPreis">${Diesel}</td></tr>`+
          `<tr><td class="TankSuper">Super:</td><td class="TankSuperPreis">${Super}</td></tr>`+
          `<tr><td class="TankE10">E10:</td><td class="TankE10Preis">${E10}</td></tr></table>`;
      
          
      setState(detailHTML,result); // HTML in Datenpunkt speichern
      
      });
      

      Eingebunden in VIS ist es mit:

      -HTML Widget für die Details
      Tankdetail-Widget.png
      und
      -HTML State für die Liste
      Tankliste-Widget.png

      Zum Schluss habe ich noch etwas CSS hinterlegt, als Beispiel der persönlichen Anpassung:

      .TankHeader 
          {
              font-size: 13px;
              font-weight: bold;
              font-family: "K22-Spotty-Face", "Bitstream Vera Serif", serif;
          color: red; 
          }
      .TankSuper
      {
          font-size: 11px;
          background-color: #666666;
          text-align: left;
      }
      .TankDiesel, .TankE10
      { 
          font-size: 11px;
          background-color: #333333;
          text-align: left;
      }
      
      .TankSuperPreis
      {
          font-size: 13px;
          background-color: #666666;
          text-align: center;
      }
      .TankDieselPreis,  .TankE10Preis
      { 
          font-size: 13px;
          background-color: #333333;
          text-align: center;
      }
      .Tankstellenliste
      {
          background-color: #000;
          color: #fff;
          border-radius: 3px;
          border-color: red;
          
          width: 230px;
          font-size:10px;
          
      }
      

      Funktion: Bei click auf die Liste ändern sich die angezeigten Tankstellendetails. Die Tankstellenliste und Details ändern sich mit Umkonfiguration im Tankkönig Adapter.

      Viel Spass damit.

      @BananaJoe
      P.S. das Instance Thema schau ich mir mal in Ruhe an, vielleicht habe ich da noch Idee

      posted in Skripten / Logik
      Xantrox
      Xantrox
    • RE: Dyn.Auswahlliste->HTML Widget mit DP Steuerung

      @bananajoe said in Dyn.Auswahlliste->HTML Widget mit DP Steuerung:

      vis.setValue('0_userdata.0.CONTROL-OWN.ECHO8.Echo2PlayerStatus',true);

      Super ... das hat funktioniert... ich bastel das mal fertig und präsentiere die Lösung dann hier

      posted in Skripten / Logik
      Xantrox
      Xantrox
    • RE: Dyn.Auswahlliste->HTML Widget mit DP Steuerung

      @xantrox said in Dyn.Auswahlliste->HTML Widget mit DP Steuerung:

      So ich habe das ganze jetzt noch etwas erweitert.
      Das HTML STATE Widget wird nun wie folgt befüllt:

      <select id="Tankstellenliste" onchange="changeTanke()" multiple>
      <option value="0">Oktan</option>
      <option value="1">Honsel </option>
      <option value="2">TotalEnergies</option>
      <option value="3">AVEX</option>
      <option value="4">HEM</option>
      <option value="5">.....</option>
      </select>
      <script>function changeTanke() {console.log(document.getElementById("Tankstellenliste").value);}
      </script>
      

      Es wird zusätzlich jetzt onchange mit eingefügt. Das bewirkt das mein Widget schon mal auf Änderungen reagiert.
      Die function changeTanke wirft mir auch die richtige value in die Console.

      Kann mir bitte jemand verraten wie ich diesen Wert aus document.getElementById("Tankstellenliste") in meinen Datenpunkt bekomme?
      ( Datenpunkt ist: javascript.0.tankerkoenig.0.output.Button )

      Kann ich vielleicht "Tankstellenliste" in dem Widget unter Wert ablegen und somit eine Änderung des Datenpunkt erzeugen?
      HTMLState.png
      setState vom Frontend geht ja leider nicht...

      posted in Skripten / Logik
      Xantrox
      Xantrox
    • Dyn.Auswahlliste->HTML Widget mit DP Steuerung

      Hallo zusammen,
      ich hätte da mal wieder ein Thema das ich bereits auf einer anderen Plattform umgesetzt habe. Bei IOBorker und VIS stehe ich allerdings ein wenig auf dem Schlauch wie ich mein HTML Widget dazu bewegen kann den Datenpunkt entsprechend der AuswahlID zu ändern.

      Mein HTML Widget wird aus einem JSON/API befüllt und sieht wie folgt aus:

      Schalter: -> javascript.0.tankerkoenig.0.output.Button
      HTML: -> {javascript.0.tankerkoenig.0.output.Liste_Tankstellen}
      

      Der Inhalt von HTML (also {javascript.0.tankerkoenig.0.output.Liste_Tankstellen}) wird vom JS mit folgendem Inhalt erstellt:

      <select id="Tankstellenliste">
      <option value="0">Oktan</option>
      <option value="1">Honsel </option>
      <option value="2">TotalEnergies</option>
      <option value="3">AVEX</option>
      <option value="4">HEM</option>
      <option value="5">.....</option>
      </select>
      

      Das einfachste Ziel wäre zu erreichen das "value" in output.Button geschrieben würde und somit durch den Trigger per JS ein zweites HTML Widget mit Details befüllt wird.
      Hat sowas schonmal jemand gemacht oder vielleicht weiß ja auch jemand ein tolles Widget was genau diese Funktion erfüllt?

      Wichtig ist dabei, dass die Länge des JSON aus dem das Menü erstellt wird sich in der Länge ändern kann.

      posted in Skripten / Logik
      Xantrox
      Xantrox
    • RE: Tasmota Monat Strom Auswertung in tasmota Software selbst

      @arnold

      Also direkt innerhalb der Tasmota sehe ich da von Haus aus wenig chancen, außer man coded es rein. Wäre nicht unbedingt das Thema nur zu umfangreiche Statistiken sollten man nicht machen, da es den Tasmota Code aufblähen würde und der Speicher des ESP begrenzt ist.

      posted in ioBroker Allgemein
      Xantrox
      Xantrox
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
    The ioBroker Community 2014-2023
    logo