Navigation

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

    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

    C
    • Profile
    • Following 0
    • Followers 0
    • Topics 4
    • Posts 11
    • Best 0
    • Groups 1

    CabCaliber

    @CabCaliber

    0
    Reputation
    31
    Profile views
    11
    Posts
    0
    Followers
    0
    Following
    Joined Last Online

    CabCaliber Follow
    Starter

    Latest posts made by CabCaliber

    • RE: [Gelöst] History Adapter - historische Daten nachträglich

      Vielen Dank an alle beteiligten. Die Hinweise haben mich das Problem finden lassen:

      [
      {
      "val": 145,
      "ack": 0,
      "ts": 1577872800000,
      "q": 0,
      "user": system.user.admin
      "from": "system.adapter.history.0" <---- Diese Zeile fehlte in meinen json File
      }
      ]

      Das muss ich bei allem was ich getestet hatte irgendwie übersehen haben. Jetzt funktioniert es sofort, auch ohne irgendwelche Dinge neu zu starten.

      posted in ioBroker Allgemein
      C
      CabCaliber
    • RE: [Gelöst] History Adapter - historische Daten nachträglich

      Ok, den Hinweis habe ich gleich mal getestet, Mein erster Versuch der JSON Datei:

      Name der Datei: history.javascript.0.Verbrauchswerte.Test.Gesamt.json
      Pfad zur Datei: /opt/iobroker/iobroker-data/history/20200101
      Hier ist der Timestamp noch "normale" Unixzeit. Den habe ich mir mit: date -d "2020-01-01 10:00" "+%s"
      erstellt. Nach Adapater Neustart konnte ich den Eintrag nicht sehen.

      [
      {
      "val": 145,
      "ack": 0,
      "ts": 1577872800,
      "q": 0,
      "user": system.user.admin
      }
      ]

      Nach dem Hinweis mit den Millisekunden, sieht der Eintrag nun so aus (drei Nullen mehr für die Millisekunden):

      [
      {
      "val": 145,
      "ack": 0,
      "ts": 1577872800000,
      "q": 0,
      "user": system.user.admin
      }
      ]

      leider gibt es das gleiche Ergebnis. Der Wert ist nicht sichtbar.

      posted in ioBroker Allgemein
      C
      CabCaliber
    • [Gelöst] History Adapter - historische Daten nachträglich

      Hallo Leute

      ich habe bisher in regelmäßigen Abständen Verbrauchswerte in einer Excel Tabelle notiert. Die Daten möchte ich jetzt gern im iobroker haben. Also schnell neue Datenpunkte angelegt und die aktuellen Werte eingetragen. Soweit so gut. Im History Adapter ist alles zu sehen, was ich auf diesem Wege eingetragen habe.

      Nur wie bekomme ich ältere Daten dort hinein? Ich möchte die natürlich auch mit dem korrekten Datum eingetragen haben. In einem Link hier im Forum habe ich den Speicherort und das Format der Daten gefunden. Nun dachte ich mir, dass man ja eigentlich nur die älteren Daten genau so hinzufügen müsste. Verzeichnis angelegt, JSON File mit dem passenden Namen angelegt, Datei und Verzeichnis Rechte so gesetzt wie sie auf den anderen Dateien und Verzeichnissen sind. Leider zeigt der History Adapter diese Daten nicht an.

      Ich habe den Adapter neu gestartet, sogar später die komplette VM rebootet. Mir schient, dass ich da irgendeine Information noch nicht gefunden habe. Hat jemand eine Idee was mir fehlt?

      Gruß
      Michael

      posted in ioBroker Allgemein
      C
      CabCaliber
    • RE: [gelöst] Blockly und RAM

      Durch einiges herumprobieren habe ich herausbekommen, dass ich gar kein Ressourcenproblem habe. Das einige Dinge nicht funktionierten lag daran, dass man durchaus darauf achten muss "Aktualisiere ObjectID" und "Steuere ObjectID" korrekt zu benutzen. Wenn man das beachtet, dann funktioniert auch alles korrekt.

      posted in Skripten / Logik
      C
      CabCaliber
    • [gelöst] Blockly und RAM

      Hallo allerseits,

      ich habe da mal eine Frage, die ich allein nicht so richtig gegriffen bekomme. Es geht um Blockly Scripting und den damit zusammenhängenden Speicherverbrauch. Am Anfang habe ich gang klassisch einen Trigger genommen und sämtliche Login in das Script gepackt. Das wird dann auf Dauer ein langes und durchaus auch unübersichtliches Script. Nach einigem hin und her probieren bin ich jetzt bei der Variante ein Script mit einem Trigger zu benutzen und in diesem Script weitere Scripte in der Art

      ! schedule("0 23 * * *", function () {
      ! setStateDelayed("javascript.0.scriptEnabled.Rolladen.Flur.Zu"/scriptEnabled.Rolladen.Flur.Zu/, true, true, 2000, false);
      ! });

      So bleiben die Triggerscripte klein und übersichtlich und das dann zu startende Script (mit ganz viel Logik) macht was es soll und beendet sich selbst dann wieder. Aus diesem zweiten Script heraus, können dann natürlich auch andere Scripte gestartet werden. Die Idee dahinter: Ein Script das zur Zeit nichts tut muss auch nicht laufen und Ressourcen verbrauchen. Gleichzeitig kann man viele kleine Einzelfunktionen (ähnlich wie bei JavaScript im global Ordner) für die Blocklys zur Verfügung stellen, ohne Dinge doppelt und dreifach schreiben zu müssen.

      Was ich jetzt nicht herausbekomme: Stimmt denn mein Gedanke? Verbrauchen nur Scripte die gestartet sind auch Ressourcen, oder ist allein die Existenz des Script etwas das Ressourcen benötigt?

      Warum komme ich auf den Gedanken? Bisher hatte ich das Zeug auf einem Raspi 3B laufen. Da war ich natürlich irgendwann mit dem RAM am Anschlag.

      Jetzt habe ich das System auf NUC + Proxmox + Debian VM. 2GB RAM (es ginge mehr, ist aber zum testen so festgelegt) und der Speicherverbrauch ist (trotz der gleichen Menge an Scripting und Adpater wie auf dem Raspi) knapp doppelt so hoch. Also der RAM der da ist, wird genommen. Gleichzeitig habe ich den Eindruck, dass wenn zu viele Scripte gleichzeitig gestartet werden, dass das System nicht alle korrekt abgearbeitet bekommt. Erkennbar daran, dass dann z.B. heute Morgen 2 Lampen nicht wie gewünscht ausgeschaltet wurden.

      Ich hoffe man hat meine Frage verstanden….

      posted in Skripten / Logik
      C
      CabCaliber
    • RE: [Gelöst] ical: wie funktioniert das mit den Events?

      Danke für die Info. Der lokale Kalender ist erstmal keine Alternative, da ich die Option haben möchte Dinge von Unterwegs zu ändern (ohne großes VPN oder Cloud Gedönse) und vor allem wollte ich meiner Frau eine (für sie verständliche) Variante an die Hand geben, dass ebenfalls tun zu können.

      Da muss ich mal eine Weile drauf rumdenken, ob dass der richtige Weg ist.

      Danke für die Info!

      posted in ioBroker Allgemein
      C
      CabCaliber
    • RE: [Gelöst] ical: wie funktioniert das mit den Events?

      Hm, ich verstehe das dann so:

      Wenn die Abfrage des Kalenders immer auf 0 und 30 ist und ich dann einen Termin einstellen würde der von 10 - 25 geht (sinnvoll oder nicht) dann würden in dem Falle die Event-Objekte Überhaupt nicht aktualisiert werden, weil der Termin während des Durchlaufs komplett ignoriert werden würde.

      Andersherum, wenn ich einen Termin habe, der von 15 - 45 geht, bekomme ich das Eventobjekt erst um 30 auf true und um 0 wieder auf false gesetzt.

      Habe ich das so richtig verstanden?

      Gruß

      Michael

      posted in ioBroker Allgemein
      C
      CabCaliber
    • [Gelöst] ical: wie funktioniert das mit den Events?

      Hallo Gemeinde

      Ich bekomme den ical Adapter nicht so richtig in den Griff. Das liegt allerdings daran, dass ich nicht genau verstehe wie die Mechanik technisch funktioniert. Das einlesen eines Kalender ist kein Problem. Das Problem beginnt, wenn Events erstellt werden und ich die dann erzeugten Variablen als Trigger verwenden möchte.

      Ich habe zu dem Adapter folgende Frage (konnte ich aus der Erklärung dazu nicht entnehmen):

      Wann werden die Variablen zu den Events auf true gesetzt:

      Wenn der Adapter losrennt, die Termine einliest und die Termine dann zum aktuellen Zeitpunkt passt, oder "merkt" sich der Adapter, dass er die Variablen zu einem bestimmten Zeitpunkt true/false setzen muss?

      Beispiel zum Verständnis: Wenn der Adapter installiert und ein Kalender eingebunden ist, läuft er zu den Minuten 0 und 30 los und liest den Kalender neu ein. Wenn er dann in einem Termin den Begriff "Wecker" findet, wird die Variable des Events "Wecker" auf true gesetzt. Aber wann genau passiert das? Passiert das immer dann wenn die Termine eingelesen werden, oder auch zu einem anderen Zeitpunkt. Wenn ein Termin um 6:45 Uhr beginnt, der Kalender aber um 6:30 und um 7:00 Uhr eingelesen wird, wann wird denn dann die Variable zum Event gesetzt?

      Gruß

      Michael

      posted in ioBroker Allgemein
      C
      CabCaliber
    • RE: [Gelöst] Script Performance: Blockly oder JS? Ein großes Script oder viele kleine?

      Hi Dutchman

      Danke für die Erklärung, dass hilft mir weiter.

      :mrgreen:

      posted in Skripten / Logik
      C
      CabCaliber
    • [Gelöst] Script Performance: Blockly oder JS? Ein großes Script oder viele kleine?

      Hallo Gemeinde

      Ich habe da mal eine oder evtl. mehrere Fragen zum Thema Scripting und Performance. Ich habe den iobroker auf einem RasPi 3 laufen und bin insgesamt sehr zufrieden mit allem was man hier so zaubern kann. Mir ist während des Lesens im Forum aufgefallen, dass es natürlich unterschiedliche Vorgehensweisen beim Scripting gibt. Ich habe z.B. am Anfang für jede Kleinigkeit ein Blockly gebaut und dies in einem seperaten Script gespeichert. D.h. 10 Kleinigkeiten = 10 Blocklys = 10 Scripte. Und jetzt kommt die Frage:

      Macht es in der Systemperformance einen Unterschied ob man:

      1. Blockly oder JavaScript benutzt?

      2. Alle Dinge in wenigen großen Scripts oder in vielen kleinen Scripts speichert

      Viele Dinge in wenigen großen Scripts trägt nicht zur Übersichtlichkeit bei, das ist mir klar. Darum soll es auch gar nicht gehen.

      Gibt es da Erfahrungswerte? Oder gibt es evtl. andere Tipps zum "Performance Tuning"

      Klar kann ein RasPi 3 nicht unendlich viel Performance bringen (meiner zeigt bisher auch keine Schwächen). Ich bin aber immer ein Freund davon, durch vernünftiges Arbeiten der kleinen Kiste das Leben möglichst leicht zu machen?

      any comments?

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