Navigation

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

    NEWS

    • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?

    • Monatsrückblick – September 2025

    • Neues Video "KI im Smart Home" - ioBroker plus n8n

    • Profile
    • Following 0
    • Followers 2
    • Topics 313
    • Posts 7876
    • Best 672
    • Groups 2

    bahnuhr

    @bahnuhr

    Forum Testing Most Active

    759
    Reputation
    801
    Profile views
    7876
    Posts
    2
    Followers
    0
    Following
    Joined Last Online
    Location Eichenzell Age 59

    bahnuhr Follow
    Forum Testing Most Active

    Best posts made by bahnuhr

    • RE: iobroker.app android - keine Verbindung mit ws

      @apollon77

      Rückinfo von mir:

      So habe ich es hinbekommen:

      • socket.io aus geschaltet
      • web.0 aktiviert mit Port 8082
        und unten ws eingestellt
      • web.1 aktiviert mit Port 20002
        und unten integriert eingetragen (bei ws überall Haken raus)
      • ws aktiviert mit Standard-Port

      Und dann in der Handy-App natürlich den Port aktualisiert auf 20002

      Klappt einwandfrei.
      Stelle diese Lösung auch auf git.

      mfg
      Dieter

      posted in Error/Bug
      bahnuhr
      bahnuhr
    • RE: Zahltag

      @samson71

      Und auch hier stimme ich dem Beitrag vollumfänglich zu.

      Auch ich war mehrere Stunden täglich im Forum unterwegs, um zu helfen. Und dies aus Freizeit und selbstverständlich unentgeltlich. Entwickler bin auch ich nicht.

      Aber die Entwicklung bei:

      • Einstellung von Homematic von eq3/elv.
      • mehr oder weniger Einstellung von vis1
      • nicht funktionierende Widgets in vis2
      • nicht Bearbeitung / Beantwortung von issues
        und nicht zuletzt sehr komischer Äußerungen hier im Forum mir gegenüber und dann nun die Entwicklung des Bezahlens von Adaptern

      haben mich bewogen mich hier zurück zu ziehen.
      Habe auch überlegt, ob ich meinen Benutzer lösche und versuche iob durch andere Lösungen zu ersetzen.
      Aber so weit bin ich noch nicht.

      Und auch ich wollte es zumindest mal gesagt haben.

      mfg
      Dieter

      posted in ioBroker Allgemein
      bahnuhr
      bahnuhr
    • RE: ical Kalender Farben anpassen?

      Anbei ein kleines Script was ich auch aus dem Forum habe und dann geändert und angepasst habe.
      Dort kannst du sowas ändern.

      Vorteil:
      Farben ändern je nach Wunsch.
      Auch das Datum wird dann in der entsprechenden Farbe angezeigt.
      Datenpunkt musst du selber anlegen/anpassen.

      Wenn gefällt dann Daumen hoch.

      mfg
      bahnuhr

      // Script stammt von uhula und sputnik
      // Das Script greift auf die ical.0.html zu und ändert den Text.
      // Gespeichert wird das geänderte Script in "javascript.0.ical.html"
      // Geändert und erweitert in 12/2017 von bahnuhr
      
      
      var idCal = "ical.0";
      var idCalTrigger   = idCal + ".data.trigger";
      var idCalTable     = idCal + ".data.table";
      var idCalHTML      = idCal + ".data.html";
      var idCalHTMLtable = 'javascript.0.Status.Ical.html';
      
      var anz_ganztags = false;   // wenn true wird bei Ganztags-Terminen als time auch "ganzer Tag" angezeigt; wenn false erfolgt gar keine Anzeige
      var anz_time = true;        // wenn true werden die Uhrzeiten angezeigt; wenn false erfolgt gar keine Anzeige
      var balken = false;         // wenn true wird Balken links angezeigt; wenn false dann erfolgt keine Anzeige
      
      function iCalToHTMLTable() {
          var html     = "<table style='font-size:0.9em;'><tbody>";
          var calTable = getState(idCalTable);
          var inst     = getObject("system.adapter."+idCal);
          var instopt  = inst.native;
          var calendar = {};
      
          for (var i = 0; i < calTable.val.length; i++) { 
              var entry = calTable.val[i];
              var _date = new Date(entry._date);
              var _time = "";
      
      
              // "_time und date" Variable festlegen
              if (entry.date.indexOf("&#8594") >= 0) {    // Pfeil ist enthalten
                  if (entry.date.indexOf(":") >= 0) {         // Uhrzeit ist enthalten
                      _time = "bis " + (entry.date).substring(entry.date.length-5,entry.date.length);
                      entry.date = Datum_holen("tm");
                  } else {
                      _time= "ganzer Tag";
                      entry.date = Datum_holen("tm");
                  }
              } else {                                    // Pfeil ist nicht enthalten
                  if (entry.date.indexOf(":") >= 0) {         // Uhrzeit ist enthalten
                      _time = (entry.date).substring(entry.date.length-11,entry.date.length);
                  } else {
                      _time= "ganzer Tag";
                  }
                  entry.date = getFormattedDate(_date);
              }
      
      
              if ( entry._calName != calendar.name ) {
                  calendar = {};
                  for (var c = 0; c < instopt.calendars.length; c++ ) {
                      if (entry._calName == instopt.calendars[c].name ) {
                          calendar = instopt.calendars[c];
                          break;
                      }
                  }
              }
      
              var _color = "color:"+calendar.color;
              if (entry._class.includes("ical_today")) _color = "color:red;";
              else if (entry._class.includes("ical_tomorrow")) _color = "color:orange";
              else if (entry._class.includes("ical_dayafter")) _color = "color:yellow";
      
              var _bgcolor = "";
              if(calendar.name == "Müll") {
                  if(entry.event == "Bio Tonne") {
                      _bgcolor = "#a0e878";
                      _color="color:#a0e878";
                  }
                  else if(entry.event == "Restmüll Tonne") {
                      _bgcolor = "#ce6f6f"; 
                      _color="color:#ce6f6f";
                  }
                  else if(entry.event == "Blaue Tonne") {
                      _bgcolor = "#508fdc";
                      _color="color:#508fdc";
                  }
                  else if(entry.event == "Gelbe Tonne") {
                      _bgcolor = "#eee06d";
                      _color="color:#eee06d";
                  }
              }
              else _bgcolor = calendar.color;
              
              if (balken === false) _bgcolor = "";
              
              if (_bgcolor !== "") html+="<tr style='background:transparent; background-image: linear-gradient("+_bgcolor+","+_bgcolor+"); background-size: 6px 90%; background-repeat: no-repeat;'>";
              else html+="<tr>";
      
                  var abstand = "15px;";
                  if (balken === false) abstand = "3px;";
                  html+="<td style='font-size:1.1em; padding-left:"+abstand+_color+"'>"+entry.date+"</td>";
      
              if ((_time === "ganzer Tag" && anz_ganztags === false) || anz_time === false) {
                  html+="<td style='font-size:1.1em; padding-left:5px;"+_color+"'>"+entry.event+"</td>";                      // nur event anzeigen
              } else {
                  html+="<td style='font-size:1.1em; padding-left:5px;"+_color+"'>"+_time + "  " + entry.event+"</td>";       // time + event wird angezeigt
              }
              html+="</tr>";
          }
      
          html+="</body></table>";    
          setState(idCalHTMLtable, html);    
      }
      
      function getFormattedDate(date) {
          var month = (1 + date.getMonth()).toString();
          month = month.length > 1 ? month : '0' + month;
          var day = date.getDate().toString();
          day = day.length > 1 ? day : '0' + day;
          return day + '.' + month + '.';
      }
      
      on({id: idCalTable, change: "ne"}, function (obj) {
          iCalToHTMLTable();
      });
      
      iCalToHTMLTable();
      
      
      posted in Visualisierung
      bahnuhr
      bahnuhr
    • RE: [gelöst]Frage: Wer hat die "Tagesschau in 100s" eingebunden?

      @bahnuhr sagte in [gelöst]Frage: Wer hat die "Tagesschau in 100s" eingebunden?:

      @allvaron

      Tatsächlich, den Fehler hab ich auch:
      cc7b1dde-f9d9-461c-904a-5fd6869fb9f1-image.png

      Muss mal schauen ob ich da was finde!?

      So, geändert muss es wie folgt:

      Zeile:
      let regexp = /https://media.tagesschau.de/video/\d*/\d*/TV-\d*-\d*-\d*.webxl.h264.mp4/gm;
      ändern in:
      let regexp = /media.tagesschau.de/video/\d*/\d*/TV-\d*-\d*-\d*.webxl.h264.mp4/gm;

      und

      Zeile:
      setState(idURL100s, film_url);
      ändern in:
      setState(idURL100s, "https://" + film_url);

      Danach läuft es wieder und der entsprechende DP wird aktualisiert !

      posted in Praktische Anwendungen (Showcase)
      bahnuhr
      bahnuhr
    • RE: Vis Bildupload funktioniert nicht

      @pargelenis

      @glasfaser hat dir jetzt schon 3 x geschrieben was gewollt ist.
      Warum macht man dies nicht !
      Ist für mich nicht nachvollziehbar.

      @pargelenis sagte in Vis Bildupload funktioniert nicht:

      bei der Erstellung einer neuen View gibt es bei mir keine Probleme. Der IoB Fix Befehl hat leider auch nicht geholfen.

      Auf damit kann man nix anfangen !
      wie erstellt ?
      welche Probleme ?
      etc.
      etc.

      Ich kann absolut nicht nachvollziehen warum man sich so stur anstellt.

      posted in Error/Bug
      bahnuhr
      bahnuhr
    • RE: Vis2 ab 09.01.2024 im stable

      @samson71 sagte in Vis2 ab morgen im stable:

      Ich bin mir dessen wohl bewusst. Trotzdem erwarte ich bei so etwas eine Art von Grundkompatibilität. Gerne auch als neue/bessere Alternative parallel zum bisherigen. Man kann aber nicht einfach DIE Standardvisualisierung (war meine ich auch gleich mit eingebaut und die erste überhaupt) in Rente schicken und damit die User mehr oder weniger nötigen eine fast 10 Jahre gewachsene Oberfläche komplett neu zu machen. Ich bin seit den ersten Tagen von ioBroker praktisch dabei und habe früh damit angefangen.
      Wobei die Funktion an sich ja noch weiter gegeben ist, wenn ich das richtig gelesen habe. Lediglich Weiterentwicklungen wird es ja nicht mehr geben. Aber genau da sehe ich auch die Gefahr, bei einem der zukünftigen Updates von admin oder js-controller die Kompatibilität von vis 1 dann mal kurzerhand nicht mehr zu weiter zu pflegen. Das gibt dann im schlechtesten Fall einen Installationshinweis auf "Breaking Changes" und aus.

      Ich sehe das ganz genauso.
      VIS ist Bestandteil seit Anfang an. Und ich sehe hier auch die Gefahr, dass man gezwungen wird (weil updates etc. nicht mehr kommen) auf VIS2 zu wechseln.

      Übrigens laufen flot Diagramme in vis 2 auch nicht mehr !!!
      Im Editor sind sie da; in run im Editor auch. Aber nur in run, da sind sie weg !

      Für mich ist der vis 2 so nicht brauchbar.
      Glaube ich werde diesen wieder deinstallieren.

      @jogibear9988 sagte in Vis2 ab morgen im stable:

      also wenn man sich dir großen Hersteller anschaut ist das dort auch nicht anders.

      Für mich ein äußerst schlechter Vergleich. Wir sind hier bei iob. Und genau dies hat uns doch immer von den "großen" unterschieden.

      @jogibear9988 sagte in Vis2 ab morgen im stable:

      Aber dann kannst dir ja auch mal die alternativen, bswp webui anschauen.

      Auch dies werde ich nicht machen.

      Bin seit mehreren Jahren bei vis 1.
      Und komme damit nun mittlerweile sehr gut zurecht.

      posted in Visualisierung
      bahnuhr
      bahnuhr
    • RE: Hygrometer Empfehlung für NUC, Proxmox, VM ioB

      @woupi

      Wemos D1 mit BME 280
      (kostet zusammen nur ein paar Euro).

      Der BME 280 kann: Temperatur, Luftfeuchtigkeit, Luftdruck, Taupunkt
      Mit Tasmota geflasht siehts dann so aus:
      4f23dbc0-1121-46c8-923c-1d08b32433bb-image.png

      Und in VIS so:
      1d54402d-fbab-4539-a4d4-b59c4a3fae1c-image.png

      Für co2 und Helligkeit braucht du weitere Sensoren.

      posted in Einsteigerfragen
      bahnuhr
      bahnuhr
    • RE: Merci für 2023

      @djmarc75

      Ich kann jeden deiner Sätze nur voll unterstreichen.

      Von mir auch alles gute für 2024.

      mfg
      Dieter

      posted in Off Topic
      bahnuhr
      bahnuhr
    • RE: Welche IP Kamera für den Außenbereich

      @da_woody sagte in Welche IP Kamera für den Außenbereich:

      @manua dein sinnloses bashing gegen @bahnuhr ist auch nicht hilfreich.

      Lass gut sein, er hat doch erst 20 Beiträge und wird auch noch ruhiger.

      @manua sagte in Welche IP Kamera für den Außenbereich:

      Welche Cam hast Du denn im Einsatz? Kannst bestimmt auch Deine Erfahrungen zu preisgeben.

      habe aktuell ca. 10 Cam im Einsatz. Und habe mindestens schon 200 x kundgetan welche ich bevorzuge und warum.
      Und deshalb muss man halt die threads mal lesen.

      Ende von mir. Ich bin raus hier.

      posted in Hardware
      bahnuhr
      bahnuhr
    • RE: iobroker zeschossen

      @thomas-braun sagte in iobroker zeschossen:

      @bahnuhr

      Hatte ich bewusst nicht genannt, sonst spuken da wieder Steuerzeichen von seiner Maus durch das Terminal.

      Tschuldigung

      Aber es ist gerade so spannend zwischen euch zwei.
      Besser als jeder Sonntags Krimi 😉

      posted in ioBroker Allgemein
      bahnuhr
      bahnuhr

    Latest posts made by bahnuhr

    • RE: Quelle für Anzahl der Sonnenstunden?

      @ro75
      Naja, das war der 2. Versuch.
      Jetzt fällt mir nix mehr ein.

      Prognose mag ich nicht.
      Stimmt sowieso nicht.

      posted in ioBroker Allgemein
      bahnuhr
      bahnuhr
    • RE: Quelle für Anzahl der Sonnenstunden?

      @ro75

      Alles klar.
      Dann kauf dir einen HM Sonnensensor und loggen die Zeiten die über x sind.
      Das von heute:
      4533d5c6-7867-4428-acf5-d5274bac119a-image.png

      posted in ioBroker Allgemein
      bahnuhr
      bahnuhr
    • RE: Quelle für Anzahl der Sonnenstunden?

      @bananajoe
      Würde dir das Script von hier:
      https://www.kreyenborg.koeln
      helfen?

      Das Script bei mir:

      
      // * @copyright 2020 Stephan Kreyenborg <stephan@kreyenborg.koeln>
      // * @author 2020 Stephan Kreyenborg <stephan@kreyenborg.koeln>
      // * https://www.kreyenborg.koeln
      // * Skript Name:     Astro-Zeiten    |   Skript Version:  1.41   |   Erstell-Datum:   01. April 2021 | Update: 23. Dezember 2022
      
      // Datenpunkte neu erstellen
      var ueberschreiben = false;
      
      // Hauptdatenpunkt unterhalb javascript
      var datenpunkt = "javascript.0.System.Astro.";
      
      // Lesbare Zeiten
      var lesbare_zeiten = ["Früher Morgen", "Frühe Dämmerung", "Morgendämmerung", "Sonnenaufgang", "Vormittag", "später Vormittag", "Mittag",
          "früher Abend", "Abend", "Sonnenuntergang", "Abenddämmerung", "später Abend", "Nacht", "Mitternacht"];
      
      // Objekte der Astro Zeiten
      var objekt = ["nauticalDawn", "nauticalDawn", "dawn", "sunrise", "sunriseEnd", "goldenHourEnd", "solarNoon", "goldenHour",
          "sunsetStart", "sunset", "dusk", "nauticalDusk", "nauticalDusk", "nadir", "tageszeitAstro", "naechsteTageszeitAstro",
          "tageszeitLesbar", "naechsteTageszeitLesbar", "aktuelleAstroZeit", "Tag", "sunriseUnix", "sunsetUnix", "sommerzeit",
          "tageslaenge", "tageslaenge_minuten", "mondphase"];
      
      // Zustände der Astro-Zeiten
      var beschreibung = ["00 - Ende der Nacht", "01 - nautische Morgendämmerung", "02 - Morgendämmerung", "03 - Sonnenaufgang",
          "04 - Ende des Sonnenaufgangs", "05 - Ende der goldenen Stunde VM", "06 - Mittag", "07 - goldene Abendstunde",
          "08 - Start des Sonnenuntergangs", "09 - Sonnenuntergang", "10 - Dämmerung Abends", "11 - nautische Dämmerung abends",
          "12 - Start der Nacht", "13 - Mitternacht", "Aktuelle Tageszeit (Astro)", "Nächste Tageszeit (Astro)",
          "Aktuelle Tageszeit (lesbar)", "Nächste Tageszeit (lesbar)", "aktuelle Astrozeit",
          "Solange die Sonne scheint, ist Tag", "Sunrise Unix Zeitstempel", "Sunset Unix Zeitstempel", "Sommerzeit/Winterzeit",
          "Länge des Tages in HH:MM", "Länge des Tages in Minuten", "Aktuelle Mondphase"];
      
      // Suncalc
      const suncalc = require('suncalc');
      
      // Erstelle die benötigten Datenpunkte
      function datenpunkte_erstellen() {
          var numstatuss = objekt.length;
          let datum = new Date();
          for (var i = 0; i < objekt.length; i++) {
              let initial = "";
              if (i < 14) {
                  let astro_zeit = zeit_formatieren(getAstroDate(objekt[i], datum));
                  if (astro_zeit == "Invalid Date") {
                      astro_zeit = "00:00";
                  }
                  initial = astro_zeit
              } else {
                  initial = "";
              }
              createState(datenpunkt + objekt[i], initial, ueberschreiben, {
                  read: true,
                  write: true,
                  name: beschreibung[i],
                  desc: beschreibung[i],
                  type: "string",
                  role: "value",
                  unit: "",
                  def: ""
              });
              numstatuss--;
              if (numstatuss === 0) {
                  update_astro_zeiten();
              }
          }
          log("Astro: Datenpunkte erstellt!");
      }
      
      // Haupt-Skript
      function update_astro_zeiten() {
          var datum = new Date(), uhrzeit = zeit_formatieren(datum);
          // Zustand der Daten
              var aktuell = 0, aktualisiert = 0, keine_aktualisierung = 0, astro_index = 0;
          // Aktuellen Tagesabschnitt bestimmen
              var ergebnis = -1, naechste_element = false;
          // Aktuelle & kommende Tageszeit
              var aktuelle_tageszeit = 0, kommende_tageszeit = 0;
          // Tag
              var astroTag = "Nacht";
          for (var i = 0; i < 14; i++) {
              // Temporäre Zahl
                  var tmp_ergebnis = 0;
              // Hole Uhrzeit aus aktuellem Datenpunkt
                  var dp_zeit = getState(datenpunkt + objekt[i]).val;
              // Hole Index aktuelle Tageszeit
                  var tmp_time_uhr = Date.parse('1970-01-01 ' + uhrzeit + ':00');
                  var tmp_time_dp = Date.parse('1970-01-01 ' + dp_zeit + ':00');
              // Aktuelle Zeit ist kleiner als DP
                  if (tmp_time_uhr < tmp_time_dp) {
                      tmp_ergebnis = tmp_time_dp - tmp_time_uhr;
                      if (tmp_ergebnis <= ergebnis || ergebnis == -1) { ergebnis = tmp_ergebnis; astro_index = i; naechste_element = true; }
                      // Aktuelle Zeit ist größer als DP
                      } else { tmp_ergebnis = tmp_time_uhr - tmp_time_dp;
                      if (tmp_ergebnis <= ergebnis || ergebnis == -1) { ergebnis = tmp_ergebnis; astro_index = i; naechste_element = false; }
                  }
              // Datenpunkt ist kleiner als aktuelle Uhrzeit. Update!
              if (dp_zeit < uhrzeit) {
                  // Neue Astro-Zeit für den nächsten Tag generieren
                      let morgen = new Date(); morgen.setDate(morgen.getDate() + 1); var astro_zeit = zeit_formatieren(getAstroDate(objekt[i], morgen));
                  // Datenpunkt und Astro Zeit sind gleich. Kein Update!
                  if (dp_zeit == astro_zeit) { keine_aktualisierung++;
                  } else {
                      if (astro_zeit == "Invalid Date") { astro_zeit = "00:00"; }
                      setState(datenpunkt + objekt[i], astro_zeit, true); aktualisiert++;
                  }
              } else {
                  // Zeit kommt noch! Kein Update!
                  aktuell++;
              }
          }
          // Wenn wahr, ist der Abstand zum nächsten Zeitpunkt kleiner. Also -1 um aktuellen Index zu erhalten.
              if (naechste_element) { astro_index--; }
          // Navigiere zum richtigen Index
              if (astro_index > 12) { aktuelle_tageszeit = 13; kommende_tageszeit = 0;
              } else if (astro_index < 0) { aktuelle_tageszeit = 0; kommende_tageszeit = 1;
              } else { aktuelle_tageszeit = astro_index; kommende_tageszeit = astro_index + 1; }
          // Prüfe, ob aktuelle Uhrzeit zwischen Sonnenauf- und untergang liegt
              if (astro_index > 2 && astro_index < 10) { astroTag = "Tag"; }
          // Update aktuelle Tageszeit Astro (Text)
              setState(datenpunkt + objekt[14], text_formatieren(beschreibung[aktuelle_tageszeit]), true);
          // Update kommende Tageszeit Astro (Text)
              setState(datenpunkt + objekt[15], text_formatieren(beschreibung[kommende_tageszeit]), true);
          // Update aktuelle Tageszeit lesbar (Text)
              setState(datenpunkt + objekt[16], lesbare_zeiten[aktuelle_tageszeit], true);
          // Update kommende Tageszeit lesbar (Text)
              setState(datenpunkt + objekt[17], lesbare_zeiten[kommende_tageszeit], true);
          // Update aktuelle AstroZeit
              setState(datenpunkt + objekt[18], objekt[aktuelle_tageszeit], true);
          // Setze die Variable "Tag" auf "Tag", wenn Uhrzeit zwischen Sonnenauf- und untergang
              setState(datenpunkt + objekt[19], astroTag, true);
          // Setze Sommerzeit auf Sommerzeit, wenn in Sommerzeit
              setState(datenpunkt + objekt[22], pruefe_sommerzeit(datum), true);
          // Tageslänge berechnen - in Stunden und Minuten
              let laenge = tageslaenge(getAstroDate(objekt[9]), getAstroDate(objekt[3]));
              setState(datenpunkt + objekt[23], laenge.hh_mm, true);
              setState(datenpunkt + objekt[24], laenge.minuten.toString(), true);
          // Mondphase
              let phase = mondphase(datum); setState(datenpunkt + objekt[25], phase, true);
          // Setze die Variable Sunrise Unix
              let tmp_morgen = new Date();
              tmp_morgen.setDate(tmp_morgen.getDate() + 1);
              let unix_sunrise = getAstroDate("sunrise", tmp_morgen).getTime() * 1000;
              setState(datenpunkt + objekt[20], unix_sunrise.toString(), true);
          // Setze die Variable Sunset Unix
              let unix_sunset = getAstroDate("sunset", tmp_morgen).getTime() * 1000;
              setState(datenpunkt + objekt[21], unix_sunset.toString(), true);
          var ausgabe = "Astro: Gültige Zeiten: [aktueller Tag: " + aktuell + "] | [nächster Tag: " + keine_aktualisierung + "] | [Aktualisiert: " + aktualisiert +
              "] | Aktuelle Tageszeit: " + lesbare_zeiten[aktuelle_tageszeit] + " | Kommende Tageszeit: " + lesbare_zeiten[kommende_tageszeit];
          log(ausgabe);
      }
      
      // Funktion, um die Zeit in HH:MM zu formatieren
          function zeit_formatieren(zeit) {
              return zeit.toLocaleTimeString('de-DE', { hour12: false, hour: '2-digit', minute: '2-digit' });
          }
      
      // Funktion, um den Text zu formatieren. "Mittag" statt "6 - Mittag"
          function text_formatieren(text) {
              text = text.split("-")[1]; text = text.substr(1, text.length); return text;
          }
      
      function pruefe_sommerzeit(date = new Date()) {
          const januar = new Date(date.getFullYear(), 0, 1).getTimezoneOffset(); const juli = new Date(date.getFullYear(), 6, 1).getTimezoneOffset(); let sommerzeit = "";
          if (Math.max(januar, juli) !== date.getTimezoneOffset()) { sommerzeit = "Sommerzeit";
          } else { sommerzeit = "Winterzeit"; }
          return sommerzeit;
      }
      
      function tageslaenge(endzeit, startzeit) {
          // Basis - Sonnenauf- und Untergang
          var stundeDiff = Math.abs(endzeit.getTime() - startzeit.getTime()) / 1000; //in s
          var hDiff = Math.floor(stundeDiff / 3600) % 24; //in Stunden
          var minDiff = Math.floor(stundeDiff / 60) % 60; //in Minuten
          var lesbar = {};
          lesbar.hh_mm = hDiff + ":" + minDiff;
          lesbar.minuten = (hDiff * 60) + minDiff;
          return lesbar;
      }
      
      function mondphase(datum) {
          var mondphase = suncalc.getMoonIllumination(datum); var mond_beleuch = mondphase.fraction; var mond = mondphase.phase; var status = 'Neumond'; 
          if (mond > 0.05) status = parseInt(mond_beleuch*100) + '% 1/4 Mond zunehmend';
          if (mond > 0.2) status = parseInt(mond_beleuch*100) + '% 1/2 Mond zunehmend';
          if (mond > 0.3) status = parseInt(mond_beleuch*100) + '% 3/4 Mond zunehmend';
          if (mond > 0.45) status = parseInt(mond_beleuch*100) + '% Vollmond';
          if (mond > 0.55) status = parseInt(mond_beleuch*100) + '% 3/4 Mond abnehmend';
          if (mond > 0.7) status = parseInt(mond_beleuch*100) + '% 1/2 Mond abnehmend';
          if (mond > 0.8) status = parseInt(mond_beleuch*100) + '% 1/4 Mond abnehmend';
          if (mond > 0.95) status = parseInt(mond_beleuch*100) + '% Neumond';
          return status;
      }
      
      // Erster Start des Skripts und anlegen der Datenpunkte
      function update_astro_zeiten_erster_start() {
          log("Astro: Erster Start des Skriptes!")
          // Datenpunkte werden erstellt
              datenpunkte_erstellen();
      }
      
      // Erster Start und Initialisierung
          update_astro_zeiten_erster_start();
      
      // Alle 60 Minunten das Hauptskript ausführen
          schedule('*/30 * * * *', update_astro_zeiten);
      
      
      

      Sieht in Vis dann so aus:
      ed1dab1b-a795-4226-8d22-3e89cc279e2a-image.png

      Und die Zeiten dann halt ausrechnen.

      posted in ioBroker Allgemein
      bahnuhr
      bahnuhr
    • RE: Test Adapter sun2000 v0.1.x - Huawei Wechselrichter

      @a0377016 sagte in Test Adapter sun2000 v0.1.x - Huawei Wechselrichter:

      Schreiben funktioniert bei mir nicht.

      Heißt was ?
      Was hast du schon probiert ?
      Zeigen !

      @a0377016 sagte in Test Adapter sun2000 v0.1.x - Huawei Wechselrichter:

      Kann mal einer eine Skript hochladen wie es aussehen muss???

      In dem anderen Thread hast du doch schon ein blockly bekommen.
      Reicht dies nicht ?

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

      @thvoni sagte in Test Adapter sun2000 v0.1.x - Huawei Wechselrichter:

      ID 162

      162 hab ich noch nie gelesen.

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

      @thvoni
      Wieviel WR hast du ?
      Hast du im log geschaut ?

      Ich hatte früher dongle; modbus id 1 und 16
      Jetzt Emma und 3 WR; modbus id 3,5,6.

      Probier die doch einfach mal aus.

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

      @bolliy sagte in Test Adapter sun2000 v0.1.x - Huawei Wechselrichter:

      Der Speicher muss "wach" sein.
      https://github.com/bolliy/ioBroker.sun2000/wiki/Speichersystem-aufwecken-(wake-up-Luna)

      Bei der Emma funktioniert es so:

      Wenn WR und Batt eingeschlafen sind, dann einfach den DP

      sun2000.0.emma.control.battery.ESSControlMode

      auf 5 setzen.
      Es dauert dann ein bisschen. WR und Batt werden geweckt und dann werden die Batt auch vom Netz geladen.
      Dieses "Aufwecken" dauert keine 5 Minuten.

      mfg

      posted in Tester
      bahnuhr
      bahnuhr
    • RE: IMAP Adapter: Wie eingehende Mails prüfen?

      @bertderkleine

      Wo ist jetzt da dein Problem.
      Neue Mails werden doch dargestellt in:
      imap.0.xxx.email.email_01

      Und wenn das sich ändert, dann script was du damit vorhast.

      posted in ioBroker Allgemein
      bahnuhr
      bahnuhr
    • RE: Passwort pro App

      @manfredhi
      Danke für die Info.
      Und ja: 1.4.2. funktioniert.

      posted in Visualisierung
      bahnuhr
      bahnuhr
    • RE: Bereitstellung der JSON-Daten für den Wiffi-WZ Adapter

      @mcm1957
      Habe den Wiffi schon lange nicht mehr.
      Für mich waren die Punkte damals klar.

      posted in Microcontroller
      bahnuhr
      bahnuhr
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
    The ioBroker Community 2014-2023
    logo