Navigation

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

    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

    R
    • Profile
    • Following 0
    • Followers 1
    • Topics 2
    • Posts 11
    • Best 0
    • Groups 1

    Rudi86

    @Rudi86

    Starter

    0
    Reputation
    7
    Profile views
    11
    Posts
    1
    Followers
    0
    Following
    Joined Last Online

    Rudi86 Follow
    Starter

    Latest posts made by Rudi86

    • RE: TA Daten über CAN-Bus lesen/schreiben

      Wäre FUP nicht einfacher? Das ist ja quasi fast genauso wie mit TAPPS.
      Wir machen das Meiste in FUP, nur Dinge die sich mit minimalen Änderungen hundertfach wiederholen (z.B. Mapping von Ein/Ausgängen) sind in ST geschrieben.

      posted in ioBroker Allgemein
      R
      Rudi86
    • RE: TA Daten über CAN-Bus lesen/schreiben

      Cool... Ich mache genau das beruflich (Eingänge auf über 200 SPSen sammeln, verarbeiten und an ein Leitstellensystem per IEC 104 senden). Was setzt du da für eine SPS ein?

      posted in ioBroker Allgemein
      R
      Rudi86
    • RE: TA Daten über CAN-Bus lesen/schreiben

      OK...

      Zuerst dachte ich das geht mit dem CAN-Adapter, der gibt das aber leider nicht her.

      Probier bitte mal folgendes:

      1. Im CAN-Adapter den Knoten anlegen
        Screenshot 2025-02-15 092954.png

      2. Im Javascript-Adapter die Funktion setObject erlauben
        55574d36-4f8e-4b6c-927d-176ced753500-grafik.png

      3. Folgendes Script erstellen (ich arbeite gerne mit Blockly, geht aber in diesem Fall leider nicht 100%)
        a6aff4a4-4096-482e-bd54-38344cae8c47-grafik.png

      Das Objekt "CAN_Test" habe ich angelegt zum testen, das musst du ersetzen mit dem json-Objekt vom Knoten.
      a148b276-a489-487a-9fdc-779cd4a92c27-grafik.png

      Der Code der beiden Funktionen:

      create_update

      let objectName = '0_userdata.0.canbus.40.' + obj;
      if(!existsState(objectName)){
          await extendObject(objectName, {type: 'state', common: {name: 'test', type: 'number', role: 'value'}}, function() {
              setState(objectName, value);
          });
      } else {
          setState(objectName, value);
      }
      

      wert_berechnen

      b1_hex = b1.toString(16);
      b2_hex = b2.toString(16);
      return parseInt(b2_hex + b1_hex, 16);
      

      Oder als export:
      CAN_Test.xml

      Das Script sollte so laufen, wenn das klappt muss man die Funktion create_update noch erweitern um den CAN-Knoten damit man für einen neuen Knoten nur den Falls-Block kopieren muss...

      posted in ioBroker Allgemein
      R
      Rudi86
    • RE: TA Daten über CAN-Bus lesen/schreiben

      Etwas mehr Daten wären schon gut.
      Was mir auffällt alle Spannungen (also alles was als Wert der letzten 4 Byte einen I32 LE ca. 23000 = 230 Volt zurück gibt) hat im 6. Byte 0D und im 5. Byte 00. Dann gibt es noch eine weitere Nachricht die hat 2C 2C. Könnte eines davon oder beides Zusammen eine Adresse sein?

      Ich hatte zum Testen immer Fixwerte definiert damit man eben solche kleinen Schwankungen nicht hat und dann mehrere Ausgänge mit unterschiedlichen Werten beobachtet und dann auch mal den Wert geändert und verglichen.

      posted in ioBroker Allgemein
      R
      Rudi86
    • RE: TA Daten über CAN-Bus lesen/schreiben

      @drrrz Ich habe mich tatsächlich beim Lesen der Releasenotes erstmal gegen das Update entschieden, obwohl ich sogar Werte hätte die ich aktuell nicht übertragen kann weil die 4 Byte benötigen (Zählerstände).

      Aktuell kann ich eh nicht vernünftig Updaten, scheinbar ist mein CMI defekt (war zuerst ganz Tot und nach abstecken vom Netzteil und neustart findet es keine Knoten mehr).

      Kannst du mal einen längeren Dump posten in dem die Daten mindestens 1x wiederholt werden und einen erwarteten (oder besser mehrere) Werte dazu?

      posted in ioBroker Allgemein
      R
      Rudi86
    • RE: Zeitplan mit Intervall hat ungewollte Verzögerung

      @paul53 Ok, wenn das morgen so ist schiebe ich den code im intervall in eine funktion und rufe die im cron undcdann im intervall auf.

      posted in Blockly
      R
      Rudi86
    • RE: Zeitplan mit Intervall hat ungewollte Verzögerung

      @martinp Sehr gute Idee. Das ist das schöne am Programmieren. Es führen so viele kreative Wege zum Ziel.

      Ich habs jetzt mal mit einem CRON und einer Abschaltzeit versucht.
      Außerdem habe ich mir die aktuelle Version geholt mit dem neuen UND-Block (sehr gute Entwicklung!).
      So sieht es jetzt aus:
      Screenshot 2024-02-06 130717.png

      Bin mal gespannt wie sich da macht.
      Übrigens sind die 3 Bedingungen 1. Frostschutz 2. wenn Wärmepumpe heizt und 3. wenn die Abdeckung offen ist schaltet die Pumpe nicht ab.

      Schauen wir mal was morgen passiert...

      MfG
      Rudi

      posted in Blockly
      R
      Rudi86
    • RE: Zeitplan mit Intervall hat ungewollte Verzögerung

      @codierknecht OK... Sowas hatte ich mir fast gedacht, CRON funktioniert in meinem Fall sicherlich genauso, weil es völlig unkritisch ist welche Intervalle ich nutze. Cron kann halt keine 90 Minuten, dann macht man eben alle 1 oder 2 Stunden... Einfacher und flexibler wäre es halt mit dem Wizard gewesen.

      posted in Blockly
      R
      Rudi86
    • RE: Zeitplan mit Intervall hat ungewollte Verzögerung

      Das ist mein Skript:
      Screenshot 2024-02-06 092542.png Screenshot 2024-02-06 092555.png

      Wie man sieht schon im Juni letztes Jahr geschrieben, da aber die Pumpe damals nicht richtig gearbeitet hat jetzt erst wirklich in Benutzung.

      posted in Blockly
      R
      Rudi86
    • Zeitplan mit Intervall hat ungewollte Verzögerung

      Hallo,

      ich habe einen Zeitplan (über Wizard) der von 6 bis 20 Uhr alle 90 Minuten eine Pumpe einschaltet und einen Timer startet um diese nach 30 Minuten wieder abzuschalten. Das klappt auch wunderbar, aber die Pumpe geht jeden Tag erst um 7:30 Uhr das erste Mal an.
      Das Skript läuft seit Tagen durch und jeden Tag das Gleiche, also nicht nur beim ersten Start.

      Zum Test habe ich mal ein Script geschrieben das alle 2 Minuten die Zeit ausgibt. Gestartet um 08:56:20 der Zeitplan ist eingestellt auf 8:57 bis 9:30 jede 2. Minute. Der erste Log kommt um 8:59:00. Ich dachte eigentlich schon, dass von 8:57 bedeutet der erste Output kommt um diese Zeit und dann wieder nach 2 Minuten.

      Woran liegt das?

      ioBroker läuft auf einem RPi 4, Zeit und Zeitzone sind korrekt.

      MfG
      Rudi

      posted in Blockly
      R
      Rudi86
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
    The ioBroker Community 2014-2023
    logo