[39_Talk2Fhem.pm] Flexible Sprachsteuerunghilfsmodul

Begonnen von Phill, 12 Dezember 2017, 12:24:09

Vorheriges Thema - Nächstes Thema

Torsten_MG

Hallo beschäftige mich seit heute wieder nach längerer Zeit mit talk2fhem. Habe mich anfang des Jahres mal angeschaut und dann nicht weiter mit beschäftigt.

Da ich mir die 21Seiten nicht unbedingt antuen möchte und ein Teil ja noch so funktioniert wie ich es damals ausprobiert habe, frage ich jetzt mit der anderen Sache jetzt mal so in den Raum.

Ich habe damals in der DEF folgendes eingetragen:

# <regex> = <command>
# Examples:
# timer (löschen|zurück) = set $NAME cleartimers
# ereignis\S* (löschen|zurück) = set $NAME cleartriggers
# Bei Google sagen: Ok Google schalte Flur Licht an/ein dann wird geschaltet
Flur Licht\S* (a|ei)n = set FL_Lampe on
Flur Licht\S* aus = set FL_Lampe off
Flur Licht (stufe )?(\d+) = set FL_Lampe $2[ off, 25 0 0, 50 0 0, 75 0 0 ]


Mit dem Google assistenten und ifttt klappt das auch wunderbar.

Nun würde ich aber gerne die Raumtemperatur abfragen, weiß aber nicht wie!

Das abzufragende Device heißt WZ_Temp und das Reading für Temperatur heißt temperature

Was muß ich wie und wo eintragen, damit ich das abfragen kann und auch eine Antwort über google bekomme.

Danke schonmal für eventuelle hilfe!

Phill

Hallo,
ich kann dir nur wärmstens empfehlen dich mal durch das WIKI zu arbeiten.

Im speziellen das Thema Temperaturabfrage und die Ausgabenreaktion.

Für die Sprachausgabe kannst du das GOOGLCAST Modul verwenden dort kannst du über den Befehl "speak" eine Sprachausgabe veranlassen.

Für alles weitere helfe ich gerne weiter...

Gruß
Homebrew 1-Wire / HomeMatic Mix - Cubietruck mit FHEM als Server - Raspberry PI 3 als Informationsanzeige im MagicMirror Stil - Raspberry Pi 1 als Klingelanlage - VDR

Mein Modul: Talk2Fhem - Mein Tipp: https://forum.fhem.de/index.php/topic,82442.0.html

Torsten_MG

Ok, werde es mir morgen mal anschauen. Bin jetzt auf der Arbeit. Nachtschicht!

Gesendet von meinem SM-J730F mit Tapatalk


Torsten_MG

Zitat von: Phill am 16 September 2018, 21:05:50
Hallo,
ich kann dir nur wärmstens empfehlen dich mal durch das WIKI zu arbeiten.

Im speziellen das Thema Temperaturabfrage und die Ausgabenreaktion.

Für die Sprachausgabe kannst du das GOOGLCAST Modul verwenden dort kannst du über den Befehl "speak" eine Sprachausgabe veranlassen.

Für alles weitere helfe ich gerne weiter...

Gruß

Hab es mir jetzt  mal durchgelesen. Viel Input wo ich manches noch nicht ganz verstanden habe. Aber das kommt mit der Zeit. Das mit Googlecast muß ich mir noch genauer angucken, mit dem Modul habe ich mich bisher noch gar nicht beschädigt.

Einige Fragen habe ich noch zu den Keywords und Modwords.

Zum Beispiel habe ich in @rooms = Flur, Bad, Wohnzimmer, Draussen

Als Modwords möchte ich Licht und Temperatur nehmen.

Licht habe ich in Flur und Bad
Temperatur im Wohnzimmer und Draussen.

Wie genau muß ich das jetzt die Modwords eintragen, da blicke ich noch nicht ganz durch

Phill

Einfach frei lassen.

@modlight = lightdev_flur,lightdev_bad
@modtemp = ,,tempdev_wohnzimmer,tempdev_aussen


oder jeweils eigene Keylisten für Lichträume und Temperaturräume. Geschmacksache.
Homebrew 1-Wire / HomeMatic Mix - Cubietruck mit FHEM als Server - Raspberry PI 3 als Informationsanzeige im MagicMirror Stil - Raspberry Pi 1 als Klingelanlage - VDR

Mein Modul: Talk2Fhem - Mein Tipp: https://forum.fhem.de/index.php/topic,82442.0.html

Torsten_MG

Zitat von: Phill am 17 September 2018, 21:08:18
Einfach frei lassen.

@modlight = lightdev_flur,lightdev_bad
@modtemp = ,,tempdev_wohnzimmer,tempdev_aussen


oder jeweils eigene Keylisten für Lichträume und Temperaturräume. Geschmacksache.
Alles klar, Danke! Probiere ich morgen aus.

