admin

Erstellte Forenantworten

15 Beiträge anzeigen - 181 bis 195 (von insgesamt 309)
  • Autor
    Beiträge
  • als Antwort auf: Pushbullet Benachrichtigung #2551
    admin
    Administrator

    Hi,

    hast du das Beispiel von Shell Scripte ausführen verwendet? Denn das sollte bereits genau das machen was du willst:

    <device id="1" name="ShellScripts">
        <method id="1" name="Pushbullet Hauttür geöffnet" script="pushbullet.sh 'Haustür' 'wurde geöffnet'" />
        <trigger address="100.0" datatype="bit">
            <onValue value="1" method="1" />
        </trigger>
    </device>

    Der Trigger wird im obigen Beispiel nur ausgelöst wenn der Wert auf 1 wechselt. Beim Wechsel von 1 auf 0 wird der Trigger nicht ausgelöst. Von daher verstehe ich deine Frage nicht so ganz. Vielleicht postest du mal deine config.

    als Antwort auf: Homematic-Taster mit FHEM an Logo!8 #2546
    admin
    Administrator

    Hast du deine Tasteranbindung mittlerweile schon hinbekommen oder gibts noch Probleme?

    als Antwort auf: Status des Webservers #2545
    admin
    Administrator

    Ok, verstanden. Wie gesagt: um festzustellen ob ein Prozess läuft reicht ein einfaches Shell-Script, z.B. so in der Art:

    #!/bin/bash
    
    if pgrep -f "LogoControl.exe" > /dev/null
    then
        echo "RUNNING"
    else
        echo "STOPPED"
    fi
    

    Statt der Textausgabe müsstest du nur deine LEDs ansteuern und das Skript zyklisch alle x Sekunden aufrufen.

    als Antwort auf: Status des Webservers #2543
    admin
    Administrator

    Hi,

    mit „Logowebserver“ meinst du wahrscheinlich den von LogoControl und nicht etwa den in der Logo 0ba8 integrierten Webserver, oder? Ob LogoControl läuft, lässt sich bestimmt mit etwas Shell-KungFu (ps, grep etc.) auf der Kommandozeile ermitteln. Aber bevor wir das „wie“ klären, interessieren mich das „warum“. Was möchtest du denn mit der Information „RUNNING“, „STOPPED“ usw. überhaupt anfangen? Hast du Probleme, dass LogoControl irgendwann nicht mehr läuft?

    als Antwort auf: Per Klick auf eine Methode öffnet sich ein Link #2540
    admin
    Administrator

    Wenn du das Verhalten für alle Methoden möchtest kannst du dir die „index_devices.st“ Datei mal anschauen. Das ist das Template mit welchem alle Devices in der Seite erzeugt werden. Das Template ist prinzipiell HTML mit einer Scriptsprache namens StringTemplate zwischen den $-Zeichen. Ich gehe aber mal davon aus, du möchtest das nur für eine bestimmte Methode und nicht für alle. Das wird mit Änderung des Templates natürlich nicht klappen…

    Edit:
    Eine Idee hätte ich noch: bei Click auf die Methode wird die JavaScript-Funktion „callDeviceMethod(deviceId, methodId)“ aufgerufen, welche in der „index.st“ definiert ist. Ein Dirty-Hack wäre hier per Java-Script auf deine Device- und Method-ID abzufragen und eine Sonderbehandlung zu starten. Beim nächsten Release von LogoControl werden deine Änderungen in der index.st aber wieder zerschossen, also vorher sichern!

    als Antwort auf: Homematic-Taster mit FHEM an Logo!8 #2537
    admin
    Administrator

    Hi,

    ich habe bei mir bisher nur Homematic Fensterkontakte und Schaltsteckdosen per FHEM an die Logo angebunden. Dafür funktioniert auch das auf der Seite veröffentlichte Perl-Script für FHEM. Für einen Taster müsste das Script erst noch angepasst werden. Also prinzipiell musst du FHEM dazu bringen bei einem Tastendruck in der Logo ein Bit zu setzen und anschließend wieder zurück zu setzen (damit ein erneuter Tastendruck überhaupt möglich ist, und das Bit nicht dauerhaft gesetzt bleibt). So wie es aussieht liefert der Homematic Taster aber kein „gedrückt“ und „losgelassen“-Events, sondern nur ein „Long“ und „Short“ beim Drücken, ein Rücksetzen müsste also Zeitverzögert per Timer erfolgen oder aber auf Logo-Seite von selbst wieder zurückgesetzt werden. Das Schreiben eines Bits über den Aufruf von „http://logocontrol:8088/rest/bytes/x/bits/y&#8220; fällt damit weg, dieser setzt ein Bit dauerhaft. Aber du kannst dir für diesen Zweck einfach ein Dummy-Device (z.B. Name=“Homematic 4-fach Taster“) in LogoControl definieren mit einer Methode „Short“ und „Long“. Bei einem Tastendruck rufst du diese Methode dann ganz einfach aus FHEM heraus auf:

    http://logocontrol:8088/rest/devices/%5BDeine_Device_ID%5D/methods/1

    Der Trick ist: bei Aufruf einer Methode wird durch LogoControl das zugehörige Bit in der Logo für 250ms auf 1 gesetzt und danach wieder auf 0, somit muss sich FHEM nicht um das Rücksetzen des Bits kümmern, sondern wird von LogoControl automatisch erledigt. Das Bit bindest du nun per Netzwerkeingang in dein Schaltprogramm ein und behandelst es wie einen Taster der für 250ms gedrückt wurde.

    Nun der schwierige Part: der Aufruf der LogoControl-Methode aus FHEM bei Tastendruck auf dem Homematic-Taster. Du könntest zum einen das Script 99_logoUtils.pm so anpassen, dass es auf short und long Events reagiert und die Aufzurufenden Methoden (ähnlich wie das LogoStateAddress=… bei den Fensterkontakten) über das Comment-Attribut zu übermitteln. Wenn du mit Perl aber nicht so fit bist wäre es vielleicht am einfachsten für jeden Taster ein Notify in FHEM zu definieren, z.B. so:

    define HM_34BB12_Btn_01_short_pressed notify HM_34BB12_Btn_01:Short.* { GetFileFromURL("http://localhost:8088/rest/devices/1/methods/1") }

    Im obigen Fall würde bei einem kurzen Tastendruck die LogoControl-Methode 1 des Geräts 1 aufgerufen werden. Gerät 1 wäre dann wie gesagt ein DummyDevice mit beliebieg vielen Methoden für kurze und lange Tastendrücke der einzelnen Buttons.

    als Antwort auf: Pushbullet Benachrichtigung #2532
    admin
    Administrator

    Hi,

    deine Datei scheint das falsche Format zu haben (DOS/Windows- statt Unix-Zeilenumbruch). Entweder du konvertierst das ganze mit „dos2unix“ oder erstellst das Skript in Windows mit einem einem guten Texteditor wie z.B. Notepad++ direkt im Unix-Format (Bearbeiten -> Format Zeilenende).

    als Antwort auf: Pushbullet Benachrichtigung #2527
    admin
    Administrator

    Nein, der Pi ist auf der Pushbullet-Seite nirgendwo sichtbar. Hier werden nur die Geräte angezeigt, die die Pushbullet App installiert haben und mit deinem Konto verknüpft sind. Was passiert denn wenn du das Skript von Hand auf der Shell startest:

    ./pushbullet.sh ‚Test‘ ‚Das ist ein Test.‘

    ?

    als Antwort auf: 3 getrennte LogoControl Instanzen #2523
    admin
    Administrator

    Hi,

    hab ich selber noch nicht versucht, mehrere Instanzen von LogoControl nebeneinander zu betreiben, aber du kannst es ja mal testen. Es sollte reichen den LogoControl Ordner zu duplizieren und in den jeweiligen config.xml unterschiedliche Port-Nummern einzutragen (also 1. Instanz 8088 und 8080, 2. Instanz 8089 und 8081 usw., denn diese können von einer Instanz nur einmal belegt werden). Außerdem müsstest du die Schritte, die das init.sh Skript ausführt manuell ausführen, da das Skript ja immer mit dem Ordnernamen „LogoControl“ rechnet. Aber keine Garantie, dass das dann fehlerfrei funktioniert. Falls nicht, musst du dir evtl. doch noch mal die Master/Master Geschichte anschauen 😉

    als Antwort auf: Absturz von Logocontrol bei Verbindungsverlust #2522
    admin
    Administrator

    Hi,

    also ich kann das Problem bei mir nicht nachvollziehen. Ein Neustart von LogoControl ist bei mir nur nach einem Übertragen des Logo-Schaltprogramms nötig. Da ist die Logo-Schnittstelle anscheinend so „kaputt“, dass nur ein Neustart hilft. Ansonsten kann ich bei mir vom Raspberry oder der Logo den Netzwerkstecker ziehen und wieder stecken und es wird automatisch wieder neu verbunden. Einziger Unterschied bei mir wäre, das Logos und Raspberry nicht am Router sondern an einem seperaten 16-Port-Switch hängen (welcher dann mit der Fritz-Box verbunden ist). Dadurch bin ich generell von einem Router-Neustart unabhängig, da Logo und Raspberry auch ohne Router per fester IP-Adresse weiter kommunizieren können.

    als Antwort auf: LogoControl Fehlermeldung #2518
    admin
    Administrator

    „It’s not a bug, it’s a feature!“

    Das Fenster zeigt keine Fehlermeldung, sondern eine Eingabemaske um Attributwerte ändern zu können. Es kommt immer dann wenn du auf ein Attribut im aufgeklappten Popup-Menü klickst. Nach Eingabe von einem neuen Wert für das Attribut (in deinem Screenshot „Status“) wird dieser in die Logo geschrieben. Das macht z.B. bei Sollwerten (wie Temperatur) Sinn, welche von der Logo nur gelesen werden und so von „Außen“ gesetzt werden können. Auch Zeitwerte wie z.B. von einer Ausschaltverzögerung können so (sofern sie über einen Eintrag in der Parameter-VM-Zuordnungstabelle mit dem VM synchronisiert werden) von außen geändert werden, ohne das Schaltprogramm ändern zu müssen.

    als Antwort auf: LogoControl crashed #2516
    admin
    Administrator

    Ok, die folgende Zeile macht mich stutzig:
    Couldn’t open TCP connection to tropiatech.no-ip.biz

    Läuft LogoControl etwa in einem anderen Netz als die Logo? Das *.no-ip.biz deutet zumindest darauf hin, dass du versuchst auf eine entfernte Logo hinter einem Router mit DynDNS-Client zuzugreifen. Was steht denn in deiner config.xml bei

    <logo ip="???" />

    ?

    als Antwort auf: alternative zu NetIO #2514
    admin
    Administrator

    Mit ist hierfür keine Alternative bekannt. Du kannst natürlich einfach die Weboberfläche von LogoControl ganz normal im Browser auf deinem Touchscreen anzeigen, an den Komfort und Funktionsumfang von NetIO kommt das dann jedoch nicht ran.

    als Antwort auf: Logocontrol Adressierung Problem #2511
    admin
    Administrator

    Das liegt in der Natur der Logo. Ein- und Ausgänge können schlichtweg nicht geschrieben werden. Stell dir vor an deinem Hardware-Eingang (Taster) liegt eine 1 an. Nehmen wir an per LogoControl könntest du nun den Eingang auf 0 setzen. Es liegt aber nach wie vor eine 1 am Eingang der Logo an. Was soll sie nun denn tun? Sich für eine 1 oder eine 0 entscheiden? -> Konflikt! Gleiches gilt auch im umgekehrten Fall (0 am Eingang, 1 per Software von Außen). Bei Ausgängen ist es das gleiche: dein Logo-Schaltprogramm wird zyklisch alle paar Millisekunden abgearbeitet und entscheidet anhand der Zustände der Blöcke ob der Ausgang nun eingeschaltet wird oder nicht. Ein Schreibzugriff von Außen würde auch hier wieder in Konflikt zum Schaltprogramm stehen. -> Es ist nicht möglich!

    Die Adressen in der von mir veröffentlichten Tabelle sind nur dafür da Eingänge oder Ausgänge LESEN zu können. Für einen schreibenden Zugriff musst du immer den Weg über den VM-Speicher nehmen, sowie das anschließende Einbinden dieser VM-Adresse per Netzwerkeingang in dein Programm.

    als Antwort auf: FHEM und logocontroll #2504
    admin
    Administrator

    Also mit dem Timer kann ich dir nicht weiterhelfen. Ich würde Option 2 wählen und eine LogoControl-Methode (für die du vorher natürlich ein Dummy Device „Bewegungsmelder“ anlegen musst) aufrufen. Dann hast du das Signal für 250ms in der Logo und kannst damit machen was du willst. Dazu kannst du das Perl-Skript wie folgt ändern (hab das Skript aber nicht getestet!):

    package main;
    use strict;
    use warnings;
    use POSIX;
    sub
    myUtils_Initialize($$)
    {
     my ($hash) = @_;
    }
     
    ##########################################################
    # LogoControl Notify Handler
    #
    sub SetLogoControlState($)
    {
     my ($obj) = @_;
     my $comment = AttrVal($obj,"comment","");
     
     if ($comment =~ /LogoStateAddress=(\d+)\.(\d)/ ){
      my $url = "http://localhost:8088/rest/bytes/$1/bits/$2";
     
      if (Value($obj) eq "on" || Value($obj) eq "open"){
       GetFileFromURL($url."?set=1" );
      }
      elsif (Value($obj) eq "off" || Value($obj) eq "closed"){
       GetFileFromURL($url."?set=0" );
      } 
     }
     elsif ($comment =~ /LogoDeviceMethod=(\d+)\.(\d)/ ) {
      my $url = "http://localhost:8088/rest/devices/$1/methods/$2";
      
      if (Value($obj) eq "motion"){
       GetFileFromURL($url);
      }
     }
     return,
    }
    1;

    Als „Comment“ gibst du bei deinem FHEM-Gerät dann nicht „LogoStateAddress…“ sondern „LogoDeviceMethod=deviceId.methodId“ an, z.B. „LogoDeviceMethod=5.1“ für Device=5 und Method=1.

15 Beiträge anzeigen - 181 bis 195 (von insgesamt 309)