msgDialog: Instant Messaging als FHEM Interface

Begonnen von igami, 30 September 2017, 15:09:01

Vorheriges Thema - Nächstes Thema

Wuehler

#630
@gestein: Ja, denke, dass es am Umlaut liegt. Versuch mal alternativ folgendes zu verwenden (ungetestet).
{return('Eingangstür:  '.ReadingsVal('OZW772','Eingangstür','Fehler').' ')}

gestein

Hallo Dirk,
Das versuche ich heute Abend. Mal sehen.
Ich denke, dass die entsprechende Funktion im msgDialog nicht mit Umlauten umgehen kann.

Wenn es nicht einfach geht, benenne ich halt die "Eingangstür" in "Eingangstuer" um.

lg, Gerhard

gestein

Hallo Sebastian,

Danke nochmals für den Dialog und die Funktionen.
Da habe ich einen Ansatzpunkt um das für mich anzupassen.

Eine Frage aber bitte noch:
Mit Deinen Funktionen schaltest Du immer alle Lampen die an sind aus und alle die aus sind, wieder an.
Damit schaltet keine einzelnen Lampen. Oder?

lg, Gerhard

binford6000

#633
Zitat von: gestein am 16 April 2019, 12:23:15
Eine Frage aber bitte noch:
Mit Deinen Funktionen schaltest Du immer alle Lampen die an sind aus und alle die aus sind, wieder an.
Damit schaltet keine einzelnen Lampen. Oder?

Nein, das Schalten macht der Dialog. Die Funktionen sammeln nur die Devices ein und erstellen dann dynamisch den Dialog.
Damit erhalte ich beim Einschalten nur die Devices die auch tatsächlich aus sind und umgekehrt.  ;)

Das Schalten erfolgt dann im Dialog und nur für das gewählte Device:
"Einschalten": {
"match": ".*_licht",
"commands": [
"set $message on",
"set $SELF say @$recipient 04.💡...Lampen....💡|Lampe einschalten"
]
},


"Ausschalten": {
"match": ".*_licht",
"commands": [
"set $message off",
"set $SELF say @$recipient 04.💡...Lampen....💡|Lampe ausschalten"
]
},


VG Sebastian

gestein

Hallo Sebastian,

das ist echt elegant. Danke für die Erklärung.
lg, Gerhard

gestein

Jetzt hätte ich noch eine Frage:
Ich steure mittlerweile auch die Rollläden über Telegram. Funktioniert soweit ganz gut.
Dafür habe ich mehrere Reihen mit den entsprechenden Tasten für die Kommandos "rauf", "runter", "my".

Allerdings sieht das nicht wirklich gut aus, vor allem weil ja ein Text bei den Tasten angegeben werden muss (siehe Foto).
Wie sollte ich auch sonst die Tasten den Kommandos zuordnen?

Seht ihr eine Möglichkeit das schöner und leichter lesbar zu gestalten?
Also z.B. links die Bezeichnung und dann rechts 3 Tasten für "rauf", "runter", "my".

Danke für jede Hilfe.
lg, Gerhard

gestein

#636
Hallo,

ich verwende auch den Systemverwaltung-Dialog von Sebastian aus diesem Thread:
https://forum.fhem.de/index.php/topic,77297.msg724964.html#msg724964

Dazu hätte ich eine Frage an Sebastian:
Wie kommst Du zu den Angaben von "FHEM_Sys_Dialog.DUM:updates" und "FHEM_Sys_Dialog.DUM:last_10"?

Das wäre nämlich echt praktisch  :)

Vielen Dank im Voraus
liebe Grüße
Gerhard

binford6000

Zitat von: gestein am 29 April 2019, 21:42:04
Hallo,

ich verwende auch den Systemverwaltung-Dialog von Sebastian aus diesem Thread:
https://forum.fhem.de/index.php/topic,77297.msg724964.html#msg724964

Dazu hätte ich eine Frage an Sebastian:
Wie kommst Du zu den Angaben von "FHEM_Sys_Dialog.DUM:updates" und "FHEM_Sys_Dialog.DUM:last_10"?

Das wäre nämlich echt praktisch  :)

Vielen Dank im Voraus
liebe Grüße
Gerhard

Hallo Gerhard,
FHEM_Sys_Dialog.DUM ist war ein dummy in dem ich Systeminfos gespeichert habe.
updates und last_10 sind jeweils Readings welche ich mit dem unten stehenden Perl-Code gefüllt habe.