Gesendet von meinem SM-J730F mit Tapatalk


Abercrombie1892

Zitat von: Phill am 04 September 2018, 10:44:25
Ja mit IFTTT sehe ich auch keine andere Möglichkeit das über separate Accounts zu machen.
Dann könnte man einfach den Raum dem Satz voranstellen. Das sollte schon reichen.

Gruß

wie muss ich das denn bei iffft abändern, das immer wohnzimmer usw fest übermittelt wird + dann den angesagten text? der text ist ja kein problem, aber bekomme nicht die räume übermittelt.

Torsten_MG

Zitat von: Phill am 16 September 2018, 21:05:50
...
Für die Sprachausgabe kannst du das GOOGLCAST Modul verwenden dort kannst du über den Befehl "speak" eine Sprachausgabe veranlassen.

Für alles weitere helfe ich gerne weiter...

Gruß

Habe es jetzt soweit laufen. Nur die Richtung Fhem -> Google klappt leider nicht. Bekomme das Modul Googlecast nicht zum laufen und der Support vom Modul ist leider eingeschlafen. Gibt es noch eine andere Möglichkeit dass Fhem mit Google spricht?

Phill

Zitat von: Abercrombie1892 am 18 September 2018, 21:13:04
wie muss ich das denn bei iffft abändern, das immer wohnzimmer usw fest übermittelt wird + dann den angesagten text? der text ist ja kein problem, aber bekomme nicht die räume übermittelt.

/fhem?cmd.talk=set talk Wohnzimmer <<<{{TextField}}>>>

@Torsten_MG: Ja gibt es, die eine Methode die ich verwendete basierte aber ebenfalls auf Pythonlibraries und der Aufwand war größer als mit dem FHEM Modul. Wundert mich das das Modul nicht mehr Supportet wird, vielleicht ist nur Sommerpause bei dem Kollegen.  :D

Gruß
Homebrew 1-Wire / HomeMatic Mix - Cubietruck mit FHEM als Server - Raspberry PI 3 als Informationsanzeige im MagicMirror Stil - Raspberry Pi 1 als Klingelanlage - VDR

Mein Modul: Talk2Fhem - Mein Tipp: https://forum.fhem.de/index.php/topic,82442.0.html

bmaehr

Hallo,

Ich versuche gerade einen Überblick über die Möglichkeiten zur Verbindung von fhem mit dem google assistant zu bekommen. Leider sind die Informationen dazu ziemlich Kraut und Rüben (nicht aktuell, irgendwo auf Seite 18 eines Threads, ...). In diesem Thread ist der erste Post ja zumindest ziemlich übersichtlich, auch wenn er schon etwas älter ist.

Verbesserungsvorschläge für diesen Thread/Modul-Beschreibung:
- Link auf https://wiki.fhem.de/wiki/Modul_Talk2Fhem vor Updates und Installationsanleitung (ich hatte soweit erst gar nicht gelesen, den Link erst bei der Überprüfung für diesen Post gesehen)
- Hauptfunktion noch einfacher und klarer beschreiben (Vorschlag sofern ich die Funktionsweise richtig verstanden habe): Das Modul ist in der Lage aus von anderen Modulen empfangenem natürlichem Text fhem Befehle mit Parametern zu erkennen, diese Befehle auszuführen und Befehlsergebnisse oder Informationen aus fhem als natürlichen Text an andere Module zurückzugeben.
- Liste der Eingangs und Ausgangmodule vervollständigen/aktualisieren:  Laut erstem Post sollte Telegram sowie IFTT/MQTT möglich sein. Ich vermute mal, dass über IFTT keine parametrisierten Antworten möglich sind. Interessant fände ich das modul ghome-fhem, kann aber leider gar nichts über die Kombination mit Talk2Fhem finden. Eine Einschätzung (nicht möglich, weil...; bis jetzt nicht implementiert; noch von niemandem ausprobiert; Diskussion in Thread ...) fände ich sehr hilfreich. Auch über HA-Bridge ist leider nichts zu lesen.

Nicht falsch verstehen, der Post ist keine Kritik an Phill. Im Gegenteil habe ich mir diesen Thread ausgesucht, weil das noch die übersichtlichste Doku zu dem Thema war und ich hoffe, dass sie mit den vorgeschlagenen Änderungen noch besser für den Einstieg angepasst werden kann.

Phill

Hi, der Thread ist natürlich nur eine Diskussion. Ich habe versucht die Ergebnisse in das WIKI einfließen zu lassen. Das ist auch die erste Anlaufstelle wenn man sich in das Modul einarbeiten will. Übrigens auch in der commandref verlinkt. Aber dein Einwand mit dem Link den man nicht wirklich findet im ersten Thread ist korrekt und habe ihn mal etwas ersichtlicher gesetzt. Ebenfalls nochmal den Einleitungstext etwas angepasst. Ich bin natürlich immer Dankbar für hinweise und Vorschläge. Als Entwickler fällt es manchmal etwas schwer  eine Dokumentation allgemein verständlich zu formulieren.

