Doorpi mit ioBroker, Telegram und Text2Command. Bitte Hilfe beim Einrichten

  • Servus,


    ich habe auf dem Pi3 alles, siehe oben, installiert.

    Ich kann auch mittels ioBroker Telegram-Nachrichten empfangen und senden.
    Wie schaffe ich es jetzt ein Event auszulösen?


    Wenn der Text "Mach de Tür auf!" empfangen wird, soll DoorPi den Türöffner betätigen.

    Trigger = Mach de Tür auf! Parameter = ? Wert zum Schreiben = ?


    Sehe ich den Wald vor lauter Bäume nicht?

  • Hey, biste weiter gekommen?
    Arbeite mich grad in das Thema iobroker rein......


  • Hier ein Javascript für ioBroker, um eine Klingelbetätigung und neue Snapshots zu empfangen.


    Code
    [EVENT_OnKeyPressed_prodsystem.0]
    10 = take_snapshot:http://localhost:9000/?action=snapshot
    20 = mailto:xxx@xxx,Mailversand mit Bild,Das ist das Bild als Mailtext,true
    30 = url_call:http://192.168.44.4:8087/set/javascript.0.DoorPi.States.Ring?value=true&event=doorpi&subscribe=1

    Zeile 30 sendet das klingeln an ioBroker.

  • Hier ein Javascript für ioBroker, um eine Klingelbetätigung und neue Snapshots zu empfangen.


    Code
    [EVENT_OnKeyPressed_prodsystem.0]
    10 = take_snapshot:http://localhost:9000/?action=snapshot
    20 = mailto:xxx@xxx,Mailversand mit Bild,Das ist das Bild als Mailtext,true
    30 = url_call:http://192.168.44.4:8087/set/javascript.0.DoorPi.States.Ring?value=true&event=doorpi&subscribe=1

    Zeile 30 sendet das klingeln an ioBroker.

    Hallo WAL.
    ich nehm an die 192.168.44.4 ist dein IOBroker. Wie kriegst du dann die snapshots vom DoorPi?
    Mein DoorPi hat z.B. die XXX.XXX.10.248 der IOBroker hat die .10.121.
    Bei mir werden die Snapshots auf dem DoorPi auch auf einer Ramdisk gespeichert (10 Files Rollierend, damit die Flashkarte nicht belastet wird).
    Ich möchte gern immer den letzten snapshot am IOBroker angezeigt bekommen.


    Gruß Peter

  • "h***://192.168.44.4/dashboard/snapshot" ist mein DoorPi Webinterface.
    "h***://192.168.44.4:8087" ist mein ioBroker.
    läuft bei mir auf dem gleichen Server.
    Wenn du in deinem Browser die URL "http:// XXX.XXX.10.248/dashboard/snapshot" aufrufst, bekommst du alle snapshot's angezeigt.
    Das Script liest nur alle Snapshot's aus und übergibt die url's iobroker, danach kannst du in der vis von iobroker die snapshot's zuweisen.


  • Hallo und guten Abend.


    Ich bin heute auf diesen Beitag gestoßen weil ich eine Möglichkeit suche Doorpi mit Iobroker zu verbinden.
    Würde gerne das Klingelsignal in Vis einbinden und evtl. mit Blockly nutzen.


    Dazu habe ich einen Datenpunkt ("State") mit dem Namen "DoorPi" in javascript.0 erstellt und mir mit Blockly ein kleines Test-Script gebastelt.
    Wenn ich den Datenpunkt manuell auf "true" setze, wird das Script auch ausgeführt und der Datenpunkt wird wieder auf "false" gesetzt. Soweit alles super...


    Wal hat das auch soweit schon sehr gut erklärt wenn Doorpi und Iobroker auf einem System laufen.
    Mein Problem ist aber das ich drei Raspberry Pi´s im Netzwerk habe.
    Pi-1 mit Kamera,HDD und DLNA (192.xxx.0.6)
    Pi-2 mit Doorpi,SSD und ownCloud (192.xxx.0.60)
    Pi-3 mit Iobroker (Visualisierung, Javascript, CCU2, usw.) (192.xxx.0.66)
    Alle Pi´s können untereinander ohne Passwort über ssh Befele absetzen (SSH Pre Shared Key).
    Wie müsste jetzt die Zeile in der doorpi-ini aussehen das ich den erstellten Datenpunkt in javascript.0 auf "true" setzen kann?


    Als erster habe ich folgendes probiert:


    Code
    30 = url_call:http://192.168.xxx.66:8081/set/javascript.0.States.DoorPi?value=true&event=doorpi&subscribe=1

    hat nicht funktioniert...



    Danch mal mit Benutzer und Passwort von Pi-3


    Code
    30 = url_call:http://Benutzer:Passwort@192.xxx.0.66:8081/set/javascript.0.States.DoorPi?value=true&event=doorpi&subscribe=1

    hat auch nicht funktioniert...



    Hat jemand eine Idee wie ich das hinbekommen könnte?


    LG
    Jürgen

  • Installiere einen simple.api Adapter in IOBroker mit dem Port 8087.


    Erzeuge ein Javascript mit diesem Inhalt und starte das 1-mal, es wird in javascript.0 das state erstellt.


    Code
    createState('DoorPi.States.Ring',false);

    dann kannst du so den state aus doorpi so setzen :

    Code
    url_call:http://192.xxx.0.66:8087/set/javascript.0.DoorPi.States.Ring?value=true&event=doorpi&subscribe=1
  • Hallo Wal
    Vielen Dank für deine Antwort und deine Hilfe.
    Habe das mal gerade so gemacht wie du beschrieben hast.
    Klappt leider noch nicht ganz.
    Wenn ich den Klingeltaster drücke wird der Datenpunkt nicht auf true gesetzt.
    Wie gehabt startet mein Script wenn ich manuell auf true setze.


    Wollte noch Screenshots einfügen, bekomme das aber hier nicht hin. (Bild-Link ???) ?(


    doorpi.ini:

    Code
    [EVENT_OnKeyPressed_onboardpins.0]
    10 = call:**620#610
    20 = url_call:http://192.xxx.0.66:8087/set/javascript.0.DoorPi.States.Ring?value=true&event=doorpi&subscribe=1
    30 = os_execute:/usr/local/etc/DoorPi/scripts/Klingelbild.sh
    40 = sleep:5
    50 = os_execute:/usr/local/etc/DoorPi/scripts/Klingelbild.sh

    Hast du noch eine Idee?



    LG
    Jürgen

  • Guten Morgen.
    Habe jetzt mal noch etwas getestet.
    Wenn ich den Befehl:

    Code
    http://192.168.xxx.66:8087/set/javascript.0.DoorPi.States.Ring?value=true&event=doorpi&subscribe=1


    am Pc oder an der Pi-2(Doorpi) mit dem Browser abschicke, wird der Datenpunkt gesetzt und mein Script wird gestartet.
    Aber wenn ich den Klingeltaster drücke gehen nur die bisherigen Befehle durch. 10, 30, 40, und 50
    Klingelbild .sh ist ein Script das mir im abstand von 5 Sek.per Telegram zwei Bilder und Text sendet.

    Code
    [EVENT_OnKeyPressed_onboardpins.0]
    10 = call:**620#610
    20 = url_call:http://192.168.0.66:8087/set/javascript.0.DoorPi.States.Ring?value=true&event=doorpi&subscribe=1
    30 = os_execute:/usr/local/etc/DoorPi/scripts/Klingelbild.sh
    40 = sleep:5
    50 = os_execute:/usr/local/etc/DoorPi/scripts/Klingelbild.sh

    Gebe ich nur die besagte Zeile ein,:

    Code
    [EVENT_OnKeyPressed_onboardpins.0]
    10 = url_call:http://192.168.0.66:8087/set/javascript.0.DoorPi.States.Ring?value=true&event=doorpi&subscribe=1

    passiert garnichts.


    Sehr seltsam... :?:

  • Hab das Ganze auch bereits seit einigen Monaten realisiert. Sprich, wenn ein Klingelsignal über den DoorPi erkannt wird, geht in vis automatisch ein Dialog-Fenster auf, über das ich auch den elektrischen Türöffner auslösen kann. Was leider noch nicht so rund läuft, ist das Sprechen über die DoorPhone App.


    Mein DoorPi-Projekt habe ich im HomeMatic-Forum vorgestellt.



    Leider kam ich noch nicht dazu, die Einbindung des DoorPi in den ioBroker näher zu beschreiben, auch wenn ich es hier schon vorbereitet hatte. Vielleicht schaffe ich es in zwei Wochen.


    Bis dann,


    Thorsten

  • Guten Morgen.
    Habe jetzt mal noch etwas getestet.
    Wenn ich den Befehl:

    Code
    http://192.168.xxx.66:8087/set/javascript.0.DoorPi.States.Ring?value=true&event=doorpi&subscribe=1

    Schreib einfach ein weiteres sh script mit
    curl ...



    Code
    curl http://192.168.0.66:8087/set/javascript.0.DoorPi.States.Ring?value=true&event=doorpi&subscribe=1

    funktioniert das?
    Aufruf dann mit os_execute: ...

  • Hmm, habe das so seit einem Jahr am laufen.
    Schau mal im Log, ob der url_call-Befehl abgearbeitet wird.


    Ich habe hier noch ein SingleAction vorgestellt um mqtt-Nachrichten zu versenden.
    Das kannst du auch mal versuchen.
    Hier und Hier


    "sudo pip install paho-mqtt" nicht vergessen und die mqtt.py kommt in den SingleAction-Ordner.
    Im ioBroker den MQTT-Server installieren.

  • Schreib einfach ein weiteres sh script mitcurl ...



    Code
    curl http://192.168.0.66:8087/set/javascript.0.DoorPi.States.Ring?value=true&event=doorpi&subscribe=1

    funktioniert das?
    Aufruf dann mit os_execute: ...

    Bingo das wars....
    So hat es funktioniert. Hatte auch schon ein weiteres Scipt im Hinterkopf, aber auf curl bin ich nicht gekommen...


    Danke für deinen Tip CBMOD

    Zum Türöffnen nutze ich eine Keymatic die auch schon in DoorPi und iObroker integriert sind.
    Darf ich fragen welches Widget du in Vis benutzt?
    Vor allem welchen Dialog, und wie du den automatisch öffnest?
    Natürlich nur wenn das nicht so viel Aufwand für dich ist- Ansonsten warte ich bis du die Einbindung in ioBroker näher beschreibst...


    Noch allen einen lieben Dank für euere Antworten und Tips...


    LG
    Jürgen

  • Danke Wal für den Tip.
    Schöne Erweiterung. Werde ich mal testen.... :thumbup:


    Wenn ich den Klingeltster drücke gibt die Log folgendes aus:



    2018-01-18 18:55:40,707 [WARNING] [root] section AREA_public not found in configfile
    2018-01-18 18:55:40,710 [INFO] [doorpi.status.webserver_lib.request_handler_static_functions] user door has write permissions: /control/trigger_event
    2018-01-18 18:55:42,130 [INFO] [doorpi.status.webserver] DoorPiWeb URL is http://DoorPi:8080/
    2018-01-18 18:55:44,374 [INFO] [doorpi.status.webserver] DoorPiWeb URL is http://DoorPi:8080/
    2018-01-18 18:55:46,063 [INFO] [doorpi.status.webserver] DoorPiWeb URL is http://DoorPi:8080/
    2018-01-18 18:55:48,313 [INFO] [doorpi.status.webserver] DoorPiWeb URL is http://DoorPi:8080/
    2018-01-18 18:55:49,462 [WARNING] [root] section AREA_public not found in configfile
    2018-01-18 18:55:49,464 [INFO] [doorpi.status.webserver_lib.request_handler_static_functions] user door has write permissions: /favicon.ico


    LG
    Jürgen

  • Das sagt mir nichts.
    Das muß kommen :