In FHEM_Sys_Dialog.DUM:updates stehen vorhandene Updates. In eine Variable gespeichert so:
my $fhu = `wget -qO - http://fhem.de/fhemupdate4/svn/controls_fhem.txt | cat - FHEM/controls_fhem.txt | sort | uniq -u | cut -d " " -f 4 | uniq`."-";


In FHEM_Sys_Dialog.DUM:last_10 sind die letzten 10 Logeinträge. Du bekommst sie so:
defmod FHEM_Sys_Dialog.AT at +*02:00:00 {\
  my $loglines = fhem "{qx(tail -20 $currlogfile)}";;\
  fhem "setreading FHEM_Sys_Dialog.DUM last_10 $loglines";;\
}
attr FHEM_Sys_Dialog.AT alignTime 01:00:00
attr FHEM_Sys_Dialog.AT comment Schreibt alle 120 min die letzten 10 Zeilen des FHEM-Log in einen Dummy.


VG Sebastian

gestein

Hallo Sebastian,

Danke! Echt toll.
lg, Gerhard

gestein

#639
Hallo,

ich bin nun leider auf ein neues Thema gestoßen.

Um einen Dimmer zu steuern habe ich einen Dialog von hier kopiert: https://forum.fhem.de/index.php/topic,77297.msg807252/topicseen.html#msg807252
"💡Geländer dimmen":{
      "message":[
         "(abbrechen|zurück) ",
         "(5%:5|10%:10|20%:20|25%:25) ",
         "(30%:30|40%:40|50%:50|60%:60) ",
         "(70%:70|80%:80|90%:90|100%:100) ",
         "Aktuell sind [TW.DimmerGelaender:pct]% eingestellt. Auf welchen Wert soll ich dimmen?"
         ],
         "dimmen_Geländer":{
            "match": "?([1-9][0]|[1][0][0]) ?",
            "commands": [
            "{my $dimm = '$message';; fhem(\"set TW.DimmerGelaender pct $dimm 3\");;}",
            "set $SELF say @$recipient 💡Beleuchtung"
            ]
         }
}

Damit ergeben sich aber 2 Probleme:
1.) Es wird z.B. "5%:5" in der Tastatur angezeigt und nicht "5%", wie ich erwartet hätte.
2.) Der Befehl zum Setzen des Dimmers wird nicht ausgeführt.

Was mache ich falsch?

Danke, lg, Gerhard

igami

Zitat von: gestein am 02 Mai 2019, 00:03:00
1.) Es wird z.B. "5%:5" in der Tastatur angezeigt und nicht "5%", wie ich erwartet hätte.
2.) Der Befehl zum Setzen des Dimmers wird nicht ausgeführt.
"5%:5" funktioniert nur bei inline Keyboards.
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

gestein

Hallo,

Verstanden. Dann werde ich mal diese Inline-Keyboards zu Gemüte führen.
Danke.

Beim msgDialog gab es ja jede Menge Weiterentwicklung.
Ist das Wiki mit den Notifys immer noch aktuell?

Vielen Dank für das tolle Modul!
Lg, Gerhard

igami

Zitat von: gestein am 02 Mai 2019, 19:15:28
Beim msgDialog gab es ja jede Menge Weiterentwicklung.
Ist das Wiki mit den Notifys immer noch aktuell?
Ja, das ist noch aktuell.
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

gestein

Danke. Mittlerweile klappt das mit den Inline-Keyboards.
Allerdings muss ich gestehen, dass mir die normalen Keyboards besser vorkommen.
Beim Dimmer wäre das aber eigentlich ganz praktisch.

Kann man innerhalb des Dialogs (also wenn gedimmt werden soll) das Inline-Keyboard einschalten und dann wieder ausschalten?

lg, Gerhard

igami

Zitat von: gestein am 03 Mai 2019, 17:10:46
Danke. Mittlerweile klappt das mit den Inline-Keyboards.
Allerdings muss ich gestehen, dass mir die normalen Keyboards besser vorkommen.
Beim Dimmer wäre das aber eigentlich ganz praktisch.

Kann man innerhalb des Dialogs (also wenn gedimmt werden soll) das Inline-Keyboard einschalten und dann wieder ausschalten?
Ich finde die normalen Keyboards meist auch besser :)

Die Snippets aus dem Wiki stammen nicht von mir, aber ich verstehe es so, dass sich mit dem Dummy inline ein und aus schalten lässt.
Ansonsten kannst du für jede Nachricht einzeln am Anfang "TelegramBot_MTYPE=queryInline" in der message senden.
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED