Navigation

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

    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

    P
    • Profile
    • Following 0
    • Followers 0
    • Topics 1
    • Posts 5
    • Best 0
    • Groups 1

    Paddex

    @Paddex

    0
    Reputation
    4
    Profile views
    5
    Posts
    0
    Followers
    0
    Following
    Joined Last Online

    Paddex Follow
    Starter

    Latest posts made by Paddex

    • RE: "Zeitdifferenz formatieren" liefert "falsches" Format

      @paul53 said in "Zeitdifferenz formatieren" liefert "falsches" Format:

      anwenderformatiert funktionier

      Hallo,

      "anwenderformatiert" war leider auch nicht die Lösung wegen der negativ Darstellung.

      Was mir gerade aufgefallen ist:
      fe9d95b3-8298-40d2-8546-a4eb957a2b55-grafik.png

      positiv 6 min 9 sek -> negativ 7 min 51 sek ??
      Wo ist mein Denkfehler?

      Ansonsten ist der Block richtig gut und spart das selber zusammstellen der Zeit.

      Gruß Maik

      posted in Blockly
      P
      Paddex
    • "Zeitdifferenz formatieren" liefert "falsches" Format

      Hallo an alle,

      ich habe letzte Woche den (für mich) neuen Block "Zeitdifferenz formatieren" entdeckt, musste aber feststellen, dass das Format nicht richtig angezeigt wird.

      06:09 -> 6 Minuten 9 Sekunden wird mit falsch angezeit:
      44aa1776-ebcf-499f-a9bf-cbeacbdb3215-Screenshot Blockly Fehler Zeit berechnen.png

      Formatierung ist:
      Screenshot Blockly Fehler Formatierung.png

      Er entfernt die Nullen! Was bei der Minute noch ok wäre, ist aber bei den Sekunden absolut falsch.

      Leider ist ein umformatieren mit bem Konvertierungsblock Datum/Zeit auch nicht möglich.
      Screenshot 2024-05-10 155905.png
      Wenn die Zeitdifferenz negativ wird, dann wir z.B. 0-1:55 angezeigt. Dann ist eine Auswertung ob negativ nicht mehr möglich.

      Schreibe hier, weil ich nicht genau weiß, wo der Bug zu melden ist. Hinweise nehme ich gerne.

      Danke an die Programmieren, ioBroker ist echt super. Danke für eure Arbeit.

      Gruß

      Maik

      posted in Blockly
      P
      Paddex
    • RE: Alexa Wecker schaltet Beleuchtung an

      Wieso sollte Amazon einem das übel nehmen? ich starte den JavaScript Adapter neu, nicht den Alexa. Durch den Neustart kennt er die neuen Datenpunkte die Alexa bei jedem neuem Wecker anlegt.

      posted in Skripten / Logik
      P
      Paddex
    • RE: Alexa Wecker schaltet Beleuchtung an

      Hallo und Danke,

      werde es jetzt die Tage versuch produktiev zu setzen. Erste Test waren schon mal erfolgreich.
      Wenn das Script um 4 Uhr laufen soll, dann lasse ich den Adapter jetzt einfach um 3:59 neu starten. Funktioniert super über den Expertenmodus in der Instanzenansicht.
      Noch mal Danke an alle.

      Gruß

      posted in Skripten / Logik
      P
      Paddex
    • RE: Alexa Wecker schaltet Beleuchtung an

      Hallo,

      ich möchte das Thema noch einmal aufgreifen und auch hier mal meine Frage stellen.
      Ich möchte bei mir eine Steuerung programmieren, die 30 Minuten vor dem ersten eingestellten Wecker die Heizung im Badezimmer anmachen soll.

      Dafür itteriere ich Nachts um 4 Uhr über alle Alarm-Ordner (später kann man den dies auch machen lassen, wenn z.B. in der Alexa Summery das Stichwort Wecker hällt). Suche die raus die "true" sind, packen sie dann in eine Liste welche ich dann sortiere.

      Dann siehe ich von der kleinsten Uhrzeit 30 Minuten ab und habe die Lösung 🙂

      JUHU - dachte ich ...

      Leider musste ich feststellen, dass wenn ein neuer Wecker angelegt wird, das Script diesen nicht findet. Erst wenn ich den javascript Adapter neu starte, erst dann findet er den neuen Wecker.

      Hier erstmal mein Code:

      var lst_Alarme, lst_Weckzeiten, int_Anzahl, acID, i, str_Weckzeit, str_kleinsteWeckzeitMinus30Min, VorWecker1;
      
      function listsGetSortCompare(type, direction) {
        var compareFuncs = {
          "NUMERIC": function(a, b) {
              return Number(a) - Number(b); },
          "TEXT": function(a, b) {
              return a.toString() > b.toString() ? 1 : -1; },
          "IGNORE_CASE": function(a, b) {
              return a.toString().toLowerCase() > b.toString().toLowerCase() ? 1 : -1; },
        };
        var compare = compareFuncs[type];
        return function(a, b) { return compare(a, b) * direction; }
      }
      
      
      // Alle Alarme von Schlafzimmer Echo Dot
      lst_Alarme = Array.prototype.slice.apply($("channel[state.id=alexa2.0.Echo-Devices.alexa2.0.Echo-Devices.G09XXXXXXXXXX.Alarm.*.enabled]"));
      lst_Weckzeiten = [];
      int_Anzahl = 0;
      if (!lst_Alarme.length) {
        console.log('Keine Alarme gefunden');
      } else {
        for (var acID_index in lst_Alarme) {
          acID = lst_Alarme[acID_index];
          int_Anzahl = (typeof int_Anzahl == 'number' ? int_Anzahl : 0) + 1;
          console.log(([int_Anzahl,' - ',acID,' - ',getState(acID).val].join('')));
          if (getState(acID).val) {
            console.log(([acID,' - ',getState(acID).val].join('')));
            str_Weckzeit = getState((String(acID.slice(0, acID.length - 7)) + 'time')).val;
            lst_Weckzeiten.push(getDateObject(str_Weckzeit).getTime());
          }
        }
        if (!lst_Weckzeiten.length) {
          console.log('Keine AKTIVIERTEN Alarme gefunden');
        } else {
          console.log('fertige Liste durchsuchen');
          for (var i_index in lst_Weckzeiten) {
            i = lst_Weckzeiten[i_index];
            console.log(('' + formatDate(getDateObject(getDateObject(i).getTime()), "hh:mm:ss")));
          }
          console.log('sortierte  Liste');
          var i_list = lst_Weckzeiten.slice().sort(listsGetSortCompare("NUMERIC", 1));
          for (var i_index2 in i_list) {
            i = i_list[i_index2];
            console.log(('' + formatDate(getDateObject(getDateObject(i).getTime()), "hh:mm:ss")));
          }
          console.log('kleinste Element');
          console.log(('' + formatDate(getDateObject((lst_Weckzeiten.slice().sort(listsGetSortCompare("NUMERIC", 1))[0])), "hh:mm:ss")));
          console.log('kleinste Element - 30 Minuten');
          str_kleinsteWeckzeitMinus30Min = ('' + formatDate(getDateObject((parseFloat(getDateObject((lst_Weckzeiten.slice().sort(listsGetSortCompare("NUMERIC", 1))[0])).getTime()) - 30 * 1000 * 60)), "hh:mm:ss"));
          console.log(str_kleinsteWeckzeitMinus30Min);
          console.log('kleinste Element - 30 Minuten');
          (function () {if (VorWecker1) {clearSchedule(VorWecker1); VorWecker1 = null;}})();
          VorWecker1 = schedule((getDateObject(str_kleinsteWeckzeitMinus30Min).getMinutes()).toString().trim() + ' ' + getDateObject(str_kleinsteWeckzeitMinus30Min).getHours().toString().trim() + ' ' + '*'.toString().trim() + ' ' + '*'.toString().trim() + ' ' + '*'.toString().trim(), async function () {
          });
        }
      }
      

      Und hier noch mal in zusammengesetztes Bild vom Blockly:

      BlocklyScriptAlexaWecker.png

      Vielleicht hat ja einer von euch eine Idee, wie man in JS neue Datenpunkte einlesen kann, die Instanz neu starten kann .. etc..

      Vielen Dank und ich bin gespannt

      posted in Skripten / Logik
      P
      Paddex
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
    The ioBroker Community 2014-2023
    logo