Trigger "jede Minute"

Willkommen Foren LogoControl Trigger "jede Minute"

4 Beiträge anzeigen - 1 bis 4 (von insgesamt 4)
  • Autor
    Beiträge
  • #2729
    reinhard
    Teilnehmer

    Hallo.
    Ich möchte gerne Analog Werte der Logo mittels Logocontrol am Raspberry in eine csv Datei schreiben lassen.
    Nun ist mir nicht klar wie bzw. ob es möglich ist per Logocontrol ein shell script jede Minute aufrufen zu lassen,
    dem die Werte übergeben werden.
    Sprich mir fehlt die Info wie ich im Logocontrol einen Trigger „jede Minute“ (ähnlich einem cronjob) definiere.
    Vielen Dank!
    LG
    Reinhard

    #2730
    spacewalker
    Teilnehmer

    Hallo!

    Ich beschäftige mich auch mit diesem Thema.
    Habe im shell Script mit „sleep 60“ experimentiert, was zur Folge hatte,
    dass nur der erste Eintrag um 60 sekunden verzögert war, und logocontrol
    dann weiter munter einen Eintrag nach dem Anderen in die Logdatei schrieb.
    Wäre auch hier um Hilfe sehr dankbar.

    LG

    #2736
    admin
    Administrator

    Also Trigger von LogoControl aus minütlich aufzurufen geht nicht. Ein Trigger überwacht ja nur den VM-Speicher und löst dann bei Eintreten der gewünschten Bedingung aus.

    Daher hätte ich zwei Möglichkeiten:
    Du baust einen „Taktgeber“ in dein Logo-Schaltprogramm der minütlich ein Bit im VM für eine Sekunde auf 1 setzt (und danach wieder zurück auf 0). Dieses Bit kannst du dann mit einem Trigger abfangen und ein Shell-Script aufrufen. Das Problem wird allerdings eher sein, wie du den Analogwert deines Attributs in dein Shell-Script transportierst. Der Trigger ruft nur eine Methode auf, gibt aber dieser keinen Parameterwert mit. Wenn es nur eine Hand voll möglicher Werte für das Attribut sind könntest du zwar für jeden möglichen Wert ein Pärchen aus Trigger und Methode erstellen, das fände ich aber nur als Notlösung praktikabel.

    Zweite Möglichkeit: Du startest einfach das Shell-Script per Cron-Job jede Minute. Im Shell-Script holst du dir den aktuellen Wert deines Attributs per Webservice-API von LogoControl. Schau dir dazu mal das Beispiel 2 ganz unten an. Dort verwende ich zwar einen Trigger (der allerdings nicht minütlich, sondern nur bei Wertänderung auslöst), den könntest du aber durch ein Cron-Job ersetzen. In dem Beispiel lade ich per wget von der URL „http://localhost:8088/rest/devices/48/attributes/1/value“ nur einen Attributwert. Je nachdem wie viele Attribute du loggen möchtest macht es evtl. Sinn per URL „http://localhost:8088/rest/attributes“ statt X wget’s nur einen einzigen wget-Aufruf zu machen und dir aus dem Rückgabe-Text (z.B. per Linux-Kommandos sed oder awk) die einzelnen Texte rauszupicken…

    #2737
    reinhard
    Teilnehmer

    Hallo.
    Danke für die Ideen.
    Es geht um 4 Temperaturwerte + 1 Ausgang, Also 5 Werte
    Ich werde es einmal mit der 2ten Möglichkeit versuchen.
    LG

4 Beiträge anzeigen - 1 bis 4 (von insgesamt 4)
  • Du musst angemeldet sein, um zu diesem Thema eine Antwort verfassen zu können.