Trigger Fuktion in LogoControl funtioniert nicht

Willkommen Foren LogoControl Trigger Fuktion in LogoControl funtioniert nicht

Verschlagwortet: ,

8 Beiträge anzeigen - 1 bis 8 (von insgesamt 8)
  • Autor
    Beiträge
  • #3840
    User_CH
    Teilnehmer

    Ich habe LogoControl auf einer RaspberryPi v3 installiert und es funktioniert.
    Nun wollte ich die Triggerfunktion nutzen:
    Der Ausgang Q1 gibt in regelmässigen Abständen ein 1-Signal. dies soll ein Script triggern, das einen Log-Eintrag in eine Datei macht.
    der Ausgang Q1 wechselt alle 10s in den Zustand 1 (für 1s).
    Das Script „log.sh“ liegt im Verzeichnis /home/pi/LogoControl/Scripts und funktioniert, wenn über command-line gestartet.
    Die Rechte für das Script wurden angepasst mit chmod +x log.sh.

    Trotzdem triggert der Trigger das Script nicht.
    Ich versteh nicht wieso.

    <device id=“4″ name=“Shell Scripts“>
    <method id=“1″ name=“Log Level“ script=“log.sh“ />
    <trigger plc=“myLogo“ address=“Q1″>
    <onValue value=“1″ method=“1″ />
    </trigger>
    <attribute id=“1″ name=“Impulse“ plc=“myLogo“ address=“Q1″ datatype=“bit“ />
    </device>

    Hat jemand eine Idee?

    #3841
    SoulLeZz
    Teilnehmer

    Hi, versuchs mal hiermit:

    <device id="4" name="Shell Scripts">
    	<method id="1" name="Telegram" script="log.sh 'Test' " />
        	<trigger plc="Obergeschoss" address="160.2">
            	<onValue value="1" method="1" />
    	</trigger>
    </device>

    Wie ich sehe hast du bei dem Trigger „Q1″ als Adresse. Du musst in deinem Logoprogramm einen Netzwerkausgang hinzufügen und diesem eine Adresse zuweisen. Bei mir ist’s in diesem Fall adress=“160.2“

    Gruß

    SoulLeZz

    #3842
    SoulLeZz
    Teilnehmer

    Hi,
    hab noch was vergessen abzuändern: beim Trigger musst du natürlich deine plc eintragen!

    #3845
    User_CH
    Teilnehmer

    Hi,
    ich habe Deinen Code übernommen, meine plc eingefügt, die Adresse auf einen Merker gesetzt (100.0), welchen ich an der Logo definiert habe.
    Auch habe ich den folgenden Code unter demselben device mitlaufen lassen (wie schon initial):
    <attribute id=“1″ name=“Impulse“ plc=“myLogo“ address=“100.0″ datatype=“bit“ />
    um zu sehen ob die Adresse 100.0 auch wirklich das Signal wechselt.

    In der Tat, das Signal wechselt, das Script wird jedoch nicht ausgeführt.

    #3846
    SoulLeZz
    Teilnehmer

    Hi,
    führe das Script mal manuell aus:
    Mit SSH auf den Raspberry einloggen und dann mit cd /home/pi/LogoControl/Scripts/ zu dem Script navigieren.
    Mit bash script.sh das Script ausführen.
    Damit kann man schonmal überprüfen, ob es an LogoControl liegt oder nicht.
    Wenn das Script trotzdem nicht ausgeführt wird, einfach mal diese Anleitung durchlesen: Script ausführen auf einem Raspberry Pi

    #3847
    User_CH
    Teilnehmer

    Hab das Problem gefunden:
    Das Log-file war unter dem root-User. Ich habe das Verzeichnis (/home/pi/LogoControl/Logs) gelöscht und als pi-User nochmals gebildet. Dann habe ich das log-Script nur mit bash log.sh (NICHT sudo bash log.sh) ausgeführt.
    Nun klappt es.
    Vielen Dank für die Unterstützung.

    #3868
    ScamZ
    Teilnehmer

    Es scheint als hätte ich das selbe Problem..
    Ich habe mein shell Script in /home/pi/LogoControl/Scripts gespeichert.
    dann sudo chmod +x NAME eingegeben und wenn ich es mit sudo bash NAME ausführe funktioniert es (Wake on Lan meines TVs)
    gebe ich nun allerdings sh NAME ein, kommt die Fehlermeldung, dass ich es als root ausführen muss.

    Vermutlich führt LogoControl das Script nicht als root aus, weshalb der TV nicht geweckt wird…

    weiß jemand wie ich das ändern kann?
    die datei wurde zwar nicht als root user erstellt, muss aber dennoch als einer ausgeführt werden..
    Grüße!

    #3870
    ScamZ
    Teilnehmer

    Ich wusste nicht, dass man sudo auch im Script benutzen kann..
    habs jetzt selbst hinbekommen indem ich das sudo vor etherwake geschrieben habe…
    Hier das Wake on Lan Script aus einem Ubuntuforum:

    #!/bin/sh
    # Ein Script zum aufwecken meines LGs
    # Name: wakeme

    # MAC-Adresse meines TVs
    mac=“78:5D:H8:5F:77:01″

    echo „Rechner wird aufgeweckt. Bitte warten“.
    sudo etherwake $mac

    # Hier wird mit einem Workaround eine Wartezeit eingebaut
    sleep 25

    # Hier wird der Rechner angepingt, um zu schauen, ob er auch hochgefahren wurde
    ping 192.168.178.28 -c 2 > /dev/null

    # Hier wird ueberprueft, ob der Vorgang erfolgreich war
    if [ $? -eq 0 ]
    then
    echo „Rechner wurde erfolgreich hochgefahren.“
    exit 0
    fi

    echo „Der Rechner konnte nicht hochgefahren werden. Fehler.“
    exit 1

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