Ankündigung

Einklappen
Keine Ankündigung bisher.

Hilfe bei LinKNX Regel - Alternative über Node-Red möglich?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Hilfe bei LinKNX Regel - Alternative über Node-Red möglich?

    Hallo,

    irgendwie sehe ich den Wald vor lauter Bäumen nicht ... ich möchte die Schattierung eines Oberlichtes über Linknx lösen. Das hat meiner Ansicht nach auch schon mal funktioniert --- aktuell geht's aber irgendwie nicht mehr.

    Ich schaue zunächst danach, ob die Sonne überhaupt ins Fenster hineinscheint (aufgrund von Azimut und Elevation) und wenn dann noch der Helligkeitsgrenzwert erreicht ist, soll der Rollo des Fensters zu gehen. Aufgrund der Tatsache, dass das ein (bescheuertes) Velux Integra Fenster ist, habe ich eine eigene Logo! Steuerung nur für das Fenster verbaut und für diese muß ich zum Rollo ablassen 1x kurz die entsprechende GA auf "1" stellen, dann wieder auf "0". Dieses funktioniert auch recht gut mit cycle-on-off über linknx.

    Die Wetterstation sendet zyklisch Azimut und Elevation. Da ich aber (zB. im Falle des manuellen Übersteuerns) nicht möchte, dass zyklisch das Fenster angesteuert wird, habe ich als actionlist "on-true" anstelle von "if-true" verwendet und irgendwie scheint da auch das Problem zu bestehen:

    Code:
     <rule id="SonneImBereich6-OberlichtEZ">
    <condition type="and">
    <condition type="object" id="1_2_12_Azimut" value="130" op="gt" trigger="true"></condition>
    <condition type="object" id="1_2_12_Azimut" value="275" op="lt" trigger="true"></condition>
    <condition type="object" id="1_2_13_Elevation" value="30" op="gt" trigger="true"></condition>
    </condition>
    <actionlist type="if-true">
    <action type="set-value" id="1_6_6_SonneBereich6-OberlichtEZ" value="on" />
    </actionlist>
    <actionlist type="if-false">
    <action type="set-value" id="1_6_6_SonneBereich6-OberlichtEZ" value="off" />
    </actionlist>
    </rule>
    
    
    <rule id="SchattierenOberlichtEZ">
    <condition type="and">
    <condition type="object" id="1_6_6_SonneBereich6-OberlichtEZ" value="on" trigger="true"></condition>
    <condition type="object" id="1_4_10_HelligkeitGrenzwert3" value="on" trigger="true"></condition>
    </condition>
    <actionlist type="on-true">
    <action type="cycle-on-off" id="1_1_11_I12" on="250ms" off="250ms" count="1" />
    <action type="set-value" id="1_6_7_SchattierungBereich6-OberlichtEZaktiv" value="on" />
    </actionlist>
    <actionlist type="on-false">
    <action type="cycle-on-off" id="1_1_12_I13" on="250ms" off="250ms" count="1" />
    <action type="set-value" id="1_6_7_SchattierungBereich6-OberlichtEZaktiv" value="off" />
    </actionlist>
    </rule>
    Die Regel "SchatierenOberlichtEZ" wird zwar (am Log erkennbar) ausgeführt, aber es wird nie erkannt, dass nun ein neuer Zustand herrscht und daher wird die Actionlist nie ausgeführt.

    Wer kann meinen Knoten lösen? Macht Linknx was falsch - oder bin ich das??

    Könnte man so was auch mit node-red umsetzen (nur der Interesse halber)?

    Viele Grüße,

    Stefan
    Mein Sammelsurium: TS2, Zennio Z38, Siemens LOGO!, Medeodata 140 S, Weinzierl KNX ENO 620, Eibmarkt IP Router, MDT KNX IP IF, Wiregate, Node-Red mit KNX Ultimate, MDT Smart II, diverse Aktoren verschiedener Hersteller ...

    #2
    Mir sagt linkx nix, aber Du kannst das definit direkt über Node-Red lösen. Auch weil Du Sonnenstand und ähnliches bequem via Node-Red aus dem Internet besorgen kannst.

    Kommentar


      #3
      Na ja - Sonnenstand ist nicht gerade mein Problem, da das nativ von der Wetterstation kommt.

      Aber wie kann ich bei node-red:
      • sicherstellen, dass nur dann etwas auf den Bus geschrieben wird, wenn sich das Ergebnis der Und-Verknüpfung ändert - also nur das EINE mal, wenn z.B. die Sonne im Fenster steht und die Helligkeit groß genug ist, und nicht wieder bei jedem zyklischen Senden?
      • Eine GA für 250 ms einschalten und dann direkt wieder ausschalten?
      Viele Grüße,

      Stefan
      Mein Sammelsurium: TS2, Zennio Z38, Siemens LOGO!, Medeodata 140 S, Weinzierl KNX ENO 620, Eibmarkt IP Router, MDT KNX IP IF, Wiregate, Node-Red mit KNX Ultimate, MDT Smart II, diverse Aktoren verschiedener Hersteller ...

      Kommentar


        #4
        Hallo Stafan,

        das kannst du so lösen:

        NodeRed Trigger.zip.png


        [{"id":"9c9d3fdc.093e8","type":"tab","label":"Fl ow 1","disabled":false,"info":""},{"id":"96084434.3e0 5c8","type":"rbe","z":"9c9d3fdc.093e8","name":""," func":"rbe","gap":"","start":"","inout":"out","pro perty":"payload","x":320,"y":460,"wires":[["7611e5be.8913dc"]]},{"id":"f05f5e80.c72828","type":"trigger","z":"9c 9d3fdc.093e8","name":"","op1":"1","op2":"0","op1ty pe":"str","op2type":"str","duration":"200","extend ":false,"units":"ms","reset":"","bytopic":"all","t opic":"topic","outputs":1,"x":660,"y":460,"wires":[[]]},{"id":"7611e5be.8913dc","type":"switch","z":"9c9 d3fdc.093e8","name":"Nur bei "True"","property":"payload","propertyType":"msg", "rules":[{"t":"true"}],"checkall":"true","repair":false,"outputs":1,"x": 480,"y":460,"wires":[["f05f5e80.c72828"]]}]
        Mit Heimautomatisierung lassen sich alle Probleme lösen die wir sonst gar nicht hätten...
        KNX + HUE + SONOS + SIMATIC-S7 + Fritzbox + RasPi mit NodeRed + Telegramm

        Kommentar


          #5
          Zitat von lobo Beitrag anzeigen
          Wer kann meinen Knoten lösen? Macht Linknx was falsch - oder bin ich das??
          Ich würd sagen von der Logik her scheint alles zu stimmen. Ich sehe anhand des Ausschnitts nicht genau wie die Objekte 1_6_6_SonneBereich6-OberlichtEZ und 1_4_10_HelligkeitGrenzwert3 im linknx.xml genau definiert sind. Dem Naming nach müssten es GA sein. Aber sind das auch wirklich triggerfähige echte Busobjekte? Ich könnte mir vorstellen, dass darauf ein Trigger nicht korrekt gesetzt werden kann, sollten es nur interne Variablen sein. Vielleicht könnte es dann helfen noch einen Timer in die Condition zu nehmen, damit die zweite Rule sicher problemlos getriggert werden kann.

          Eine andere Option: hast du auch wirklich die neuste Version von linknx? Wenn ich mich richtig erinnern mag, gab es mal einen Release mit Problem bei on-true und on-false.
          EIB/KNX, VISU mit knxd + linknx + knxweb, Steuerbefehle via SMS und Email mit postfix + procmail

          Kommentar


            #6
            OK - danke erst einmal für Eure Antworten.

            Zunächst zu node-red:
            Da habe ich ein wenig 'rumgespielt und vielleicht auch ein Problem entdeckt. Momentan sieht das Ganze so aus:

            Lobo_nodered1.PNG

            Wenn ich entsprechend auf die Injektoren drücke, funktinoniert das auch alles einwandfrei. Diese node-red Geschichte gefällt mir eigentlich ganz gut - sie ist recht übersichtlich meiner Ansicht nach (auch im Debugging). Zudem gibt es noch eine Unmenge an Optionen, die ich noch gar nicht ausprobiert habe (z.B. ist ein rbe-Filter bei knx-ultimate schon eingebaut).

            Allerdings kann ich irgendwie und -warum nicht auf die GA 1/4/10 schreiben. Ich vermute, wenn ich aus der ETS die 1/4/10 schreibe, wird nichts gesendet. Ich wollte das Problem im Gruppenmonitor verfolgen, aber es scheint, als ob da sehr, sehr viele Befehle immer wieder gesendet werden (warum auch immer). Andererseits löse ich (ungewollt) irgendwelche Telegrammfluten aus. Ich muß der Sache wohl erst einmal auf den Grund gehen, bevor ich hier weiter machen kann. Da das ein völlig anderes Thema ist, werde ich ggf. einen neuen Thread hier aufmachen, damit dieser Thread beim Thema bleibt.

            Tru: danke, dass Du Dich gemeldet hast. Die Objekt-Definition der beiden Adressen lautet:

            Code:
            <object type="1.001" id="1_4_10_HelligkeitGrenzwert3" gad="1/4/10" flags="ctuf" init="persist">(1/4/10)HelligkeitGrenzwert3</object>
            <object type="1.001" id="1_6_6_SonneBereich6-OberlichtEZ" gad="1/6/6" init="persist" flags="crwtuf" log="true">(1/6/6)SonneBereich6-OberlichtEZ</object>
            Meine Version ist in der Tat sehr veraltet - es ist die 0.0.1.30 ... aber ich vermute fast, ich habe eher ein Multicast-Problem (wie oben schon angedeutet).

            Wie mache ich denn ein update auf dem Wiregate? Sorry für die blöde Frage, aber das letzte Mal, dass ich mich mit solchen Fragen beschäftigt habe, ist schon ein Weilchen her ... - also die aktuelle Version nach /home/user laden und dann ein ./configure und make install ? Oder ist beim Wiregate noch was "umzubiegen"?

            Viele Grüße,

            Stefan
            Mein Sammelsurium: TS2, Zennio Z38, Siemens LOGO!, Medeodata 140 S, Weinzierl KNX ENO 620, Eibmarkt IP Router, MDT KNX IP IF, Wiregate, Node-Red mit KNX Ultimate, MDT Smart II, diverse Aktoren verschiedener Hersteller ...

            Kommentar


              #7
              Hallo,

              auch wenn ich die node-red Regel irgendwie nicht per Gruppenmonitor auslösen konnte, funktioniert sie aber.

              Jetzt habe ich 2x dieselbe Regel am Start (einmal in Linknx und einmal in node-red) - aber ich weiß nicht, wer sie heute und gestern so zuverlässig ausgelöst hat

              Bezüglich meiner Probleme mit der Verbindung habe ich einen neuen Thread aufgemacht: https://knx-user-forum.de/forum/%C3%...usgef%C3%BChrt

              Viele Grüße,

              Stefan
              Mein Sammelsurium: TS2, Zennio Z38, Siemens LOGO!, Medeodata 140 S, Weinzierl KNX ENO 620, Eibmarkt IP Router, MDT KNX IP IF, Wiregate, Node-Red mit KNX Ultimate, MDT Smart II, diverse Aktoren verschiedener Hersteller ...

              Kommentar

              Lädt...
              X