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

  • fox007
    antwortet
    Feedback :-)

    So wie es zur Zeit aussieht, bringt der Eintrag init=eval den gewünschten Erfolg.


    Code:
    rule id="Auto_Bewaesserung" [MARKIEREN]init="eval"[/MARKIEREN]>
    Gruss
    Reto

    Einen Kommentar schreiben:


  • fox007
    antwortet
    Hi Waldemar

    Besten Dank für dein schnelles Feedback. Ich muss das Log nochmal analysieren. Werde im Wiki von linknx nochmal genau die Time-Angaben (Syntax) prüfen und testen.


    Gruss
    Reto

    Einen Kommentar schreiben:


  • mumpf
    antwortet
    Hi,

    ich sehe keinen offensichtlichen Fehler drin... was sagt denn das Log?

    Ich erinnere mich dunkel (linknx ist schon lange her), dass man bei timer-angaben immer die wdays bei at und until gleich angeben sollte... das würde ich noch versuchen.

    Gruß, Waldemar

    Einen Kommentar schreiben:


  • fox007
    antwortet
    Hallo zusammen

    Evtl. kann mir jemand etwas weiterhelfen, ich suche noch eine Erklärung für den unten folgenden Code. Es geht um die Bewässerung die nach einem Reboot vom Raspberry PI aus meiner Sicht grundlos einschalten. Ich gehe davon aus, dass der "time trigger" nach dem Reboot für eine gewisse Zeit auf true steht obwohl der Timeslot (06.00-06.15 Uhr) nicht erfüllt ist. Kennt jemand das Problem?

    Besten Dank und Gruss
    Reto


    Code:
    <object type="1.001" id="S_FG_Bewaesserung_Auto" init="persist" gad="6/1/20">S_FG_Bewaesserung_Auto</object>
    <object type="1.001" id="SP_Gardena_Sprinkler" init="persist" gad="6/1/21">SP_Gardena_Sprinkler</object>
    <object type="1.001" id="Regen" init="persist" flags="cwtus" gad="2/3/30">Regen</object>
    
    **************************************************************************************************************
    
    <rule id="Auto_Bewaesserung">
        <condition type="and">
        <condition type="object" id="S_FG_Bewaesserung_Auto" value="1" trigger="true" />    
        <condition type="object" id="SP_Gardena_Sprinkler" value="0" trigger="true" />
        <condition type="object" id="Regen" value="0" trigger="true"/>
         <condition type="timer" trigger="true">
         <at hour="06" min="00" wdays="246" />
         <until hour="06" min="15" />
        </condition>
        </condition>
       <actionlist type="on-true">
          <action type="set-value" id="A_Gardena_Sprinkler_Ein" value="on" />
       </actionlist>
        <actionlist type="on-false">
          <action type="set-value" id="A_Gardena_Sprinkler_Ein" value="off" />
       </actionlist>
    </rule>

    Einen Kommentar schreiben:


  • fox007
    antwortet
    Zitat von Tru Beitrag anzeigen
    . Zudem heisst es http:// nicht htp://.

    Sorry war ein copy paste Fehler. ;-)

    Einen Kommentar schreiben:


  • Tru
    antwortet
    Zitat von fox007 Beitrag anzeigen
    Leider nicht, habe die Anführungszeichen schon an diversen Orten versucht zu setzen :-(
    Dort hast du mit Sicherheit einen Fehler, die Syntax muss cmd="<cmd>" sein, sonst kann das XML nicht richtig gelesen werden. Der Begirff <cmd> ist dabei nicht wörtlich zu nehmen. Zudem heisst es http:// nicht htp://.

    Aber ich sehe noch drei weitere potentielle Schwierigkeiten. Ich schlage vor du gehst vom einfachen zum komplizierten, dann kannst du besser sehen, was unterstützt wird und was nicht:
    Verwende einen absoluten Namen für das Programm an der Stelle von <cmd>. Woher soll der linknx wissen wo er suchen muss?
    Starte mit einem reinen Programmnamen ohne Parameter. Vielleicht ruft linknx den Namen mit dem ganzen Inhalt als Systembefehlnamen auf.
    Möglicherweise werden $ für Variablennamen verwendet. Kodiere dieses Zeichen und auch das Fragezeichen mit der %-Methode.

    Einen Kommentar schreiben:


  • fox007
    antwortet
    Leider nicht, habe die Anführungszeichen schon an diversen Orten versucht zu setzen :-(

    Einen Kommentar schreiben:


  • geos
    antwortet
    Ohne es gerade selbst prüfen zu können, hätte ich die Anführungszeichen hinter
    Code:
     
     [COLOR=#000080]cmd=[/COLOR]
    erwartet. Ggf. müssen die inneren Anführungszeichen dann noch escaped werden.

    Einen Kommentar schreiben:


  • fox007
    antwortet
    Nachdem ich den Befehl im Raspberry cmd absetzen konnte -> curl "htp://192.99.99.99/xml?cmd=mode&mode=home" wolte ich den cmd Aufruf im xml von linknx hinterlegen.
    HTML-Code:
    <rule id="Robi_home">
     <condition type="and">
       <condition type="timer" trigger="true">
        <at hour="06" min="00" wdays="12345" />
        <until hour="22" min="00" />
     </condition>
     <condition type="object" id="Regen" value="1" trigger="true" />
    </condition>
    <actionlist type="if-true">
    <action type="shell-cmd" cmd=curl "htp://192.99.99.99/xml?cmd=mode&mode=home" />
    </actionlist>
    </rule>
    Leider erhalte ich im XML Parsing immer den Error "EntityRef:expection" und habe leider kein Syntax gefunen für den curl aufruf der geht.......

    Bin für jeden Tipp dankbar ;-)

    Gruss
    Reto

    Einen Kommentar schreiben:


  • fox007
    antwortet
    Hay Tru

    Sorry für meine späte Antwort und Danke fürs Feedback. Ich werde es testen.

    Gruss
    Reto

    PS: Für alle die Ihrem Rasenmäher etwas Homeautomation einhauchen wollen....... http://www.robonect.de ;-)

    Einen Kommentar schreiben:


  • Tru
    antwortet
    Zitat von fox007 Beitrag anzeigen
    Leider habe ich bei den Syntax von linknx nichts gefunden wo ich als Action eine URL Eingabe absetzen kann.
    Das geht über
    Code:
    <action type="shell-cmd" cmd="dein Shellbefehl" />
    Da kannst du ein beliebiges Script aufrufen, wo du auch noch den Output verarbeiten kannst.

    Einen Kommentar schreiben:


  • fox007
    antwortet

    Hallo zusammen
     

    Leider habe ich bei den Syntax von linknx nichts gefunden wo ich als Action eine URL Eingabe absetzen kann.

    Hat jemand so etwas schon versucht? Oder lassen sich solche Befehle nur via einem eigenen Skript ausführen?


    Befehl 1:

    <action http://MeineIP/xml?cmd=mod&mode=home />


    Danke fürs Feedback.

    Gruss
    Reto

    Einen Kommentar schreiben:


  • NightRacer
    antwortet
    Nachdem mein sunrise/sunset Problem gelöst ist muss ich hier gleich nochmal eine Frage stellen bei dir ich grade total auf dem Schlauch stehe.

    Wie kann ich mit linknx die Anzahl offener Fenster z.B. eines Raumes oder eines Stockwerkes aufaddieren?

    Ich hab z.B. 5 Fenster deren Reed-Kontakte auf Binäreingänge gehen und die in Linknx in den Objects bekannt gemacht sind.
    Nun will ich die Anzahl der offenen Fenster ermitteln und als 5.xxx oder 9.xxx ausgeben. ....aber wie?



    Gruß

    Michael

    Einen Kommentar schreiben:


  • Andreas1
    antwortet
    Hi Michael,

    ich hatte deinen Post drüben auch schon gelesen, mir war aber nichts aufgefallen, bis gerade.
    Nachdem der Code drüben steht, antworte ich mal drüben.

    Grüße
    Andreas

    Einen Kommentar schreiben:


  • mumpf
    antwortet
    Hi,

    ich hatte schon Deinen anderen Post gelesen. Leider kann ich Dir nicht helfen, ich mache nichts mehr mit linknx. Mir war das letztendlich zu unflexibel bzw. erforderte zu viele Rules für die Sachen, die ich machen wollte.

    Ich weiß nicht, ob es sonst noch jemanden gibt, ich muss leider passen...

    Gruß, Waldemar

    Einen Kommentar schreiben:

Lädt...
X