Über IFTT ist mir jetzt noch keine Möglichkeit bekannt Antworten durchzuleiten, wird von mir über das Modul Googlcast gemacht. Generell fehlt mir zu anderen Schnittstellen (MQTT/HA-Bridge) einfach der Input, dann würde ich es im WIKI ergänzen. Hatte ein zwei mal angefragt ob mal jemand was schreibt, ist aber bis jetzt noch nicht geschehen.

Deswegen weiterhin gilt, ich bin für jegliche Hilfe sehr Dankbar.  :)

Werde mich jetzt in der kalten Jahreszeit auch mal wieder etwas mehr mit dem Modul beschäftigen können.

Gruß
Homebrew 1-Wire / HomeMatic Mix - Cubietruck mit FHEM als Server - Raspberry PI 3 als Informationsanzeige im MagicMirror Stil - Raspberry Pi 1 als Klingelanlage - VDR

Mein Modul: Talk2Fhem - Mein Tipp: https://forum.fhem.de/index.php/topic,82442.0.html

bmaehr

Zitat von: Phill am 04 Oktober 2018, 10:18:06
Als Entwickler fällt es manchmal etwas schwer  eine Dokumentation allgemein verständlich zu formulieren.
Als Entwickler kenn ich das selber. Danke für die positive Reaktion :-)

ahlermi

#312
Hast du schon mal darüber nachgedacht die erstellten Zeitgesteuerten Events einem definierbaren Raum, oder einer Gruppe zuzuordnen?
Ich finde diese leider nur aufwändig wieder, da die Kommandos wegen des Regex auch nicht in der Oberfläche verlinkt angezeigt werden.

Gruß Michael

EDIT:
habs mit einem notify gelöst:


global.DEFINED.at_talk_.* {
  fhem("attr $EVTPART1 room talk");
}
PI4 FHEM, PI3 FHEM, 6 x Echo mit talk2fhem, Siri, SNIPS auf PI3 mit Samson UB1, YeeLight, Homematic, MAX!, 433Mhz, LaCross, Xiaomi Vacuum V1, ESPEasy, Gardena, Telegram, FLOORPLAN, HEOS, Xiaomi Aqara, Sonoff, SolvisMax, SolvisClient, HUE, ESPEasy für Bayernlüfter, Harmony, Tasmota, JKBMS, EASUN

MBHG

Hallo,

bei der Umsetzung der Wiki hänge ich an dem folgenden Punkt


2b. Erstellen eines DOIFs zum Aufruf der sub:
defmod talk.DI.fillAttr DOIF ([global:"^ATTR.*T2F_.*"]) ({my $val = ReadingsVal("$SELF", "e_global_events", ""); $val =~ m/(\S*) (\S*) (\S*) (.*)/; if ($2 ne 'talk' && $2 ne 'global') { fill_T2F_keywordlist("$3", "talk");}})
attr talk.DI.fillAttr do always


Bei der Ausführung kommt bei mir

talk.DI.fillAttr DOIF: no right bracket: ({my $val = ReadingsVal("talk.DI.fillAttr", "e_global_events", "")
Unknown command $val, try help.
IF: no left bracket:  { fill_T2F_keywordlist("$3", "talk")
Unknown command }}), try help.

Ich gebe es als Kommando ein. Übersehe ich etwas?

Gruss Mac
-----------------------------------------------------------
https://smarthome.family.blog Debian Linux, NanoCUL 868, Signalduino, 4x HM-SW4, 11x HM Asksin Unisensor, NodeMCU ESP8266, RCS 1000 N Comfort, Magic Home, Rauchmelder PT2262, Babble

Phill

Zitat von: MBHG am 24 November 2018, 09:01:50
Bei der Ausführung kommt bei mir

talk.DI.fillAttr DOIF: no right bracket: ({my $val = ReadingsVal("talk.DI.fillAttr", "e_global_events", "")
Unknown command $val, try help.
IF: no left bracket:  { fill_T2F_keywordlist("$3", "talk")
Unknown command }}), try help.

Hi, Ich glaube das liegt an dem neuen DOIF Perlmode. Das DOIF denkt es soll den Perlmodus verwenden. Wenn ich erst das DOIF anlege und danach im DOIF den Ausführungsteil ändere bleibt das DOIF im "normalen" Modus und es kommt kein Fehler.

Homebrew 1-Wire / HomeMatic Mix - Cubietruck mit FHEM als Server - Raspberry PI 3 als Informationsanzeige im MagicMirror Stil - Raspberry Pi 1 als Klingelanlage - VDR

Mein Modul: Talk2Fhem - Mein Tipp: https://forum.fhem.de/index.php/topic,82442.0.html