Ankündigung

Einklappen
Keine Ankündigung bisher.

LinKNX: Diskussionen zu Tipps, Tricks und Beispiele

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

  • Merlin123
    antwortet
    Ah danke!

    Einen Kommentar schreiben:


  • lobo
    antwortet
    Ich habe mal meine vollständigen Parameter in den Parallelthread gestellt. Dort gibt es auch eine Umsetzung von 1-bit auf 8bit (auch mit if-true). Vielleicht hilft es ja (auch wenn es sonst kein Hexenwerk ist).

    Viele Grüße,

    Stefan

    Einen Kommentar schreiben:


  • Merlin123
    antwortet
    Das mit if-true hab ich noch nicht probiert. Kann ich heute abend machen.

    Die Aktoren sind jetzt über 12 JAhre alt Dachte mir, dass die das nicht können... Also doch meine Variation... schade eigentlich....

    Einen Kommentar schreiben:


  • lobo
    antwortet
    Zitat von Merlin123 Beitrag anzeigen
    ... und dann als letzte Action das Aufrufobject wieder auf "0".
    Hallo,

    hast Du es stattdessen mal mit der <actionlist type="if-true"> probiert? Soweit ich es vermute, ist der Standard "on-true", was bedeutet, dass die Action nur dann ausgeführt wird, wenn sich der Wert von false auf true ändert. Mit "if-true" wird die action IMMER ausgeführt.

    Viele Grüße,

    Stefan

    ... für den Aktor habe ich keine Anleitung gefunden, aber mal die PDB geladen. Es scheint echt so zu sein, dass der keine Positions-Objekte hat. Das ist wohl ein etwas älteres Schätzchen

    Einen Kommentar schreiben:


  • Merlin123
    antwortet
    Danke!

    Gleich mal testen und warten...

    Mir macht meine Szene aus dem Post immer noch Probleme.
    Gestern ging sie, heute wieder nicht. Im Log sieht alles normal aus, aber es hat sich nichts sichtbares getan. Weder am Licht noch an den Rollläden.

    Edit:
    Nach etwas probieren hab ich rausgefunden, dass ich das Flag "s" im Objekt setzten muss und dann als letzte Action das Aufrufobject wieder auf "0".
    Dann sieht das im Log so aus:
    Code:
    2013-02-11 20:05:26,789  INFO > Rule  - Evaluate rule Szene1
    2013-02-11 20:05:26,790  INFO > ObjectValue  - SwitchingObjectValue: Compare value_m='1' to value='1'
    2013-02-11 20:05:26,791  INFO > Condition  - ObjectCondition (id='AufrufSzene1') evaluated as '1'
    2013-02-11 20:05:26,793  INFO > Rule  - Rule Szene1 evaluated as 1, prev value was 0
    2013-02-11 20:05:26,798  INFO > Action  - Execute SetValueAction: set Wohn_licht_TV with value on
    2013-02-11 20:05:26,799  INFO > KnxConnection  - write(gad=0/0/6, buf, len=2)
    2013-02-11 20:05:26,801  INFO > Object  - New value on for object Wohn_licht_TV (type: 1.001)
    2013-02-11 20:05:26,902  INFO > Action  - Execute SetValueAction: set Wohn_licht_Couch with value off
    2013-02-11 20:05:26,903  INFO > KnxConnection  - write(gad=0/0/12, buf, len=2)
    2013-02-11 20:05:26,904  INFO > Object  - New value off for object Wohn_licht_Couch (type: 1.001)
    2013-02-11 20:05:27,003  INFO > Action  - Execute SetValueAction: set Wohn_roll_links with value close
    2013-02-11 20:05:27,003  INFO > KnxConnection  - write(gad=0/1/4, buf, len=2)
    2013-02-11 20:05:27,004  INFO > Object  - New value close for object Wohn_roll_links (type: 3.008)
    2013-02-11 20:05:27,103  INFO > Action  - Execute SetValueAction: set Wohn_roll_mitte with value close
    2013-02-11 20:05:27,103  INFO > KnxConnection  - write(gad=0/1/7, buf, len=2)
    2013-02-11 20:05:27,105  INFO > Object  - New value close for object Wohn_roll_mitte (type: 3.008)
    2013-02-11 20:05:27,203  INFO > Action  - Execute SetValueAction: set Wohn_roll_rechts with value close
    2013-02-11 20:05:27,203  INFO > KnxConnection  - write(gad=0/1/6, buf, len=2)
    2013-02-11 20:05:27,205  INFO > Object  - New value close for object Wohn_roll_rechts (type: 3.008)
    2013-02-11 20:05:27,207  INFO > Action  - Execute SetValueAction: set AufrufSzene1 with value off
    2013-02-11 20:05:27,208  INFO > KnxConnection  - write(gad=2/0/1, buf, len=2)
    2013-02-11 20:05:27,214  INFO > Object  - New value off for object AufrufSzene1 (type: 1.001)
    2013-02-11 20:05:27,216  INFO > Rule  - Evaluate rule Szene1
    2013-02-11 20:05:27,217  INFO > ObjectValue  - SwitchingObjectValue: Compare value_m='0' to value='1'
    2013-02-11 20:05:27,218  INFO > Condition  - ObjectCondition (id='AufrufSzene1') evaluated as '0'
    2013-02-11 20:05:27,219  INFO > Rule  - Rule Szene1 evaluated as 0, prev value was 1
    2013-02-11 20:05:27,246  INFO > Object  - New value off for object AufrufSzene1 (type: 1.001)
    2013-02-11 20:05:27,246  INFO > Rule  - Evaluate rule Szene1
    2013-02-11 20:05:27,247  INFO > ObjectValue  - SwitchingObjectValue: Compare value_m='0' to value='1'
    2013-02-11 20:05:27,247  INFO > Condition  - ObjectCondition (id='AufrufSzene1') evaluated as '0'
    2013-02-11 20:05:27,247  INFO > Rule  - Rule Szene1 evaluated as 0, prev value was 0
    2013-02-11 20:05:35,863  INFO > Object  - New value on for object AufrufSzene1 (type: 1.001)
    2013-02-11 20:05:35,864  INFO > Rule  - Evaluate rule Szene1
    2013-02-11 20:05:35,864  INFO > ObjectValue  - SwitchingObjectValue: Compare value_m='1' to value='1'
    2013-02-11 20:05:35,864  INFO > Condition  - ObjectCondition (id='AufrufSzene1') evaluated as '1'
    2013-02-11 20:05:35,865  INFO > Rule  - Rule Szene1 evaluated as 1, prev value was 0
    2013-02-11 20:05:35,867  INFO > Action  - Execute SetValueAction: set Wohn_licht_TV with value on
    2013-02-11 20:05:35,969  INFO > Action  - Execute SetValueAction: set Wohn_licht_Couch with value off
    2013-02-11 20:05:36,069  INFO > Action  - Execute SetValueAction: set Wohn_roll_links with value close
    2013-02-11 20:05:36,169  INFO > Action  - Execute SetValueAction: set Wohn_roll_mitte with value close
    2013-02-11 20:05:36,270  INFO > Action  - Execute SetValueAction: set Wohn_roll_rechts with value close
    2013-02-11 20:05:36,270  INFO > Action  - Execute SetValueAction: set AufrufSzene1 with value off
    2013-02-11 20:05:36,271  INFO > KnxConnection  - write(gad=2/0/1, buf, len=2)
    2013-02-11 20:05:36,271  INFO > Object  - New value off for object AufrufSzene1 (type: 1.001)
    2013-02-11 20:05:36,272  INFO > Rule  - Evaluate rule Szene1
    2013-02-11 20:05:36,272  INFO > ObjectValue  - SwitchingObjectValue: Compare value_m='0' to value='1'
    2013-02-11 20:05:36,272  INFO > Condition  - ObjectCondition (id='AufrufSzene1') evaluated as '0'
    2013-02-11 20:05:36,273  INFO > Rule  - Rule Szene1 evaluated as 0, prev value was 1
    2013-02-11 20:05:36,311  INFO > Object  - New value off for object AufrufSzene1 (type: 1.001)
    2013-02-11 20:05:36,313  INFO > Rule  - Evaluate rule Szene1
    2013-02-11 20:05:36,314  INFO > ObjectValue  - SwitchingObjectValue: Compare value_m='0' to value='1'
    2013-02-11 20:05:36,315  INFO > Condition  - ObjectCondition (id='AufrufSzene1') evaluated as '0'
    2013-02-11 20:05:36,317  INFO > Rule  - Rule Szene1 evaluated as 0, prev value was 0
    Beim ersten Aufruf sieht man ja genau was er macht. Beim zweiten Aufruf scheint er nichts mehr zu machen. Wenn ich das Licht aber manuell ausschalten und die Szene ausführe macht er das Licht wieder an. Im Log steht dann für das Licht wieder
    Code:
    2013-02-11 20:11:57,254  INFO > Action  - Execute SetValueAction: set Wohn_licht_TV with value on
    2013-02-11 20:11:57,259  INFO > KnxConnection  - write(gad=0/0/6, buf, len=2)
    2013-02-11 20:11:57,261  INFO > Object  - New value on for object Wohn_licht_TV (type: 1.001)

    Ist vielleicht für den ein oder anderen Einsteiger wie mich interessant zu sehen...

    Einen Kommentar schreiben:


  • mumpf
    antwortet
    Hi,

    ist in erster Näherung richtig

    Code:
    <object type="3.008" id="Rolladen_zentral_zu" gad="0/2/0">Rolladen_zentral_zu</object>
    [...]
    <rule id="RollaedenZeitZu">
      <!-- <condition type='timer' trigger='true' />  die zeile ist falsch -->
      <condition type=[COLOR="Red"]"[/COLOR]timer[COLOR="Red"]"[/COLOR] trigger=[COLOR="Red"]"[/COLOR]true[COLOR="Red"]"[/COLOR]>
        <at hour="22" min="00" wdays="1234567" exception="no" />
      [COLOR="Red"]</condition>[/COLOR]
      <actionlist>
        <action type="set-value" id="Rolladen_zentral_zu" value="close"/>
      </actionlist>
    </rule>
    In Worten:
    • at gehört zur timer condition
    • Ich würde attribute immer mit " notieren, auch wenn die Parser wohl auch ' verstehen...
    • mit exception="no" sagst Du "Nicht an Feiertagen", wenn Du wirklich jeden Tag haben willst, mußt Du exception weglassen (und wdays mit allen Tagen ist default, kann also auch wegfallen)


    Gruß, Waldemar

    Einen Kommentar schreiben:


  • Merlin123
    antwortet
    Ah jetzt.... Hab das "/" überlesen...
    Danke für's draufstubsen



    Kann noch jemand was zur Syntax des Timers in dem Post sagen?

    Einen Kommentar schreiben:


  • Michixx
    antwortet
    Hallo Oliver,

    Zitat von Merlin123 Beitrag anzeigen
    Laut dem Posting stimmt es, der hat auch bisher nicht gemeckert...
    Ja, laut dem Posting stimmt es auch, es stimmt aber bei Dir nicht.

    Zitat von panzaeron Beitrag anzeigen
    und wenn du noch eine Logdatei angibst, findest du auch dort weitere Infos, dazu vor dem </config> folgende Zeile ergänzen:
    Meine Logdatei steht nämlich auch vor </config>, ist mir jetzt wieder eingefallen.

    Gruß
    Michael

    Einen Kommentar schreiben:


  • Merlin123
    antwortet
    Laut dem Posting stimmt es, der hat auch bisher nicht gemeckert...
    Hab heute morgen ne Rule eingefügt, seit dem ist das. Aber auch wenn ich die rausnehme ändert das nichts. Hab da vermutlich versehentlicht noch was anderes verändert

    Wenn ich rumprobiere sieht es so aus:
    Code:
    <?xml version="1.0" ?>
    <config>
    </config>
    geht

    Code:
    <?xml version="1.0" ?>
    <logging output="/var/log/linknx.log" format="%d{%Y-%m-%d %H:%M:%S,%l} %5p > %c %x - %m%n" level="INFO" maxfilesize="100" maxfileindex="2"/>
    geht

    Code:
    <?xml version="1.0" ?>
    <logging output="/var/log/linknx.log" format="%d{%Y-%m-%d %H:%M:%S,%l} %5p > %c %x - %m%n" level="INFO" maxfilesize="100" maxfileindex="2"/>
    <config>
    </config>
    geht nicht.

    Code:
    <?xml version="1.0" ?>
    <config>
    <logging output="/var/log/linknx.log" format="%d{%Y-%m-%d %H:%M:%S,%l} %5p > %c %x - %m%n" level="INFO" maxfilesize="100" maxfileindex="2"/>
    </config>
    geht

    *grübel*

    Werd mal Deine Version probieren. Frag mich nur, wieso das bisher ging... Oder hab ich die Änderung direkt auf meinem Raspi gemacht ohne XML Check...

    Einen Kommentar schreiben:


  • Michixx
    antwortet
    Hallo Oliver,

    Zitat von Merlin123 Beitrag anzeigen
    Ich bekomme im FF beim Test des XMLs den Fehler:
    Code:
    XML-Verarbeitungsfehler: "Junk" nach Dokument-Element
    Adresse: file:///C:/Users/D055700/Programme/xampp/htdocs/visu/linknx.xml
    Zeile Nr. 3, Spalte 1:<config>
    ^
    Das blöde:
    Ich finde da nix
    ich bin mir nicht 100% sicher, aber ich glaube das gehört so:

    Code:
    <?xml version="1.0" ?>
    <config>
    <logging output="/var/log/linknx.log" format="%d{%Y-%m-%d %H:%M:%S,%l} %5p > %c %x - %m%n" level="INFO" maxfilesize="100" maxfileindex="2" />
        <services>

    Einen Kommentar schreiben:


  • Merlin123
    antwortet
    Hab von Berker folgende im Einsatz:
    2-fach Jalousieaktor 75312006, Applikation Jalousie 204001

    (Stand noch nicht hier im Thread)
    Szenen können die nicht, das hat schon "swiss" im anderen Thread geprüft.
    Ich vermute mal, dass die dann auch keine bestimmte Position anfahren können.

    Einen Kommentar schreiben:


  • lobo
    antwortet
    Hallo Oliver,

    was hast Du denn für einen Jalousien/Rolloaktor (sorry, wenn Du das schon irgendwo hingeschrieben hast - und ich es nicht gelesen hatte)?

    Die Funktionen eine bestimmte Position anzufahren sollte eigentlich nativ über den Rolloaktor gehen. Der macht es zwar auch so, dass er eine Referenzfahrt macht und ab dann einfach die Position ausrechnet (anhand der Fahrtzeit und der von Dir eingegebenen Fahrtzeit bis zu Schließen), aber ich würde empfehlen, zunächst alle dezentralen Möglichkeiten der Geräte auszuschöpfen, bevor ich etwas mit Linknx abbilde.

    Viele Grüße,

    Stefan

    Einen Kommentar schreiben:


  • Merlin123
    antwortet
    Mal ne Frage zur Rolladensteuerung.
    Meine Motoren haben keine Positionserkennung oder so was. Ich kann also nciht herausbekommen, wo ein Rolladen gerade steht.

    Wenn ich jetzt einen Rolladen z.B. auf 50% fahren lassen will müsste ich den von der Idee her ja so fahren:
    Hochfahren starten
    Warten bis er sicher oben ist (Gesamtfahrzeit + Puffer)
    Runterfahren starten
    Nach 50% der Gesamtfahrzeit "Stop".

    Gibt es da auch eine elegantere Version?
    Wie könnte ich das am einfachen für mehrere Rolläden (mit unterschiedlicher Fahrzeit) machen? Kann man z.B. die Gesamtfahrzeit pro Rolladen in ner Variablen ablegen und den delay für den Stop Befehl auf Grund der Variablen berechnen?


    Noch ne Frage bzgl Zeitsteuerung (ich kann leider nur recht selten testen, deswegen frag ich bevor ich teste):
    Ich will alle Rolläden jeden Tag um 22 Uhr runterfahren lassen.
    Wäre das dann so korrekt?
    Code:
    <object type="3.008" id="Rolladen_zentral_zu" gad="0/2/0">Rolladen_zentral_zu</object>
    [...]
    <rule id="RollaedenZeitZu">
    <condition type='timer' trigger='true' />
    <at hour="22" min="00" wdays="1234567" exception="no" />
    <actionlist>
    <action type="set-value" id="Rolladen_zentral_zu" value="close"/>
    </actionlist>
    </rule>
    Ach ja...
    Ich bekomme im FF beim Test des XMLs den Fehler:
    Code:
    XML-Verarbeitungsfehler: "Junk" nach Dokument-Element
    Adresse: file:///C:/Users/D055700/Programme/xampp/htdocs/visu/linknx.xml
    Zeile Nr. 3, Spalte 1:<config>
    ^
    Das blöde:
    Ich finde da nix
    Hab mal die xml angehängt. Vielleicht sieht jemand ja was...
    Angehängte Dateien

    Einen Kommentar schreiben:


  • Merlin123
    antwortet
    Das scheint zu Helfen
    Danke für den Tipp!

    Einen Kommentar schreiben:


  • mumpf
    antwortet
    Hi,

    ich hab mal die Erfahrung gemacht, dass bei sehr vielen Aktionen in einer Actionlist es Sinn macht, die einzelnen Actions mit einem Delay auszustatten, also

    delay="100ms"
    delay="200ms"
    delay="300ms"
    etc...

    Allerdings waren das wesentlich mehr actions als bei Dir - aber Du kannst ja mal probieren, ob es damit besser wird. Du kannst die delays auch kleiner wählen, meine Versuche haben ergeben, dass <30ms nichts bringt, ich arbeite mit Minimalschrittweite von 50ms.

    Gruß, Waldemar

    Einen Kommentar schreiben:

Lädt...
X