Wenn dies dein erster Besuch hier ist, lies bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Du musst dich vermutlich registrieren, bevor du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um den Registrierungsprozess zu starten. Du kannst auch jetzt schon Beiträge lesen. Suche dir einfach das Forum aus, das dich am meisten interessiert.
Ankündigung
Einklappen
Keine Ankündigung bisher.
LBS19000303 - Telegram Contact I LBS19000304 - Telegram Receiver I LBS19000645 - Telegram Command Validator
So ich wollte an dieser Stelle mal unbedingt meinen Dank aussprechen für diesen tollen LBS. Ich dachte ja schon immer prowl wäre gut... Aber Telegram plus die beiden LBS hier setzen dem ja voll die Krone auf. Echt schick (und funktioniert wunderbar )!!
So ich wollte an dieser Stelle mal unbedingt meinen Dank aussprechen für diesen tollen LBS. Ich dachte ja schon immer prowl wäre gut... Aber Telegram plus die beiden LBS hier setzen dem ja voll die Krone auf. Echt schick (und funktioniert wunderbar )!!
Da möchte ich mich gerne meinem Vorredner anschließen! Habe es auch endlich mal geschafft, Telegram auszuprobieren, und es ist wirklich der Knaller!
Jetzt muss ich leider alle meine Prowls rausschmeißen, denn das mit der Antwort an den Bot inkl. Rückantwort mit den Tastaturmöglichkeiten sind schon eine tolle Spielerei!
Vielen Dank für die super Bausteine!
Zuletzt geändert von baumhaus123; 01.09.2016, 21:34.
Grund: typo
@jonofe: Auch von meiner Seite vielen Dank für den LBS 19000303. Funktioniert super cool . Bei der Installation sind mir zwei Kleinigkeiten aufgefallen:
Im Hilfetext steht irgendwo "You'll get the API Key during this creation process. Write it down and copy it to input E2." Das müsste aber E1 statt E2 heissen.
Habe die PHP Extensions laut Anleitung in der Hilfe installiert, danach hatte ich aber folgende Fehlermeldung im EDOMI Fehler-Log: Datei: /usr/local/edomi/www/data/liveproject/lbs/EXE19000303.php | Fehlercode: 1 | Zeile: 39 | Call to undefined function msg_get_queue()
Nachdem ich die php-process extension nochmal mit yum install -y php-process installiert hatte, hat es dann geklappt. Kann aber auch gut sein, dass ich davor irgendwas falsch gemacht hatte.
@jonofe: Auch von meiner Seite vielen Dank für den LBS 19000303. Funktioniert super cool . Bei der Installation sind mir zwei Kleinigkeiten aufgefallen:
Im Hilfetext steht irgendwo "You'll get the API Key during this creation process. Write it down and copy it to input E2." Das müsste aber E1 statt E2 heissen.
Habe die PHP Extensions laut Anleitung in der Hilfe installiert, danach hatte ich aber folgende Fehlermeldung im EDOMI Fehler-Log: Datei: /usr/local/edomi/www/data/liveproject/lbs/EXE19000303.php | Fehlercode: 1 | Zeile: 39 | Call to undefined function msg_get_queue()
Nachdem ich die php-process extension nochmal mit yum install -y php-process installiert hatte, hat es dann geklappt. Kann aber auch gut sein, dass ich davor irgendwas falsch gemacht hatte.
Danke für das Feedback. Das mit dem API-Key Eingang werde ich korrigieren.
php-process steht in der aktuellen Doku allerdings drin. Kann es sein, dass du noch eine ältere Version verwendest. Die Version 0.6 habe ich am 22.08.2016 hochgeladen und spätestens dann war es drin. Erinnere mich aber, dass es anfangs in der Doku fehlte.
Ich habe keine Ahnung was da falsche läuft. Ich habe es gerade noch mal auf einer frisch instellierten EDOMI Instanz getestet:
Code:
[root@edomi-staging tmp]# wget --no-check-certificate https://getcomposer.org/installer
--2016-10-15 03:05:03-- https://getcomposer.org/installer
Resolving getcomposer.org... 87.98.253.108, 2001:41d0:a:7b19::2
Connecting to getcomposer.org|87.98.253.108|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 293630 (287K) [application/octet-stream]
Saving to: “installer”
100%[============================================================================================================================================================================================>] 293.630 --.-K/s in 0,1s
2016-10-15 03:05:04 (2,63 MB/s) - “installer” saved [293630/293630]
[root@edomi-staging tmp]# php installer
Downloading 1.2.1...
Composer successfully installed to: /tmp/composer.phar
Use it: php composer.phar
Some settings on your machine may cause stability issues with Composer.
If you encounter issues, try to change the following:
Your PHP (5.3.3) is quite old, upgrading to PHP 5.3.4 or higher is recommended.
Composer works with 5.3.2+ for most people, but there might be edge case issues.
[root@edomi-staging tmp]#
Ist
Code:
[B]None of the 0 stable version(s) of Composer matches your PHP version (5.3.3 / ID: 50303)[/B]
bin gerade am herumspielen mit dem Telegram-Validator.
Was ich dabei vermisse ist die Möglichkeit, bei einer nicht-validen Message die Ausgänge wieder zurückzusetzen auf 0 (A1) bzw auf leer (A2). Aktuell ist es bei mir so, dass die Ausgänge nach einer validen Message auf 1 gesetzt bleiben (bzw. die valide Chat-ID auf A2), auch wenn eine nicht valide Meldung eingeht. Damit geht ein anderer Baustein auf 1 und schlussendlich sind dann alle Bausteine auf 1.
Würden die Ausgänge bei einer nicht validen Meldung (gern auch optional) zurückgesetzt werden, könnte man auch darauf mit irgendwelchen Aktionen reagieren. Zudem wäre es im Logik-Editor in der Live-Ansicht sehr viel einfacher nachzuvollziehen, was gerade passiert...
Willst du nur eine 0, wenn der Befehl korrekt und die ChatId falsch ist?
ansonsten wird es schwierig, da der LBS ja eigentlich so designed ist, dass es je Befehl und ChatID(s) einen LBS gibt. Und jeder LBS empfängt alle Nachrichten.
Wenn auch bei falscher Nachricht eine 0 gesendet wird, dann wäre dies natürlich sehr oft der Fall. Da jede Instanz bei jeder ankommenden Nachricht getriggert wird.
Ich würde also die Übereinstimmung der Nachricht mal als notwendige Bedingung betrachten, dass der Baustein seine Ausgänge setzt. Und wenn die ChatID stimmt, dann wird der Ausgang A1 auf 1 gesetzt und wenn sie nicht stimmt dann auf 0. In beiden Fällen wird die ChatId des Senders auf A2 gesetzt. Okay?
ansonsten wird es schwierig, da der LBS ja eigentlich so designed ist, dass es je Befehl und ChatID(s) einen LBS gibt. Und jeder LBS empfängt alle Nachrichten.
Wenn auch bei falscher Nachricht eine 0 gesendet wird, dann wäre dies natürlich sehr oft der Fall.
Und ist das ein Problem? Es ist klar, dass jeder Befehl "seinen" LBS hat. Genau deshalb wäre es ja gut, wenn die Ausgänge bei einem nicht validen Befehl zurückgesetzt werden. Ob man dann darauf auch wirklich reagiert, ist ja jedem Anwender dann selbst überlassen.
Ich würde also die Übereinstimmung der Nachricht mal als notwendige Bedingung betrachten, dass der Baustein seine Ausgänge setzt. Und wenn die ChatID stimmt, dann wird der Ausgang A1 auf 1 gesetzt und wenn sie nicht stimmt dann auf 0. In beiden Fällen wird die ChatId des Senders auf A2 gesetzt. Okay?
Hm, das macht für mich keinen Sinn, da es mir nicht darauf ankommt ob die Chat-ID stimmt, sondern eben ob der Befehl valide ist oder nicht. Damit "sieht" man auch einfach, welcher Befehl der letzte ausgeführte Befehl ist.
alles andere würde ggf. zu hoher Last führen, wenn du z.B. 20 Befehle definierst, dann würde bei jedem Telegramm 40 DB Schreiboperationen ausgeführt, da 40 Ausgänge gesetzt werden. Das würe ich definitiv nicht empfehlen.
Das letzte Telegram siehst du immer am Telegram Receiver. Und wieso sollte man auf z.B. bei Telegram "Licht aus" in einem Baustein "Rolläden hoch" ein Invalid empfangen. Verstehe den Anwendungsfall nicht.
Bsp. "Licht an" ist valide, aber nicht für einen Instanz mit "Rolläden hoch". Der Telegramtext sollte doch zunächst mal festlegen ob es für den LBS relevant ist. Wenn nicht relevant, dann ist er auch nicht invalid.
alles andere würde ggf. zu hoher Last führen, wenn du z.B. 20 Befehle definierst, dann würde bei jedem Telegramm 40 DB Schreiboperationen ausgeführt, da 40 Ausgänge gesetzt werden. Das würe ich definitiv nicht empfehlen.
Du machst Dir Sorgen wegen 40 DB-Zugriffen? Ernsthaft jetzt? Also wenn wir von 4000 oder 40000 reden würden, wäre ich bei Dir aber meinst Du wirklich, dass die paar Operationen das System so runterziehen? Wenn dem tatsächlich so ist, bin ich extrem enttäuscht von MySQL.
Und wieso sollte man auf z.B. bei Telegram "Licht aus" in einem Baustein "Rolläden hoch" ein Invalid empfangen. Verstehe den Anwendungsfall nicht.
Bsp. "Licht an" ist valide, aber nicht für einen Instanz mit "Rolläden hoch". Der Telegramtext sollte doch zunächst mal festlegen ob es für den LBS relevant ist. Wenn nicht relevant, dann ist er auch nicht invalid.
Ja eben. Wenn nicht valide, dann den Ausgang zurücksetzen auf 0. Wenn das wirklich ein Performance-Issue ist, kann das ja wie erwähnt auch optional aktivierbar sein.
Aber wie auch immer, ich fänd's im Moment hauptsächlich in der Live-View sehr praktisch, da dort beim Arbeiten mit den Logiken die Übersicht verloren geht. Aktuell muss man erst mit der Maus auf den Receiver gehen, damit im Tooltip die gesamte Meldung sichtbar wird. Dann muss man prüfen, ob und was der entsprechende LBS gemacht hat, da ja quasi alle Ausgänge auf 1 stehen nach ein paar Versuchen.
Wir verarbeiten personenbezogene Daten über die Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen. Weitere Informationen findest Du in unserer Datenschutzerklärung.
Indem Du unten auf "ICH stimme zu" klickst, stimmst Du unserer Datenschutzerklärung und unseren persönlichen Datenverarbeitungs- und Cookie-Praktiken zu, wie darin beschrieben. Du erkennst außerdem an, dass dieses Forum möglicherweise außerhalb Deines Landes gehostet wird und bist damit einverstanden, dass Deine Daten in dem Land, in dem dieses Forum gehostet wird, gesammelt, gespeichert und verarbeitet werden.
Kommentar