FHEM Forum

FHEM => Frontends => Sprachsteuerung => Thema gestartet von: tiroso am 01 Juni 2017, 08:23:51

Umfrage
Frage: Läuft TEERKO auf deinem System stabil? (Beta 1.2)
Antwort 1: Ja. Kein Problem. Stimmen: 2
Antwort 2: Ja, hat aber Einfluß auf die Performance Stimmen: 0
Antwort 3: Nein, es gibt unregelmäßige Abstürze Stimmen: 0
Antwort 4: Nein, direkter Absturz Stimmen: 0
Titel: [39_TEERKO.pm] Neues Modul zur textbasierten Steuerung
Beitrag von: tiroso am 01 Juni 2017, 08:23:51
Hallo zusammen,
Ich versuche mein bestes bei dem Modul TEERKO -> TExt ERkennung und KOntrolle




Download TEERKO Beta 1.2 (https://gitlab.com/tiroso/fhem-TEERKO/repository/beta_1.2.9/archive.zip)




Das Modul hieß vorher 98_TEERKO.pm
Wer das Modul unter 98_TEERKO.pm runtergeladen haben sollte, bitte ich das Modul zu löschen und unter 39_TEERKO.pm abzuspeichern.


TEERKO -> TExt ERkennung und KOntrolle

Die Alpha Version brachte mir zu viele Fehler und brachte mein FHEM zum Absturz. Ich habe deswegen auch Stabilität gesetzt und einige Funktionen rausgenommen.

Was kann das Modul?

  • Geräte schalten
  • Farben schalten
  • Zeitverzögertes schalten
  • Status abfragen
  • Plural Erkennung für schalten gleichnamiger Devices.
  • Gleichzeitiges Steurern meherer Devices in Unterschiedlichen Räumen.
  • MultiRoom Attribut für mehrere Räume für ein Device (Haus,Erdgeschoss,Wohnzimmer)
  • MultiAlias Attribut für mehrere Device Bezeichnungen (Lampe,Deckenlampe,Licht)
  • Alias und Room Favoriten definieren für die Antwortsätze
  • Sehr flexible Benutzerdefinierte Befehle
  • Batteriemeldungen
  • Ausgabe auf nahezu allen externen Devices
  • Prozentualer Abgleich aller Namen.
  • Anpassen der default Befehlssätze und Abfrage Readings
  • Kein einhalten fester Muster nötig (Schalte das Licht im Wohnzimmer an == Das Licht im Wohnzimmer einschalten
  • Verwenden bestehender Attribute wie alias,room,alexaname,alexaroom.
    Somit muss nicht zwingend die TEERKO eigenen Attribute verwendet werden
So sind folgende Befehle möglich:
Schalte die Deckenlampe ein
Dimme die Stehlampe im Wohnzimmer auf 30%
Färbe die Effektbeleuchtung rot

Nicht nur schalten bzw das kontrollieren eines Devices ist möglich sondern auch das Abfragen:
Wie ist der Zustand der Haustür
Sage mir den Status der Deckenlampe

Wie könnt ihr das Modul einbinden?
Ladet euch die 39_TEERKO.pm runter und kopiert es zu den anderen Modulen in FHEM.
und dann...

Define
define <name> TEERKO
Definiert das TEERKO Device für die Textkontrolle

Set


  • TextCommand
  • ExternalResponse
  • ReadUserFile
  • AMADAnswer
  • UpdateLists


set <TEERKODevice> TextCommand <command>
Lässt ein Kommando direkt am Teerko Device zu. Dieses wird ausgewertet und die Antwort angezeigt

set <TEERKODevice> ReadUserFile [file]
Lese Datei ein mit benutzerdefinierten Kommandos

set <TEERKODevice> AMADAnswer [-msg-|-tts-|eigenedevices]
Ist TEERKO mit einem AMAD Device verbunden so kann hier die Antwort gewählt werden. Wenn von AMAD gefragt wird können ebenfalls externe Geräte angegeben werden.

set <TEERKODevice> TelegramAnswer [-msg-|-tts-|eigenedevices]
Wenn von Telegram gefragt wird können ebenfalls externe Geräte angegeben werden.

set <TEERKODevice> OwnAnswer [-msg-|-tts-|eigenedevices]
Wenn von dem eigenen TEERKO Device gefragt wird können ebenfalls externe Geräte angegeben werden.

TEERKO spezifische Attr


  • TEERKOTelegramDevice
  • TEERKOTelegramPeerId
  • TEERKOAMADDevice
  • TEERKOHotword
  • TEERKOUserDefFile
  • TEERKOExpert

attr <TEERKODevice> TEERKOTelegramDevice <TelegramBotDevice>
Wenn du über Telegram mit TEERKO kommunizieren willst dann setze hier das TelegramBot Device ein

attr <TEERKODevice> TEERKOTelegramPeerId <TelegramBotDevice>
Wähle hier alle PEERIds über die du mit TEERKO kommunizieren willst

attr <TEERKODevice> TEERKOAMADDevice <AMADDevice>
Wenn du ein AMAD ebenfalls nutzen möchtest wird das Device hier ausgewählt.
Bitte in der AMADCommBridge das Attribut fhemControlMode auf thirdControl setzen.
           
attr <TEERKODevice> TEERKOHotword [hotword]
Hier können Kommagetrennte Hotwords hinterlegt werden. Sollte keines der Hotwords auf den kompletten Satz passen dann wird TEERKO den Befehl nicht analysieren und auswerten. Wenn das Attr nicht gesetzt ist wertet TEERKO alle Befehle aus.

attr <TEERKODevice> TEERKOFeatures [hotword]
Auswahl der Features von TEERKO. Wähle -Alles- um alles nutzen zu können

attr <TEERKODevice> TEERKOAllowedToControl [hotword]
Alle Geräte auswählen die von diesem TEERKO Device bedient werden dürfen. Oder -Alle- auswählen

attr <TEERKODevice> TEERKOUserDefFile[1|0]
Setzt den StandartPfad für die Userdefinierten Befehle Datei. Wenn dieses Attr gesetzt ist muss keine mehr beim einlesen angegeben werden.

attr TEERKOExpert <expertcommands>
Mit den "Expertenkommandos" kann das verhalten stark beeinflusst werden.
Es gibt derzeit 2 Arten von Expertenkommandos:

  • Search and Replace
  • Sonstige

  • Search and Replace:
    Aufbau:

    • sar:<search>=<replace>
    Erklärung
    Beim auslesen, z.b. beim Aktionstypen getstate, werden meist englische Werte ausgegeben oder solche die nicht "toll" aussehen. Mit dem sar Wert kann ein solches Reading ersetzt werden.
  • Sonstige:
    AllRestrictedMapping
    Der Befehl begrenzt alle Möglichkeiten alle Devices zu steuern oder abzufragen auf solche die als Mapping Befehle angelegt sind. Die Mapping Befehle müssen mindestens als Typ 1 im Attribut TEERKOExpert im jeweiligen Device vorhanden sein.

Device spezifische Attr


  • TEERKOAlias
  • TEERKORoom
  • TEERKOExpert

[/list][/list]attr <OtherDevice> TEERKOAlias <aliase>
Zusätzlich zum normalen Alias können hier weitere eingetragen werden. Einen Favorisierten Namen für einen Device mit "!" angeben.
Bsp. attr <OtherDevice> TEERKOAlias Lampe,Licht,!Deckenlampe

attr <OtherDevice> TEERKORoom <rooms>
Zusätzlich zum normalen Room können hier weitere eingetragen werden. Einen Favorisierten Namen für einen Room mit "!" angeben.
Bsp. attr <OtherDevice> TEERKORoom Haus,Erdgeschoss,!Wohnzimmer

attr <OtherDevice> TEERKOExpert <expertcommands>
Mit den "Expertenkommandos" kann das verhalten stark beeinflusst werden.
Es gibt derzeit 3 Arten von Expertenkommandos:

  • Mapping
  • Search and Replace
  • Sonstige

  • Mapping:
    Aufbau:

    • Typ 1 map:<type>
    • Typ 2 map:<type>=<cmd>
    • Typ 3 map:<type>!<ignorestate>!
    • Typ 4 map:<type>=<cmd>!<ignorestate>!
    Erklärung:
    Jede Aktion die ausgeführt wird hat einen Aktionstypen. Mit dem Mapping Kommando kann man die Aktion beeinflussen. <type> gibt diesen Aktionstypen an. Mit <cmd> überschreibt man die default Aktionen die in TEERKO hinterlegt sind. Mit <ignorestate> wird ein Kommando ignoriert wenn das Device diesen Status schon hat.
    Folgende Aktionstypen sind derzeit verfügbar:

    • seton
    • setoff
    • setup
    • setdown
    • setopen
    • setclose
    • setstart
    • setstop
    • setpct
    • setcolor
    • getstate
    Beispiele:
    map:seton=pct 100!on!
    Das Gerät führt zum Beispiel bei dem Befehl Schalte die Stehlampe im Wohnzimmer an den FHEM Befehl set <device> pct 100 aus. Aber auch nur wenn der aktuelle Status nicht on ist
    map:getstate=reading
    Das Gerät gibt zum Beispiel bei dem Befehl Wie ist der Status der Haustür nicht das Reading state zurück sondern das des angegeben readings

    Zusätzlich dazu gibt es Aktionsbezogene Platzhalter:

    • setpct:%INT%
          Beispiel für Angabe mit dem Befehl Stelle die Stehlampe auf 30% und das betroffene Device "versteht" nicht pct
          map:setpct=dim %INT%
    • setcolor:%CHEX% %CRGB% %CHSV% %CRGB1% %CRGB2% %CRGB3% %CHSV1% %CHSV2% %CHSV3%
          Beispiel für Angabe mit dem Befehl Färbe die Effektbeleuchtung blau und das betroffene Device "versteht" nicht direkt die Angabe von einem hex Wert
          map:setcolor=rgb %CRGB%
  • Search and Replace:
    Aufbau:

    • sar:<search>=<replace>
    Erklärung
    Beim auslesen, z.b. beim Aktionstypen getstate, werden meist englische Werte ausgegeben oder solche die nicht "toll" aussehen. Mit dem sar Wert kann ein solches Reading ersetzt werden.
  • Sonstige:
    AllRestrictedMapping
    Der Befehl begrenzt alle Möglichkeiten ein Device zu steuern oder abzufragen auf solche die als Mapping Befehle angelegt sind. Die Mapping Befehle müssen mindestens als Typ 1 im Attribut TEERKOExpert vorhanden sein.
    Z.b sorgt attr <device> TEERKOExpert map:seton,map:setoff,map:getstate,AllRestrictedMapping
    dafür das das Gerät ausschließlich ein- ausgeschaltet und der Status abgefragt werden darf.
  • shortresponse
    Alle erfolgreich Erkannten Befehle werden nicht mit Angabe des Devices oder Room beantwortet, sondern nur mit "Ok. "



User definierte Befehle - Datei
Es ist möglich eigene Befehle in einer externen Datei abzulegen.
Die Datei muss folgenden Aufbau haben

[command]
in=lichtszenario.*(gemütlich|aus|an|party).*wohnzimmer
out=Ich stelle im Wohnzimmer das Lichtszenario %0% ein.
fhem=set lightscene scene %0%

[command]
in=ich.*zuhause
out=Hallo. Schön das du da bist.
fhem=set light1 on;sleep 3;set coffemaker on;set livingroomlight pct 50

[command]
in=wie.*wetter
out=Die Temperatur beträgt %weatherdevice%. Die Feuchtigkeit beträgt
%weatherdevice:humidity% Prozent.
Das Wetter ist %weatherdevice:icon:rainy=regnerisch,cloudy=wolkig,stormy=So richtig mies%

[command]
in=...
out=...
fhem=...

...




Parts eines neuen Kommandos

  • in=
    (Pflichtangabe) Der Satz (RegExpr erlaubt) wird mit dem eingegebenen Befehl abgeglichen. Sollte es zu einer Übereinstimmung kommen wird TEERKO keinen internen Abgleich mehr machen sondern den benutzerdefinierten Befehl akzeptieren.
  • out=
    (Optionale Angabe) Die Antwort die TEERKO auf den Befehl geben soll. Wird keine Antwort angegeben antwortet TEERKO mit "Ok."
  • fhem=
    (Optionale Angabe) FHEM Kommandos die nach erkennen des Befehls ausgeführt werden sollen. Kein Perl Code.
RegExp Captures

Sollten in dem in= Part durch RegExp Captures auftreten können diese unter Angabe der gefundenen Platzierung in out= und fhem= wiederverwendet werden. Siehe Aufbau Bsp. 1

Readings in out=

Es können in der Ausgabe auch Readings eingebunden werden. Siehe Aufbau Bsp. 3. Diese Readings können auch durch andere Werte ersetzt werden.

  • %weatherdevice%
    Liest das Reading state aus dem Device weatherdevice
  • %weatherdevice:humidity%
    Liest das Reading humidity aus dem Device weatherdevice
  • %weatherdevice:icon:rainy=regnerisch,cloudy=wolkig%
    Liest das Reading icon aus dem Device weatherdevice und ersetzt ein mögliches vorkommen von "rainy" durch "regnerisch" und "cloudy" durch "wolkig" und "stormy" durch "so richtig mies"






Ich habe versucht viele Anwenungsfälle abzudecken.
Die Basis Befehle können ebenfalls mit einer Zeitangabe erfolgen:
schalte die Deckenlampe im Wohnzimmer in 5 Minuten und 3 Sekunden an

MultiErkennung

Teerko unterstützt das Auswerten für Geräte die den gleichen Alias haben
Beispiel:

define dummy01 dummy;
attr dummy01 TEERKORoom Haus,Erdgeschoss,!Wohnzimmer
attr dummy01 TEERKOAlias Lampe,Licht,!Deckenlampe

define dummy02 dummy;
attr dummy02 TEERKORoom Haus,Erdgeschoss,!Küche
attr dummy02 TEERKOAlias Lampe,Licht,!Deckenlampe

Somit lässt sich über Schalte alle Lampen im Haus aus beide Lampen ausschalten. Schalte die Deckenlampe aus sorgt aber dafür das die Rückmeldung kommt das es mehrere Geräte mit dem Namen gibt. Schalte die Deckenlampe im Wohnzimmer aus schaltet dagegen nur dummy01.

Erkannte Farben
Teerko ist in der Lage folgende Farben zu erkennen:

  • gelb
  • weiß
  • orange
  • magenta
  • rot
  • violett
  • blau
  • türkis
  • grün
  • schwarz
  • grau
  • braun
  • rosa
  • pink


Bitte versucht so natürlich wie nur möglich die Befehle in Teerko einzugeben. Ich versuche mich in Natural Text Processing und dazu gehört auch natürlich das man korrekt mit dem Modul redet.


Ich weiß leider nicht wie ich das Modul näher beschreiben soll, ich will eigentlich auch keine Befehle vorgeben sondern eher den Versuch starten ob das Modul wirklich in der Lage ist deinen Befehl so zu verstehen wie er kommt.




Das Modul befindet sich im Beta Status. Also bitte vorher eure Konfiguration speichern

Gruß
Titel: Antw:Neue Modul zur Textsteuerung 98_TEERKO.pm
Beitrag von: tiroso am 01 Juni 2017, 08:25:33
Ach ja.
Wenn ihr AMAD nutzen solltet sorgt dafür das der Flow den String nicht bei und teilt sondern in gänze überträgt
Titel: Antw:Neue Modul zur Textsteuerung 98_TEERKO.pm
Beitrag von: sash.sc am 01 Juni 2017, 09:07:05
Mit alexa wahrscheinlich nicht nutzbar, oder?

Gesendet von dem teuren ding in meiner hand

Titel: Antw:Neue Modul zur Textsteuerung 98_TEERKO.pm
Beitrag von: tiroso am 01 Juni 2017, 09:15:51
Ne das nicht.
Habe das aufgesetzt um extra kein alexa zu nutzen. ;) ich hoffe iwann Matrix Voice zu implementieren.
Titel: Antw:Neue Modul zur Textsteuerung 98_TEERKO.pm
Beitrag von: sash.sc am 01 Juni 2017, 10:12:23
D. H. Sprachsteuerung über amad?

Was ist matrix voice?

Gesendet von dem teuren ding in meiner hand

Titel: Antw:Neue Modul zur Textsteuerung 98_TEERKO.pm
Beitrag von: tiroso am 01 Juni 2017, 10:17:13
Ja Sprachsteuerung über AMAD und Textsteuerung über TelegramBot oder direkt am device.

Matrix Voice ist ein Open Source Projekt. 
https://www.indiegogo.com/projects/matrix-voice-open-source-voice-platform-for-all#/
Titel: Antw:Neue Modul zur Textsteuerung 98_TEERKO.pm
Beitrag von: sash.sc am 01 Juni 2017, 10:21:52
Sieht aus, als ob das von alexa bzw. Dot/Echo abgekupfert ist.

Wegen alexa fragte ich, da ich die ha.bridge dazwischen habe.

Aber ich glaubt Zeit kann man da keine Sensoren abfragen bzw Status von Geräten

Gesendet von dem teuren ding in meiner hand

Titel: Antw:Neue Modul zur Textsteuerung 98_TEERKO.pm
Beitrag von: tiroso am 01 Juni 2017, 10:26:41
Ja ich versuche natürlich in gewisser Art und Weise die Funktionen zu übernehmen. Allerdings in meiner eigenen Logik.  Wie alexa den string analysiert weiß ich nicht.

Ich möchte auch on Zukunft mehr funktionen integrieren. Das man fragen kann wie warm ein Device ist...oder wie warm ein Raum ist und als Antwort die durchschnittstemperatur zurückgegeben wird.
Titel: Antw:Neue Modul zur Textsteuerung 98_TEERKO.pm
Beitrag von: mumpitzstuff am 01 Juni 2017, 11:01:01
Finde die Idee ganz lustig und habe eben mal kurz reingeschaut...

1.) Ich würde die ganzen Hashes irgendwie auslagern in einer separaten Datei falls das irgendwie möglich ist (keine Ahnung ob das irgendwie realisierbar ist). Dann können die getrennt vom Modul ergänzt/übersetzt usw. werden. Oder man legt im Modul ein Standardset bei und lädt aber eine Userdatei nach und erweitert damit die Hashes.
2.) Vielleicht bekommt man es hin, das man mit einem Eintrag eine gewisse Unschärfe der Befehle abfangen kann und dafür nicht mehrere Einträge in den Hashes benötigt z.B. Teil|Teile in Teile? (regexp) umwandeln.
Titel: Antw:Neue Modul zur Textsteuerung 98_TEERKO.pm
Beitrag von: ThomasMagnum am 01 Juni 2017, 11:04:39
Hallo tiroso,

die Idee ist sehr gut.

Ich steure mein FHEM teilweise per XMPP und habe daher die Frage ob diese Option evtl. auch noch hinzugefügt werden könnte, neben der Telegramm Anbindung.
Zur Zeit muss ich für jeden Befehl der angenommen werden soll eine eigene kleine Routine in die myUtils aufnehmen. Mit deinem Modul wäre das natürlich obsolet und alles sehr viel bequemer.

Gruß, Thomas
Titel: Antw:Neue Modul zur Textsteuerung 98_TEERKO.pm
Beitrag von: tiroso am 01 Juni 2017, 11:10:15
Kann ich gerne mal nachsehen. Als workaround kannst du natürlich ein notify einrichten welcher den Befehl an das TEERKO device überträgt. Quasi mit set TextCommand.
@mumpitzstuff:
Das gabe ich versucht, bringt aber noch zu viel quatsch wenn User ihre eigenen befehle einbringen. Es sind sehr viele Einträge aber mit denen ist eine gewisse Unschärfe erlaubt. Aber ich werde da nochmal dran bleiben
Titel: Antw:Neue Modul zur Textsteuerung 98_TEERKO.pm
Beitrag von: Ma_Bo am 04 Juni 2017, 05:18:23
Hallo tiroso,

anbei ein paar Fragen/Anregungen/Feststellungen meinerseits.




Ich habe ein wenig mit deinem Modul gespielt, dabei ist mir direkt beim ersten einrichten eine Frage/Idee gekommen:
- Kannst du für das attr TEERKOAlias mehrere Namen zulassen, welche man mit Komma oder so trennt?




eine Kleinigkeit:
- Wäre es möglich das mir "Das verstehe ich nicht. die Lichterkette im Schlafzimmer einzuschalten war kein Problem." ausgegeben wird. (siehe list)
Internals:
   CFGFN
   NAME       TEERKO
   NR         32386
   NTFY_ORDER 50-TEERKO
   STATE      Das verstehe ich nicht. die Lichterkette Schlafzimmer einzuschalten war kein Problem.
   TYPE       TEERKO
   name       TEERKO
   Readings:
     2017-06-04 05:07:34   Answer          Das verstehe ich nicht. die Lichterkette Schlafzimmer einzuschalten war kein Problem.
     2017-06-04 05:07:34   command         fahre das Rollo IM schlafzimmer nach oben und schalte die lichterkette ein
     2017-06-04 05:07:34   countdevices    2
     2017-06-04 05:07:34   countsubstrings 2
     2017-06-04 05:07:34   countwords      12
     2017-06-04 05:07:34   lastCommand     fahre das Rollo IM schlafzimmer nach oben und schalte die lichterkette ein
     2017-06-04 05:07:34   lastDevices     TEERKO_Rollo_Schlafzimmer,TEERKO_Lichterkette_Schlafzimmer
     2017-06-04 05:07:34   state           Das verstehe ich nicht. die Lichterkette Schlafzimmer einzuschalten war kein Problem.
Attributes:
   TEERKOStructure own
   room       4.29_TEERKO





Wie man an dem list von oben sieht, habe ich gesagt "fahre das Rollo IM schlafzimmer nach oben..."
- Wäre es hier möglich, zusätzlich noch die Worte:

für Hoch
rauf
hinauf
nach oben
auf


für Runter
hinab
ab
zu
nach unten


einzubauen?




Da kommen mir bestimmt noch weitere Ideen/Anregungen/Fragen.  8)

##### EDIT

Kann man das loggen abschalten, dein Modul müllt mir meinen LOG voll ? Verbose steht auf 0
Titel: Antw:Neue Modul zur Textsteuerung 98_TEERKO.pm
Beitrag von: Ma_Bo am 04 Juni 2017, 05:47:11
Folgende Meldungen kommen beim Neustart:

2017.06.04 05:45:23.713 1: PERL WARNING: Smartmatch is experimental at ./FHEM/98_TEERKO.pm line 1170, <$fh> line 13090.
2017.06.04 05:45:23.713 1: PERL WARNING: Smartmatch is experimental at ./FHEM/98_TEERKO.pm line 1174, <$fh> line 13090.
2017.06.04 05:45:23.713 1: PERL WARNING: Smartmatch is experimental at ./FHEM/98_TEERKO.pm line 1205, <$fh> line 13090.
2017.06.04 05:45:23.714 1: PERL WARNING: Smartmatch is experimental at ./FHEM/98_TEERKO.pm line 1209, <$fh> line 13090.
2017.06.04 05:45:23.715 1: PERL WARNING: Smartmatch is experimental at ./FHEM/98_TEERKO.pm line 1278, <$fh> line 13090.
2017.06.04 05:45:23.716 1: PERL WARNING: Smartmatch is experimental at ./FHEM/98_TEERKO.pm line 1290, <$fh> line 13090.
2017.06.04 05:45:23.717 1: PERL WARNING: Smartmatch is experimental at ./FHEM/98_TEERKO.pm line 1357, <$fh> line 13090.
2017.06.04 05:45:23.721 1: PERL WARNING: main::TEERKO_CheckCommand() called too early to check prototype at ./FHEM/98_TEERKO.pm line 1282, <$fh> line 13090.
Titel: Antw:Neue Modul zur Textsteuerung 98_TEERKO.pm
Beitrag von: igami am 04 Juni 2017, 06:25:13
Zitat von: Ma_Bo am 04 Juni 2017, 05:47:11
Folgende Meldungen kommen beim Neustart:

2017.06.04 05:45:23.713 1: PERL WARNING: Smartmatch is experimental at ./FHEM/98_TEERKO.pm line 1170, <$fh> line 13090.
2017.06.04 05:45:23.713 1: PERL WARNING: Smartmatch is experimental at ./FHEM/98_TEERKO.pm line 1174, <$fh> line 13090.
2017.06.04 05:45:23.713 1: PERL WARNING: Smartmatch is experimental at ./FHEM/98_TEERKO.pm line 1205, <$fh> line 13090.
2017.06.04 05:45:23.714 1: PERL WARNING: Smartmatch is experimental at ./FHEM/98_TEERKO.pm line 1209, <$fh> line 13090.
2017.06.04 05:45:23.715 1: PERL WARNING: Smartmatch is experimental at ./FHEM/98_TEERKO.pm line 1278, <$fh> line 13090.
2017.06.04 05:45:23.716 1: PERL WARNING: Smartmatch is experimental at ./FHEM/98_TEERKO.pm line 1290, <$fh> line 13090.
2017.06.04 05:45:23.717 1: PERL WARNING: Smartmatch is experimental at ./FHEM/98_TEERKO.pm line 1357, <$fh> line 13090.
2017.06.04 05:45:23.721 1: PERL WARNING: main::TEERKO_CheckCommand() called too early to check prototype at ./FHEM/98_TEERKO.pm line 1282, <$fh> line 13090.


Anstelle von Smartmatch kann man grep verwerden. Aus

$roomstringtemp_score=$roomstringtemp_score+1000 if($_ ~~ @sub_qgram);

wird dann

$roomstringtemp_score=$roomstringtemp_score+1000 if(grep(/\b$_\b/, @sub_qgram));


Ggen das "called too early to check prototype" hilft es die sub am Anfang einfach einmal zu definieren. Ich mache das immer nach der Initialize sub

sub TEERKO_CheckCommand ($$$);

Wichtig ist, das die angegebenen Argumente mit denen der echten Sub übereinstimmen.

Noch zwei Anmerkungen von mir:
Die ganzen Listen am Anfang sollten meiner Meinung nach auch mit TEERKO_ anfangen. Dann kann es nicht passieren, dass sich das mit selbstgebastelten Lösungen überschneidet. Die Variablennamen sind nicht so spieziell, als das nicht irgendwer die schon mal vergeben haben könnte.

Ich würde das Modul glaube ich unter 39_ einsortieren, da es da auch schon die alexa und siri Module gibt.
Titel: Antw:Neue Modul zur Textsteuerung 98_TEERKO.pm
Beitrag von: tiroso am 04 Juni 2017, 08:46:14
Zitat von: igami am 04 Juni 2017, 06:25:13
Anstelle von Smartmatch kann man grep verwerden. Aus

$roomstringtemp_score=$roomstringtemp_score+1000 if($_ ~~ @sub_qgram);

wird dann

$roomstringtemp_score=$roomstringtemp_score+1000 if(grep(/\b$_\b/, @sub_qgram));


Ggen das "called too early to check prototype" hilft es die sub am Anfang einfach einmal zu definieren. Ich mache das immer nach der Initialize sub

sub TEERKO_CheckCommand ($$$);

Wichtig ist, das die angegebenen Argumente mit denen der echten Sub übereinstimmen.

Noch zwei Anmerkungen von mir:
Die ganzen Listen am Anfang sollten meiner Meinung nach auch mit TEERKO_ anfangen. Dann kann es nicht passieren, dass sich das mit selbstgebastelten Lösungen überschneidet. Die Variablennamen sind nicht so spieziell, als das nicht irgendwer die schon mal vergeben haben könnte.

Ich würde das Modul glaube ich unter 39_ einsortieren, da es da auch schon die alexa und siri Module gibt.

Danke igami :
Da ich in Perl nicht deeeer Überfliegen bin hilft mir sowas weiter. Die von dir genannten Dinge werde ich umsetzen !!!
Titel: Antw:Neue Modul zur Textsteuerung 98_TEERKO.pm
Beitrag von: tiroso am 04 Juni 2017, 13:37:52
@igami:
Ich habe die Sachen soweit umgesetzt...Allerdings habe ich ein paar Fragen:
Dein Vorschlag smartmatch zu entfernen bin ich nachgekommen. Allerdings funktioniert deine Lösung nicht wie gedacht. Wenn ich das eins zu eins bei mir einsetze wird einfach alles gematcht ... selbst wenn es gar nicht im array enthalten ist. Ich habe etwas herumexperimentiert und habe mich dann dafür entschlossen eine kleine Funktion zu schreiben die mir einfach zurück liefert wenn ein Wert in dem Array vorhanden ist oder nicht
sub TEERKO_ValueInArray{
    my ($value, @array) = @_;
    foreach (@array) {
        return 1 if ($_ eq $value);
    }
    return 0;
}

Ist das genauso effizient? Ich will möglichst das verwenden was am wenigsten Ressourcen verwendet.

Das die Listen am besten umbenannt werden leuchtet mir ein. Auch hier habe ich Abhilfe geschaffen.

Was mir noch nicht ganz einleuchtet sind die Namensbezeichnungen...
Ist es mittlerweile nicht egal welche Nummerierung man vor die Module setzt solange es nicht (historisch bedingt) 99_* ist? Oder versuchen die Modulschreiber trotzdem einer gewissen Nummerierung zu folgen? Ansonsten muss ich dir Recht geben, es wäre bei 39_* besser aufgehoben, aber wodurch ist die 39 entstanden?

Danke für den Tipp die Funktion CheckCommand am Anfang zu definieren. Jetzt hatte ich nur ein Problem. Ich dachte es wäre "sauberer" wenn ich alle subs am Anfang definiere. Wenn ich das mache werden die aber nicht mehr Korrekt aufgerufen und das Matching mit der Funktion TEERKO_ValueInArray funktioniert nicht mehr(weder Fehlermeldung noch Warnung). Hast du einen Tip woran das liegen könnte?

Danke für die Ratschläge
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: yrwyddfa am 05 Juni 2017, 16:44:08
Hallo Tiroso,
wie versprochen habe ich das Modul mal eingebunden. Ich finde die Idee charmant, gezielt Geräte für die Sprachsteuerung zuzulassen. Das ist zwar erst mal etwas aufwändig, weil man alle Devices noch mal anfassen muss, ein Sicherheitsaspekt ist es aber auf alle Fälle.

Derzeit vermiss ich noch die Heizungssteuerung, nach der Lichtsteuerung ja die wohl am meisten genutzte SmartHome-Funktion.

Das Thema mit dem "Zumüllen" der log kann ich bestätigen, dein Modul ist noch ziemlich "chatty".

Auch das Thema "Hashes" würde ich gern noch mal aufgreifen - ich denke, um die Sprache von den Devices zu trennen würde sich rivescript sehr gut eignen, das Modul 42_TALKTOME.pm nutzt dieses Sprachscript ja auch, und durch seine einfache Erlernbarkeit kann man Dein Modul hier in meinen Augen massiv aufwerten. Bezüglich Struktur in Rive sind wir hier im Forum ja schon dran, ich hoffe, dass wir hier eine sinnvolle Struktur aufgebaut bekommen, dass man dadurch einfacher Texteingaben nach eigenem Bedürfnis abändern und/oder ergänzen kann.

Noch etwas wird aus der (momentanen) Dokumentation nicht klar: Was muss getan werden, um TEERKO via AMAD zu steuern? Braucht es einen eigenen Flow in Autovoice? Lässt sich das Flow von CoolTux als Grundlage nehmen und wo hin muss der erkannte Text dann gehen?

Liebe Grüße,

der mit den vielen Buchstaben ;) 
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: CoolTux am 05 Juni 2017, 16:59:20
Es bedarf keinen direkten eigenen Flow. Alles was ausgelöst werden muss ist der Flow VoiceControl der gestartet wird wenn man set AMADEVICE activatVoiceInput macht. Zum jetzigen Zeitpunkt muss der Flow VoiceControl aber noch angepasst werden. Die Schleife für das "und" muss raus.


Ich habe in der Version 4 ein Attribut für die Bridge drin. fhemControlMode zulässig ist trigger,setControl und thirdPartControl.
In Fall von Teerko wäre es dann thirdPartControl.
Titel: Antw:Neue Modul zur Textsteuerung 98_TEERKO.pm
Beitrag von: igami am 05 Juni 2017, 21:09:24
Zitat von: tiroso am 04 Juni 2017, 13:37:52
Dein Vorschlag smartmatch zu entfernen bin ich nachgekommen. Allerdings funktioniert deine Lösung nicht wie gedacht. Wenn ich das eins zu eins bei mir einsetze wird einfach alles gematcht ... selbst wenn es gar nicht im array enthalten ist.
Hmm, ich habe es mit folgendem Code eben noch mal getestet. Einfach in die FHEM Kommandozeile kopieren und enter drücken.

{my @array = (1, 2, 3, 4, 56);;
my @test = (1, 3, 42);;
my $msg;;

foreach my $i (@test){
   if(grep(/\b$i\b/, @array)){
     $msg .= "$i ist im Array enthalten\n";;
   }
   else{
     $msg .= "$i ist NICHT im Array enthalten\n";;
   }
}

return $msg;;
}

Bei mir kommt dann folgendes raus:

1 ist im Array enthalten
3 ist im Array enthalten
42 ist NICHT im Array enthalten


Zitat von: tiroso am 04 Juni 2017, 13:37:52
Was mir noch nicht ganz einleuchtet sind die Namensbezeichnungen...
Ist es mittlerweile nicht egal welche Nummerierung man vor die Module setzt solange es nicht (historisch bedingt) 99_* ist? Oder versuchen die Modulschreiber trotzdem einer gewissen Nummerierung zu folgen? Ansonsten muss ich dir Recht geben, es wäre bei 39_* besser aufgehoben, aber wodurch ist die 39 entstanden?
Es hat keine Relevanz mehr, aber im Wiki (https://wiki.fhem.de/wiki/DevelopmentModuleIntro#Dateiname) steht folgendes:
Zitat
Die allgemeine Empfehlung ist hierbei eine Schlüsselnummer eines Moduls zu verwenden, welches eine ähnliche Funktionalität bietet.

Zitat von: tiroso am 04 Juni 2017, 13:37:52
Danke für den Tipp die Funktion CheckCommand am Anfang zu definieren. Jetzt hatte ich nur ein Problem. Ich dachte es wäre "sauberer" wenn ich alle subs am Anfang definiere. Wenn ich das mache werden die aber nicht mehr Korrekt aufgerufen und das Matching mit der Funktion TEERKO_ValueInArray funktioniert nicht mehr(weder Fehlermeldung noch Warnung). Hast du einen Tip woran das liegen könnte?
Da kann ich dir leider nicht weiterhelfen, ich baue das bei meinen Modulen überalle so ein, ohne das es Probleme gibt. Vielleicht einfach mal Stückchenweise probieren um den Fehler einzugrenzen ;)
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: CoolTux am 07 Juni 2017, 07:28:27
@Tiroso
Lese Dir mal bitte den Teil "AmmadCommBridge" unter "neue Funktionen/Feature (https://forum.fhem.de/index.php/topic,72373.msg640116.html#msg640116)" durch.


Für alle Anderen welche das Modul gerne mit AMAD verwenden möchten, empfehle ich ein Update auf AMAD 4.0 (AMADNG) zu machen. Dort wird dieses Modul bereits unterstützt.
Bitte beachtet die entsprechende Attribut Einstellung in der Bridge.
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: tiroso am 07 Juni 2017, 13:36:38
Ihr habt vollkommen Recht ich habe vergessen die harten LOG Einträge rauszunehmen. Das ist natürlich ein absolutes NoGo.
Ich habe die korrigierte Version angehangen. Da sind wenigstens die ganzen Einträge weg.
Echt schrecklich, da muss ich euch Recht geben.

@Ma_Bo:
Ich werde natürlich in Zukunft weitere Keywords integrieren.

@yrwyddfa:
Ich habe vor mit dem Modul wirklich ein eigenes "Frontend" zusammenzubauen. Natürlich müssen dann noch weitere Funktionalitäten folgen. Das wird natürlich aufgrund der vielen Geräte die man mit FHEM steuern kann eine Weile dauern. Ich werde mit HM Stellvetilen anfangen und dann mal weiter machen. Streng genommen ist es bis jetzt nicht nur eine Lichtsteuerung. Durch das flexible anpassen der Befehle kannst du auch einer Structur sagen Sie soll ausschalten. Du kannst eigentlich alle Geräte ein oder ausschalten oder hoch runter fahren usw. Natürlich fehlen dann die benötigten Keywords (Ma_Bo) um das ganze abzurunden. Als nächstes steht auf meiner Agenda das Abfragen von Temperaturen (Geräte oder Raumbezogen)
Um TEERKO via AMAD zu steuern muss das Attr AMADDevice in dem TEERKO Device setzen.


Ich werde die UserdefiniertenBefehle noch überarbeiten. Das ist alles noch was ...strange...

@CoolTux: Danke dir herzlichst... :) Das macht es was leichter. Aber das Reading in der AMADCommBridge bleibt doch das gleiche oder?
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: CoolTux am 07 Juni 2017, 13:42:32
Zitat von: tiroso am 07 Juni 2017, 13:36:38
@CoolTux: Danke dir herzlichst... :) Das macht es was leichter. Aber das Reading in der AMADCommBridge bleibt doch das gleiche oder?

Selbstverständlich. Steht auch so im verlinkten Post. Bleibt alles soweit gleich. Ist zwar bisschen doof weil auch die Einstellung trigger die selben Readings füllt, aber ich denke mal das ich es gut platzieren werde in der Commandref.



Grüße
Titel: Antw:Neue Modul zur Textsteuerung 98_TEERKO.pm
Beitrag von: tiroso am 09 Juni 2017, 03:43:54
Zitat von: Ma_Bo am 04 Juni 2017, 05:18:23

- Kannst du für das attr TEERKOAlias mehrere Namen zulassen, welche man mit Komma oder so trennt?

- Wäre es möglich das mir "Das verstehe ich nicht. die Lichterkette im Schlafzimmer einzuschalten war kein Problem." ausgegeben wird.

Wie man an dem list von oben sieht, habe ich gesagt "fahre das Rollo IM schlafzimmer nach oben..."
- Wäre es hier möglich, zusätzlich noch die Worte:

für Hoch
rauf
hinauf
nach oben
auf

für Runter
hinab
ab
zu
nach unten

einzubauen?

Kann man das loggen abschalten, dein Modul müllt mir meinen LOG voll ? Verbose steht auf 0

Ma_Bo:
Die Keywords sind hinzugefügt.

Präpositionen und Artikel werden gefiltert und der Antwort korrekt hinzugefügt. In deinem Fall:
Die Licherkette im Schalfzimmer  einzuschalten war kein Problem.

Es besteht die Möglichkeit mehrere TEERKOAliase oder TEERKORäume in einem Device zu setzen. (Komma getrennt). Somit kann ein zb ehemaliges TEERKOAlias "Deckenlampe" nun auch "Deckenlampe,Beleuchtung,Zimmer Lampe, ..." heißen. Natürlich wird auch  das passende Alias in der Antwort verwendet

Log ist derzeit stark minimiert...Ich muss da noch an den richtigen stellen nachbessern damit man auch damit abeiten kann. Also gibts jetzt gerade keinen ^^
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: Ma_Bo am 09 Juni 2017, 16:12:08
Sehr cool, werde ich die Tage testen...
Jetzt muss ich nur noch schauen, wie ich die Antwort aus deinem Modul in eine sub bekomme... ich brauche diese sub um Alexa antworten zu lassen, bzw. mit der sub wird der Text, welcher von Alexa kommt, in ein Reading eines dummys geschrieben und damit dein Modul gefüttert...


Gesendet von iPhone mit Tapatalk
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: CBSnake am 09 Juni 2017, 19:31:20
Hi,

hab es eben getestet, klappt prima. Bisher hab ich aber auch nur eine Lampe hinzugefügt :-)
Ein "kleiner" Wunsch, bisher nutzen meine Frau und ich schon Telegram zur Steuerung, im Hintergrund ist ein Mega-DOIF, welche die ankommenden Nachrichten auf bestimmte Wörter, z.B. PC an etc abgleicht, das DOIF kann den Chat meiner Frau und meinen händeln, selbst die Nachbarin die ab und an den Trockner nutzt hängt mit drin :-)
Lange Rede kurzer Sinn, würden mehr als eine PeerId gehen oder mach ich da lieber 2 Teerkos?

Grüße
Achim
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: tiroso am 09 Juni 2017, 21:04:05
Ich habe pro TEERKO nur eine PeerId oder ein Amad device. Damit am Schluss auch jeder seine eigenen benutzerdefierten Befehle hat (der Part muss von mir noch stark überarbeitet werden)
Auch Für zukünftige Features hatte ich mir vorgenormen immer nur ein Peer zu haben.
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: tiroso am 09 Juni 2017, 21:06:14
Zitat von: Ma_Bo am 09 Juni 2017, 16:12:08
Sehr cool, werde ich die Tage testen...
Jetzt muss ich nur noch schauen, wie ich die Antwort aus deinem Modul in eine sub bekomme... ich brauche diese sub um Alexa antworten zu lassen, bzw. mit der sub wird der Text, welcher von Alexa kommt, in ein Reading eines dummys geschrieben und damit dein Modul gefüttert...


Gesendet von iPhone mit Tapatalk

Mit Alexa kenne ich mich leider so gaaaaar nicht aus. Sollte es aber möglich sein die commands anzugreifen ohne das amazon irgendwas schaltet und waltet uuuuund die tts auf dem dot zu realisieren wäre das natürlich seeeeehr interessant.
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: CBSnake am 10 Juni 2017, 13:00:25
Hi,

hat problemlos mit zwei TEERKO Device geklappt, die Telegram anbindung habe ich aber wieder rausgenommen, TV an geht halt schneller als schalte den TV im Schlafzimmer an ;-) ich denke das Modul macht mit Sprache mehr Sinn, wenn es nur nicht so "umständlich" wäre diese von Anddoid zu FHEM zu bringen :-)

Grüße

Achim
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: tiroso am 10 Juni 2017, 13:14:40
Wenn TV das einzige Device ist was du so genannt hast kannst du es auch ohne Raum sagen...
Der Raum wird halt sinnvoll wenn du mehrere Geräte hast die so heißen.

Wenn du einen im Schlafzimmer und Wohnzimmer hast die auch genau gleich heißen, dann musst du noch "im Schlafzimmer" oder "im Wohnzimmer" sagen

Es wäre dann in deinem Fall gekürzt "Schalte TV ein"  ;)
Aber du hast schon Recht. Es wird kürzer wenn man seine FHEM Geräte kennt und so auch dann anpasst.

Ich hatte mal eine Testversion in der konnte das Modul Sprachnachrichten von Telegram über Google umsetzen....da musste man seinem Bot nur ne Sprachmessage schicken. Aber leider war mir das zu instabil...Vielleicht kommt es irgendwann wieder rein
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: tiroso am 10 Juni 2017, 14:46:41
Jetzt auch mit Temperaturabfrage...
Entweder für ein Gerät oder einen Raum.

Sollte das abzufragende Gerät eine Structure sein, wird in jedem Gerät innerhalb der Structure nach Temperaturen gesucht.

Sollte man nur für einen Raum die Temperatur abgefragt werden, so wird entweder die Temperatur eines Gerätes innerhalb des Raumes zurückgegeben oder ein durchschnittswert wenn mehrere Geräte gefunden werden.

Beispiel1:
"Wie warm ist es im Wohnzimmer"
oder
"Wie kalt ist es im Wohnzimmer"
oder
"Wie ist die Temperatur im Wohnzimmer"
(Es müssen Geräte mit einem Temperatur Reading das Attr TEERKORoom Wohnzimmer gesetzt haben)

Rückgabe:
Die Temperatur im Wohnzimmer beträgt xx,xx Grad

Beispiel2:
"Wie warm ist der Temperatursensor im Wohnzimmer"
oder
"Wie kalt ist der Temperatursensor im Wohnzimmer"
oder
"Wie ist die Temperatur des Temperatursensors im Wohnzimmer"
(Es muss ein Gerät mit einem Temperatur Reading das Attr TEERKOAlias Temperatursensor TEERKORoom Wohnzimmer gesetzt haben)

Rückgabe:
Die Temperatur des Temperatursensors im Wohnzimmer beträgt xx,xx Grad


Achtung:
User Konfigurationen gehen vor. Das Keyword Temperatur, warm oder kalt gelten in TEERKO als Spezialkeywords...Sollte ein Device den Namen Temperatur, warm oder kalt haben funktioniert dieser Spezialbefehl nicht mehr
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: tiroso am 18 Juni 2017, 06:45:30
Hallo,

Die User Definierten Befehle waren vorher seeehr umständlich. Ich habe den Part nun geändert.
Benutzerdefinierte Befehle werden in einer externen Datei festgelegt. Somit kann man diese auch im nachhinein ändern.

User definierte Befehle - Datei
Es ist möglich eigene Befehle in einer externen Datei abzulegen.
Die Datei muss folgenden Aufbau haben

[command]
in=wie geht es dir (heute|jetzt)
out=gut
fhem=set testdummy on

[command]
in=was geht jetzt
out=Keine Ahnung
fhem=set testdummy2 off
activ=0

[command]
in=ich.*arbeit
out=viel spass
fhem=set anwesenheit work



Wenn der Befehl mit "in" matched dann wird "out" zurückgegeben und "fhem" ausgeführt. "fhem" muss nicht mit angegeben werden. Wird "out" nicht mit angegeben wird standart "ok" zurückgegeben. Mit dem Parameter "activ" kann man einen Befehl aktivieren oder deaktivieren.

Sollte ein Benutzerdefinierter Befehl auf den Befehl passen wird dieser nicht mehr mit den internen Schaltungen abgeglichen

Die benutzerdefinierte Datei wird eingelesen per
set <TEERKO Device> ReadUserFile <file>

Wenn in "out" Readings stehen sollen werden diese folgendermaßen dargestellt:

Reine "state" Angabe:
out=Der Status der Lampe ist %device%
bestimmtes Reading:
out=Die Temperatur beträgt %device:temperature%
bestimmtes Reading in der Angaben ersetzt werden sollen:
out=Die Haustür ist %device:state:opened=geöffnet&closed=geschlossen%

Um nicht immer wieder den Pfad angeben zu müssen kann man diesen unter dem Attr UserDefFile speichern. Danach kann man das ReadUserFile ohne Pfadangabe ausführen.

Durch die User Befehle könnt ihr euxh ggf viele Notifys sparen...
Feedback gewünscht ^^
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: tiroso am 18 Juni 2017, 12:12:22
Sorry Leute.
Die User definierte Datei war noch von mir Hardcoded. ..

Jetzt nicht mehr. Bitte nochmals herunterladen
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: eurolift am 18 Juni 2017, 13:34:06
Bin gerade am testen.Super Sache :). Kann man den Speicherort irgendwo fest hinterlegen?
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: tiroso am 18 Juni 2017, 13:48:16
Oh ja klar. Hatte ich vergessen zu hinterlegen.

attr <TEERKO Device> UserDefFile /opt/fhem....

Somit brauchst du "nur" noch ReadUserFile ohne Pfadangabe
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: yrwyddfa am 19 Juni 2017, 14:50:34
Hallo tiroso,

wäre es möglich, hier auch rive-Dateien anzugeben/zu integrieren? Die lassen sich ja sehr intuitiv schreiben.

LG

Yw
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: tiroso am 19 Juni 2017, 15:04:37
Hey.
Dafür habe ich mich mit RS zu wenig auseinander gesetzt. Sprich ich habe es nicht drin und es erstmal auch nicht vor.  Mein Modul soll keine richtigen Dialoge aufbauen.
Auf ein Befehl soll maximal eine Antwort folgen gepaart mit ggf Fhem commands.
Kannst du mir mal eine RS datei zur Verfügung stellen? Vllt kann ich da ja was machen.

Gruß
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: yrwyddfa am 19 Juni 2017, 17:00:31
Gern! Kommt, wenn ich wieder an meinem Rechner bin :)
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: yrwyddfa am 25 Juni 2017, 21:30:13
So, sorry for me took so long. Hier sind ein paar Beispieldateien, eine Kombination aus Spielerei und fhem-Abfragen, allerdings alles noch ziemlich alpha-Status. Wenn Du Fragen hast, immer zu, ansonsten gibt es bezüglich Rivescript ein super Tutorial hier:

https://www.rivescript.com/docs/tutorial
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: tiroso am 25 Juni 2017, 21:48:07
Kein Problem...
Habe mich aber doch verschluckt. :D Das sieht interessant aus, werde ich aber so nicht übernehmen können.

Ich muss zugeben das ich mit dem Modul etwas eigenes versucht habe zu konstruieren. Und so wie ich es umsetze, funktioniert es komplett anders als RS.
Ich hatte jetzt aber nur das Script für Statusabfrage geöffnet. Was mir aber auch aufgefallen ist...Du musst dort wieder jeden einzelnen Raum bzw Reading angeben. Ich versuche mein Modul möglichst flexibel zu gestalten. Mein Modul nimmt bei einer Temperatur abfrage für einen Raum alle Temperatur Readings die er in dem Raum finden kann, und bildet einen Mittelwert

Tut mir Leid aber das wird nichts. Ich weiß leider auch nicht wie ich mein Modul in Richtung mehrfachen Dialog gestalten soll...Vielleicht irgendwann, da würde ich dann nochmal Bescheid geben.

Aber ein paar Befehle kannst du auch in meinem Benutzerdefinierten Part einbauen. Damit könnte es gehen.....
Vielleicht baue ich das auch nochmal um oder erweiter es das zumindest Teile eines RS erkannt werden....
Ich werde mir mal mehr Gedanken drum machen ^^

Gruß und schönen Abend
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: yrwyddfa am 26 Juni 2017, 08:40:44
Danke dir fürs drüberschauen!
Ich denke, so unterschiedlich ist deine user defined file zu rivescript, lediglich die Syntax variiert ein wenig. Dein .* entspricht in rs zum Beispiel dem


[*]


Statt "in" wird als trigger + verwendet, statt out das -

Der fhemaufruf wird über ein <call>fhem ... </call> realisiert, welcher bei dir in der fhem= Zeile steht,

Spannend an rivescript ist, dass du Bedingungen angeben kannst, also zb. Antwort a) nur gegeben wird, wenn der bot gute Laune hat, ansonsten würde Antwort b) gegeben.

Die Option, dass Antworten unterschiedlich ausfallen können ist indess ein echter Mehrwert, da auf die selbe Aktion nicht immer eine identische Bestätigung kommt (kommen muss).

Eventuell lässt sich ja auch eine Kombilösung finden? Ich helf gern, wenn ich kann!

Edith hat die Syntax verbessert.
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: tiroso am 01 Juli 2017, 21:09:52
Neue Funktion: Abfrage der Räume und Devices
Hallo Leute,
Noch keine Erweiterung der Befehlserkennung, da komme ich im Moment was schleppender voran.
Aber eine Erweiterung für die Übersichtlichkeit in FHEM

get <TEERKO Device> Information all|rooms|devices

Abfrage über die Devices die mit dem Modul TEERKO in Kontakt kommen. Entweder Räume und Devices oder jeweils einzeln
Diese können auch fest in Fhem eingebunden werden:
define TeerkoDevices weblink htmlCode { TEERKO_HtmlDevices() }
define TeerkoRooms weblink htmlCode { TEERKO_HtmlRooms() }

Ich hoffe ich komme dazu in den nächsten Tagen weitere Befehlssätze aufzunehmen
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: tiroso am 02 Juli 2017, 02:47:32
Neue Funktion: Steuern von Sonos Boxen
Man hat nun die Möglichkeit SonosBoxen zu integrieren.
durch setzen des Attributs SonosIntegration am TEERKODevice und TEERKOControl an den Sonos Boxen kann man Sonos Boxen ansteuern.

Sofern kein passendes Device gefunden wird aber die Keywords im Satz enthalten sind, geht das TEERKO Device davon aus das Sonos Boxen gesteuert werden sollen. Es wird nach einem Raum in dem Satzteil gesucht. Sollte kein Raum vorhanden sein, wird der für die Sonos Boxen zu letzt verwendete benutzt. Sollten mehrere Rooms genutzt werden wollen können diese noch über TEERKORoom gesetzt werden. Diese werden dann auch berücksichtigt.

Beispiel:
Schalte Sonos im Wohnzimmer ein
Ist einmal ein Raum gegannt worden wird dieser für zukünftige Befehle gespeichert
Schalte Sonos aus, Sonos aus, Stop Sonos
Erst nach nennen eines anderen Raumes wird der Standartplayer geändert.

Derzeit werden nur für Sonos Geräte folgende Befehle unterstützt:

  • Schalte Sonos (aus|ein)
  • (Stoppe|Stop|Starte|Pausiere) Sonos
  • Stelle die Sonos Lautstärke (lautlos|ohne Ton)
  • Stelle die Sonos Lautstärke auf 15
  • Sonos nächstes Lied
  • Sonos vorheriges Lied

Ich arbeite weiter an Playlist..Radio..Lied weiter, zurück..etc...aber somit ist eine einfache Steuerung gegeben
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: hartenthaler am 02 Juli 2017, 18:33:34
Super neues Modul! Danke! Lies sich völlig problemlos installieren und die Steuerung per Telegram hat auf Anhieb funktioniert.
Licht an/aus funktioniert problemlos. Aber mit Markise und Garagentor habe ich noch Probleme. Das Modul versteht mich entweder nicht oder sagt, dass es keine Berechtigung habe, obwohl im Device auf 1 gesetzt (siehe ScreenShot). Was kann ich ändern oder testen?
Leicht irritieren tun mich die Leerzeichen vor den TEERKO-Raumnamen; kommt wohl dadurch, dass ich bei der Definition in der Liste nach dem Komma ein Leerzeichen gemacht habe. Kannst Du das im Modul abfangen oder soll ich es bei der Definition ändern?
PS: ich habe noch ein paar Tippfehler gefunden, die das Modul in der Kommunikation von sich gibt. Soll ich Dir eine Liste zusammenstellen?
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: tiroso am 02 Juli 2017, 19:02:15
Hey.

Danke.
Ja lass mir mal eine Liste zukommen. Im Moment sind viele Texte noch die, die ich von Anfang an drin habe. (Tippfehler und RechtschreibFehler inklusive; ))

Ja es liegt definitiv an den Leerzeichen. Im Moment fange ich das noch nicht im Modul ab. Ich kann später aber mal nachsehen das ich das behebe.
In der Zeit würde ich dir raten die TEERKOALias und TEERKORoom zwar mit Komma zu trennen aber ohne führende oder endende Leerzeichen.
Garagentor,Tor
Westbalkon,Balkon Wohnzimmer,Wohnzimmerbalkon

Dann sollte es eigentlich wieder klappen.

[EDIT]Ich sehe mir das gerade nochmal an....Den Befehl Öffne und Schließe habe ich nicht in meinem Befehlssatz. Danke das werde ich auch mit aufnehmen.

FYI:
Du kannst Befehle wiederholen  (Wiederhole den Befehl, Mach das nochmal)
Du kannst das letzte Device auch mit Gerät,Aktor nochmals ansprechen (Fahre das Gerät auf 50%, Schalte den Aktor aus)

Gruß
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: tiroso am 02 Juli 2017, 19:10:34
Achja. Um HueDevice8 ansteuern zu können braucht das Device noch ein TEERKOAlias. Deckenlampe oder Beleuchtung oder wie es auch heissen mag
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: hartenthaler am 02 Juli 2017, 22:59:37
Für das Device HueDevice8 komme ich auch ohne TERRKOAlias aus, der normale fhem-Alias tut es auch. Die Raum-Aliase habe ich nun ohne Leerzeichen eingegeben, sieht besser aus, aber funktioniert dennoch nicht.
Ich kann die Markise nicht bewegen. Egal was ich mache, es kommt immer "Gerät gibt es nicht". Habe den TERRKO-Alias auch geändert, aber keine Änderung.
Hier ein List des Gerätes:

Internals:
   CFGFN      ./FHEM/homematic.cfg
   DEF        455259
   HMLAN1_MSGCNT 2
   HMLAN1_RAWMSG R03AC9F6F,0001,2F8BCB84,FF,FFBD,7FA410455259200DB80601000042
   HMLAN1_RSSI -67
   HMLAN1_TIME 2017-07-02 16:20:31
   IODev      HMLAN1
   LASTInputDev HMLAN1
   MSGCNT     2
   NAME       Markise.Wohnzimmerbalkon
   NOTIFYDEV  global
   NR         788
   NTFY_ORDER 50-Markise.Wohnzimmerbalkon
   STATE      hoch
   TYPE       CUL_HM
   lastMsg    No:7F - t:10 s:455259 d:200DB8 0601000042
   protLastRcv 2017-07-02 16:20:31
   protSnd    2 last_at:2017-07-02 16:20:31
   protState  CMDs_done
   rssi_HMLAN1 avg:-66 lst:-66 cnt:1 max:-66 min:-66
   rssi_at_HMLAN1 avg:-67 max:-67 cnt:2 min:-67 lst:-67
   Readings:
     2017-05-10 09:01:25   CommandAccepted yes
     2016-11-19 15:30:07   D-firmware      2.8
     2016-11-19 15:30:07   D-serialNr      NEQ0112032
     2016-12-22 11:27:31   PairedTo        0x200DB8
     2016-11-19 15:31:19   R-driveDown     28 s
     2016-11-19 15:31:19   R-driveTurn     0.5 s
     2016-11-19 15:31:19   R-driveUp       30 s
     2016-11-19 15:31:18   R-pairCentral   0x200DB8
     2016-11-19 15:31:19   R-sign          off
     2016-12-22 11:27:31   RegL_00.        02:01 0A:20 0B:0D 0C:B8 15:FF 18:00 00:00
     2016-12-22 11:27:35   RegL_01.        08:00 09:00 0A:00 0B:01 0C:18 0D:01 0E:2C 0F:05 10:00  30:06 57:24 56:00 00:00
     2017-07-02 16:20:31   deviceMsg       off (to VCCU)
     2017-07-02 16:20:31   level           0
     2017-07-02 16:20:31   motor           stop:off
     2017-07-02 16:20:31   pct             0
     2016-12-22 11:26:55   powerOn         2016-12-22 11:26:55
     2017-07-02 16:20:31   recentStateType info
     2017-07-02 16:20:31   state           off
     2017-07-02 16:20:31   timedOn         off
   Helper:
     HM_CMDNR   127
     cSnd       ,01200DB8455259010E
     mId        0005
     rxType     1
     supp_Pair_Rep 0
     Dir:
       cur        stop
     Expert:
       def        1
       det        0
       raw        1
       tpl        0
     Io:
       newChn     +455259,00,00,00
       nextSend   1499005231.3744
       rxt        0
       vccu       VCCU
       p:
         455259
         00
         00
         00
       prefIO:
         HMLAN1
     Mrssi:
       mNo        7F
       Io:
         HMLAN1     -65
     Prt:
       bErr       0
       sProc      0
       Rspwait:
     Q:
       qReqConf
       qReqStat
     Role:
       chn        1
       dev        1
       prs        1
     Rpt:
       IO         HMLAN1
       flg        A
       ts         1499005231.21555
       ack:
         HASH(0x53xxxx)
         7Fxxxx
     Rssi:
       Hmlan1:
         avg        -66
         cnt        1
         lst        -66
         max        -66
         min        -66
       At_hmlan1:
         avg        -67
         cnt        2
         lst        -67
         max        -67
         min        -67
     Tmpl:
Attributes:
   IODev      HMLAN1
   IOgrp      VCCU:HMLAN1
   TEERKOAlias xyz
   TEERKOControl 1
   TEERKORoom Wohnzimmerbalkon,Westbalkon,Balkon Wohnzimmer
   autoReadReg 4_reqStatus
   devStateIcon hoch:fts_sunblind_0@green runter:fts_sunblind_100@red 9\d.*:fts_sunblind_90@black 8\d.*:fts_sunblind_80@black 7\d.*:fts_sunblind_70@black 6\d.*:fts_sunblind_60@black 5\d.*:fts_sunblind_50@black 4\d.*:fts_sunblind_40@black 3\d.*:fts_sunblind_30@black 2\d.*:fts_sunblind_20@black 1\d.*:fts_sunblind_10@black 0\d.*:fts_sunblind_100
   eventMap   on:runter off:hoch
   expert     2_raw
   firmware   2.8
   group      Markise
   model      HM-LC-BL1-FM
   peerIDs    00000000,
   room       41_Balkone,Homematic,Markise
   serialNr   NEQxxxxx
   subType    blindActuator
   webCmd     hoch:runter:pct
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: tiroso am 02 Juli 2017, 23:30:31
Hmm...wenn es das normale Fhem alias tut ist das noch ein Fehler meinerseits.

Es sollte so sein das entweder FHEM Alias/FHEM Room oder TEERKO Alias/TEERKO Room funktionieren.

Also sollte in dem TEERKO Device das Attribut TEERKOStructure entweder nicht gesetzt oder auf own stehen.
In dem zu steuernden Device sollte TEERKOAlias auf Markise stehen, TEERKOControl auf 1 und TEERKORoom auf Wohnzimmerbalkon,Westbalkon,Balkon Wohnzimmer

Setze mal in dem TEERKO Device verbose auf 5.

Und dann probiere mal folgendes:
Schalte die Markise aus
Schalte die Markise an
Schalte die Markise auf dem Westbalkon aus
Schalte die Markise auf dem Westbalkon an

Und dann sage mir mal was passiert und was im Log steht
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: hartenthaler am 03 Juli 2017, 00:30:28
Aha! entweder - oder! Ich dachte, dass der TERRKOStructure-Wert "fhem" neben den TERRKO Aliase die fhem-Aliase zusätzlich verfügbar macht. Ich hatte es auf "fhem" stehen. Daher haben die gesetzten TERRKO-Aliase nicht funktioniert. Jetzt habe ich den Wert auf "own" gesetzt und schon bewegt sich die Markise. Fährt rein und raus und lies sich auf 50% fahren. Werde morgen weiter testen. Danke für Deinen entscheidenden Hinweis! Und die HUE-Lampe wird nun korrekterweise unter ihrem fhem-Alias nicht mehr gefunden.

Das Garagentor ist etwas anders, das kennt open, close und stop als Befehle. Die Übersetzung muss ich TERRKO wohl morgen beibringen.

Neuer Punkt: Ich bekomme öfters den Hinweis "Eine Batterie ist nicht mehr ok. Betroffenes Gerät: hue_switch_1". Aber das Device sagt: Battery 100%. Hier ein list

Internals:
   CFGFN      ./FHEM/hue.cfg
   DEF        sensor 3 1 IODev=huebridge1
   ID         S3
   INTERVAL   1
   IODev      huebridge1
   NAME       hue_switch_1
   NR         953
   STATE      unknown
   TYPE       HUEDevice
   lastupdated 2017-07-02 23:38:30
   manufacturername Philips
   modelid    RWL021
   name       Dimmer Flur
   on         1
   reachable  1
   swversion  5.45.1.16265
   type       ZLLSwitch
   uniqueid   00:17:88:01:10:32:d5:a0-02-fc00
   Readings:
     2017-07-01 11:11:16   Taste           dim_up
     2017-07-02 23:38:30   battery         100
     2017-07-02 23:38:30   reachable       true
     2017-07-02 23:38:30   state           3003
   Helper:
     devtype    S
     reachable  0
     update_timeout 1
     Setlist:
Attributes:
   IODev      huebridge1
   alias      HUE Dimmer Flur
   comment    3003: lang anhaltender Tastendruck dim_down
Die Tasten haben folgende Funktionen: erste Betätigung kurz, nachfolgende Betätigungen kurz, lang anhaltende Betätigung
   eventMap   1002:on 2002:dim_up 3002:dim_down 4002:off
   group      Taster_HUE
   icon       hue_filled_hds
   room       Fernbedienung,HUEDevice
   stateFormat Taste
   subType    switch
   userReadings Taste
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: tiroso am 03 Juli 2017, 01:22:38
Sehr gut...Ich habe auch auf meiner ToDo die Anleitung zu überarbeiten und verständlicher zu schreiben.

Wie gesagt, Öffnen und Schließen habe ich noch nicht in dem Befehlssatz drin. Als Workaround kann ich nur folgendes empfehlen:
Du kannst sagen: Fahre das Garagentor hoch oder Fahre das Garagentor runter
In dem Device Garagentor setzt du dann die Attribute TEERKOUp open und TEERKODown close...Dann kannst du das Garagentor wenigstens so erstmal steuern.

Mit der Batterie. Sofern das Attribut informlowbatterie gesetzt ist greife ich alle Events auf die mit Batterie zu tun haben und informiere sobald diese ungleich "ok" sind...das trifft ja in deinem Fall zu, ist aber natürlich nicht korrekt.
Das muss ich auch überarbeiten...Vllt alles was kleiner 20 ist
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: buchner51 am 06 Juli 2017, 20:02:29
Hallo zusammen,

das Modul ist genau das was ich gesucht habe, kann mir jemand erklären oder wonach ich suchen muß?

Wie verknüpfe ich das Mico bez. Lautsprecher mit dem Modul?

Danke
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: CoolTux am 06 Juli 2017, 20:10:01
Mikro oder Lautsprecher von was?
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: buchner51 am 06 Juli 2017, 20:12:55
Wie kommt den meine Sprache ins Modul? Über ein Mikro welches ich an meinen Banana anschließen muß,oder?

gruß
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: CoolTux am 06 Juli 2017, 20:49:03
Ich weiß erstmal persönlich nur das Du AMAD nehmen kannst. Also ein Androidgerät für VoiceInput. Sprachausgabe kommen dann wohl auch darüber.
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: tiroso am 06 Juli 2017, 21:42:19
Hey.
Es geht in dem Modul nur um Text Processing. Für die Sprache bzw Texte bediene ich mich an den Readings anderer Module ( Wie z.b. AMAD NG von CoolTux oder TelegramBot) Ausserdem gibt es die Möglichkeit selber Text an dem Modul einzugeben.  Was dir die Möglichkeit gibt auch aus anderen Modulen / Scripten deinen Text auswerten zu lassen.

Jetzt wo du es ansprichst werde ich noch das TTS Modul zur Ausgabe mit reinnehmen.
Ich hoffe du findest einen guten Weg bzw das es dir reicht.
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: tiroso am 07 Juli 2017, 22:53:43
Zitat von: hartenthaler am 03 Juli 2017, 00:30:28
Neuer Punkt: Ich bekomme öfters den Hinweis "Eine Batterie ist nicht mehr ok. Betroffenes Gerät: hue_switch_1". Aber das Device sagt: Battery 100%.

Hey.
Ich habe das jetzt behoben. Ich weiß im Moment geht es was schleppend, habe viel um die Ohren.
Gemeldet werden Batterien die nicht mehr Ok sind oder unter 10 fallen. Die Meldung wird dann nur einmalig generiert...Selbst wenn das Event öfters auftreten sollte.

Ich hoffe ich konnte dir helfen.
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: tiroso am 10 Juli 2017, 07:17:42
Zitat von: hartenthaler am 03 Juli 2017, 00:30:28
Das Garagentor ist etwas anders, das kennt open, close und stop als Befehle. Die Übersetzung muss ich TERRKO wohl morgen beibringen.

Teerko versteht nun auch Öffnen und Schließen (Ebenfalls kann man in dem Device wieder Benutzerdefinierte befehle hinterlegen. Standard sind Öffnen:open und Schließen:close)

Beispiel:
Öffe das Garagentor
Schließe das Garagentor
Mach das Garagtentor auf
Mach das Garagentor zu
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: tiroso am 23 Juli 2017, 00:38:49
So ich teste im Moment doch sehr viel mit meinem Modul und wie ich es am effizientesten aufbaue. Im Moment klappt das zeitlich nicht so in den Rahmen sonst würde ich eine TimeLine aufstellen und mehr an dem Modul arbeiten.

Ich habe eine kleine Funktion erweitert. Vielleicht kann die jemand gebrauchen und noch besser erstmal testen und mir Feedback geben.

Erweiterung und einen sehr simplen Timer
Alle gesprochenen Befehle (ausser die Benutzer definierten) können nun mit einem Timer in die Zukunft gesetzt werden.

Beispiel:
Schalte die Stehlampe im Wohnzimmer in 30 Sekunden aus
Fahre das Garagentor in 5 Minuten runter
Dimme in 60 Minuten die Stehlampe auf 30%

Wichtig:
Es muss die zeitliche präposition "in" vorkommen
Es geht nur eine Zeitangabe (kein 5 Minuten und 30 Sekunden)
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: buchner51 am 24 Juli 2017, 16:22:47
Hallo,
ich benötige mal wieder Hilfe.. wie bekomme ich die Verbindung von AMAD auf das Modul TEERKO??

Meine sprach befehle kommen in AMAD an aber gehen nicht weiter.
Und wenn ich in TEERKO TextCommand nutze geht auch das Licht an.

Was fehlt mir??

Gruß
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: CoolTux am 24 Juli 2017, 16:25:50
Zitat von: buchner51 am 24 Juli 2017, 16:22:47
Hallo,
ich benötige mal wieder Hilfe.. wie bekomme ich die Verbindung von AMAD auf das Modul TEERKO??

Meine sprach befehle kommen in AMAD an aber gehen nicht weiter.
Und wenn ich in TEERKO TextCommand nutze geht auch das Licht an.

Was fehlt mir??

Gruß

Was bedeutet bei Dir das sie ankommen? Werden die Readings in der Bridge entsprechend gesetzt?
Mach mal bitte ein
list AMADCommBridge



Grüße
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: tiroso am 24 Juli 2017, 16:27:49
In dem TEERKO device gibt es ein Attribut das nennt sich AMADDevice. Trag da mal dein Amad Device ein.

Btw:
Ich hatte iwie in meinem nächtlichen Leichtsinn gedacht das die Präposition immer zeitlich ist wenn kein Artikel folgt...also wenn du im Moment Räume hast mit Eigennamen (bsp. Lisas Zimmer) dann funktioniert die Raumangabe nicht. Muss ich noch fixen.
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: buchner51 am 24 Juli 2017, 16:30:40
Hallo,

hier meine List Ansicht:

Internals:
   BRIDGE     1
   CONNECTS   994
   FD         16
   NAME       AMADCommBridge
   NR         185
   PORT       8090
   STATE      opened
   TYPE       AMAD
   VERSIONFLOWSET 2.6.12
   VERSIONMODUL 2.6.13
   READINGS:
     2017-07-24 16:07:21   expertMode      1
     2017-07-07 17:58:05   fhemServerIP    192.168.55.8
     2017-07-24 16:16:48   receiveVoiceCommand schalte das licht im esszimmer ein
     2017-07-24 16:16:48   receiveVoiceDevice HegsiSprach
     2017-07-24 15:47:34   state           opened
     2017-07-15 14:34:20   transmitterERROR AMADCommBridge_192.168.55.25_38793 has no device name sends
Attributes:
   room       System
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: tiroso am 24 Juli 2017, 16:37:37
Dann mach nochmal ein List von dem TEERKO Device
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: CoolTux am 24 Juli 2017, 16:38:04
Mach mal den expertMode auf 0
Also die Readings werden entsprechend gesetzt. Jetzt weiß ich allerdings nicht wie das Modul da nun weiter macht. Musst Du noch ein Notify erstellen oder klinkt sich das Modul direkt an. Was sagt die Beschreibung?
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: tiroso am 24 Juli 2017, 16:40:20
Die Beschreibung sagt leider das ich in der Richtung noch viel zu tun habe. (Also wenig)
Vieles was eigentlich zwingend erforderlich ist. Bin zu anfang was unkontrolliert an die Sache rangegangen.

Von der Theorie reicht es aber das benötigte Amad Device (nicht die Bridge) in dem Attribut AMADDevice in dem Teerko einzutragen
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: CoolTux am 24 Juli 2017, 16:52:10
Ah, OK. Aber auslesen tut er dann entsprechend das Bridge Device, oder? Anders geht es ja auch nicht.

Ab Morgen wird im übrigen nur noch AMADNG ausgeliefert per Update.
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: buchner51 am 24 Juli 2017, 17:00:15

Danke tiroso,

das war der entscheidende Hinweis.

Darf man jeden Alias nur einmal verenden?

Ich hab ausversehen licht Küche gesagt statt Küche Esszimmer, aber im Esszimmer ging das licht an.
Küche hab ich noch keine Device angelegt.

Gruß
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: tiroso am 24 Juli 2017, 17:10:58
Ich habe es so eingerichtet das, im Moment noch fest, eine Abweichung von maximimal  25% möglich ist (Aufgrund der Missverständnisse STT oder Tippfehler)
Schick mir mal ein List von dem zu schaltenden device und welche zwei Sätze du genau gesagt hast bzw was bei AMAD angekommen ist.
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: tiroso am 25 Juli 2017, 18:56:03
@buchner51:
Ich habe mir deinen Beitrag nochmal angesehen. Eine raumangabe muss immer mit Präposition erfolgen.

Ich weiss es ist etwas gewöhnungsbedürftig aber ich habe noch keinen weg gefunden herauszufinden ob jetzt wirklich die suche auf einen Raum begrenzt werden soll oder nicht.

In deinem Fall gibt es wahrscheinlich ein Device mit dem Namen Licht im dem Raum Esszimmer.
Korrekt wäre es zu sagen: Schalte das Licht im Esszimmer aus
Dann würde nach einem Device Licht im Raum Esszimmer gesucht werden.

Schalte das Esszimmer Licht an
Es wird nach einem Device Esszimmer Licht gesucht. Und am Nächsten kommt dem dein Device Licht. Das wird zu 100% in dem Text gefunden. Da ist es Egal ob du sagst Küchen Licht / Esszimmer Licht oder komisches Licht.
Dann musst du im Moment das Device Esszimmer Licht nennen oder diePräposition mit reinnehmen (Licht im Esszimmer)

Ich hoffe das war verständlich und ich konnte damit die Funktion erklären.

Gruß
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: tiroso am 25 Juli 2017, 22:37:25
Verbesserung der Abgleiche mit potentiellen Devices oder Rooms

Fixed:
Zeitangabe ist mit Präposition "in" möglich
Raumangabe ist ebenfalls mit "in" möglich

New in Sonos Integration:
Starten einer Playlist/Radio/Favouriten
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: bsl02 am 22 August 2017, 01:47:22
Hallo,
ein tolles Modul.

Weitere Vorschläge zur Raumerkennung:
bei | an | neben
(Das Licht BEI der Rampe einschalten, Licht AN der Rampe einschalten, NEBEN der Rampe...)

Wie ich gerade teste, geht bereits: Das Licht IM Beet einschalten.

Dank und Gruß
Stefan

Zitat von: tiroso am 25 Juli 2017, 22:37:25
Verbesserung der Abgleiche mit potentiellen Devices oder Rooms

Fixed:
Zeitangabe ist mit Präposition "in" möglich
Raumangabe ist ebenfalls mit "in" möglich
...
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: oggy am 22 August 2017, 06:44:54
Zitat von: tiroso am 23 Juli 2017, 00:38:49

Wichtig:
Es muss die zeitliche präposition "in" vorkommen
Es geht nur eine Zeitangabe (kein 5 Minuten und 30 Sekunden)

ich würde mich auf das "in" für die Zeit nicht zu sehr versteifen. Bei meinem Skript habe ich die Zeiterkennung auf sekunde/sekunden/minute/minuten/stunde/stunden/uhr festgesetzt. Meistens erfolgt dann die Angabe der Zeit genau ein Wort vor diesen. Ich habe bei mir die Zeiten dann stumpf zusammengeführt ("2 minuten und 144 sekunden" --> at +00:04:24). Das "in" und "für" braucht man dann nur noch um zu differenzieren, ob 2 Aktionen ausgeführt werden sollen oder nur eine... und das "in" / "für" sollten dann 2 Wörter vor der ersten Zeiteinheit bzw 4 Wörter vor der ersten Zeiteinheit erfolgen (2 Wörter > "in 2 minuten"; 4 Wörter > "in 2 komma 5 minuten").

in --> "färbe Wohnzimmer in 2 minten blau" --> eine Aktion "define at_xyz at +00:02:00 set HUEDevice7|HUEDevice3 rgb 0000ff"
für --> "färbe Wohnzimmer in 2 minten blau" --> zwei Aktionen (ABER Definitionssache) "set HUEDevice7|HUEDevice3 rgb 0000ff" und "define at_xyz at +00:02:00 set HUEDevice7|HUEDevice3 off"
<nichts angegeben> --> "farbe Wohnzimmer 2 minuten blau" --> "für"
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: tiroso am 22 August 2017, 12:24:43
Ich bin noch an einem neuen Algorithmus dran aber ich werde das mit aufnehmen.

@oggy...das Problem bei für x minuten einschalten. Ich habe noch kein Umgang fpr die Negation. Da muss ich noch nachsehen ob ich eine default negation einsetze wie off...und alles andere kann der Benutzer dann entscheiden.

@bsl02..
Danke dir. Rein aus Neugier. Wie nutzt du das Modul? Mit AMAD; Telegram oder hast du dir das auf eigene Art und Weise eingebunden?
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: ToM_ToM am 02 September 2017, 17:53:34
Habe seit heute auch mal TEERKO installiert und getestet.

Funktioniert schon ganz nett und könnte meine selbstgebastelten und mittlerweile doch recht unübersichtlichen Taskerprofile ersetzen. :)

ZitatErweiterung und einen sehr simplen Timer
Funktioniert bei fürs ausschalten, jedoch nicht fürs einschalten. Ist das so korrekt?
Und ich bekomme direkt das Feddback dass das Licht ausgeschaltet wurde, obwohl es korrekterweise erst nach 30 Sekunden aus geht, wie ich es befohlen habe.

Ist aber schon ein super Modul. In Verbindung mit AMAD macht es schon echt Spaß. :)

VG, Thomas
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: tiroso am 02 September 2017, 18:36:31
Danke dir.

Eigentlich sollte es sich mit einschalten klappen. Dauert noch ein bisschen dann habe ich auch eine doch stark überarbeitete Version.  :)
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: Schlimbo am 02 September 2017, 19:00:06
Zitat von: tiroso am 01 Juni 2017, 08:23:51
attr <TEERKODevice> TEERKOStructure [own,fhem]
Default: own
Wenn das Attr auf own gesetzt ist (defaultwert) TEERKO kann mit allen Geräte interagieren in denen TEERKOAlias gesetzt ist.
Wenn du das ganz auf fhem umstellst kannst du mit allen Geräten interagieren in denen das hauseigene alias gesetzt ist

Da es momentan noch unklar ist ob es mal einheitliche Sprach Attribut für die verschiedenen Sprachmodule gibt:
https://forum.fhem.de/index.php/topic,75785.msg676139.html#msg676139 (https://forum.fhem.de/index.php/topic,75785.msg676139.html#msg676139)

Wäre es möglich das "TEERKOStructure" Attribut um "alexa" zu erweitern damit TEERKO auch das "alexaName" Attribut verwenden kann?
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: the ratman am 02 September 2017, 22:54:01
uij, schon wieder ein geiles modul - thx dafür!

ich hätte da aber gleich 2 fragen:

1) könnte man räume etwas flexibler gestalten? "im terrasse" kommt so blöd *g*
oder gibts da eh schon ne lösung, die ich wieder nur übersehen hab?

2) kann ich auch von winconnect ( https://forum.fhem.de/index.php/topic,59251.0.html ) aus befehle versenden?
das wäre ja quasi das amad von windows ...
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: tiroso am 03 September 2017, 09:34:57
In der nächsten Version, Dauert leider noch etwas, kannst du sämtliche Präpositionen verwenden( im, in, auf der, neben der, etc.) Das sollte dann für die Terrasse reichen.

An Winconnect hatte ich noch gar nicht gedacht. Ist ja eig passend. Da muss ich dann nur noch sehen in welchem Reading der Sprachbefehl dann steht.
Als übergangslösung kannst du ein Notify/doif auf dein WinConnect reagieren lassen und schreibst das Reading mit dem Sprachbefehl in das Teerko Device. Dann kann man wenigstens direkt damit was machen. Die Antwort an dem Teerko Device kannst du ja wieder an WinConnect schicken
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: the ratman am 03 September 2017, 10:07:15
ach du, ich hab zeit - bin ja froh, das du sowas überhaupt bastelst *g* ist ne echte erleichterung gegen meine ehemaligen spielereien mit tasker.
ich verwend zwar winnconnect, weiß aber noch nicht mal ob der cortana abfangen kann. der autor is aber auch verdammt umgänglich und flott, sollte man ideen vorbringen.

btw - gleich noch ne freche frage:
ich wollte immer schon eine art indirektes intercom.
das könnte ja mit den selber erstellten befehlen gehen, nur dafür fehlt mir derzeit noch die idee ...
müsste wohl sowas sein wie: "sage <username/androiddevice/winconnectdevice>: blaa blubb blaa", oder "durchsage na alle: blaa blubb blaa"
blaa blubb blaa wird dann einfach per ttsmsg an das/die device(s) gesendet.
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: ToM_ToM am 03 September 2017, 15:29:19
Hey tiroso,

es wäre noch super wenn man irgendwo eine Genus-Definition hätte.

Wenn ich folgendes Frage: Wie ist der Status des Fensters im Arbeitszimmer?
dann kommt als Antwort: Der Fenster im Arbeitszimmer ist closed.
Das klingt irgendwie bisschen doof.^^

Wie man in der Antwort erkennen kann, funktioniert das Attribut bei mir aktuell auch nicht

attr Teerko sarReading opened:geöffnet,closed:geschlossen

VG, Thomas
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: tiroso am 03 September 2017, 16:29:55
Da habe ich ewig drüber nachgedacht weiss aber nicht wie ich das einbinden soll. Sieht aber wirklich nicht schön aus da gebe ich dir recht.
Wieso das sarReading nicht klappt...hmm...hast du noch was geduld bis zurnächsten Version?
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: ToM_ToM am 03 September 2017, 17:04:21
ZitatWieso das sarReading nicht klappt...hmm...hast du noch was geduld bis zurnächsten Version?

Ja klar. Das Modul ist ja für mich nicht überlebenswichtig.^^ Ich warte einfach ab und teste dann wenn du soweit bist. :)

VG, Thomas
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: visionsurfer am 04 September 2017, 09:03:22
Guten Morgen,

ich finde diese Vorgehensweise für User die kein Alexa und Co. nutzen wollen, sehr interessant.

Eventuell hab ich es überlesen, aber gibt es schon brauchbare Hardware die man als Micro nutzen kann ?
Weil grundsätzlich finde ich dieses Modul vom Ansatz super. Aber der Mega krasse Vorteil von Alexa, bzw. von den Dots sind die Micros. Die hören wirklich ziemlich gut zu.

Gibt es irgendwelche Hardware, die man für dieses Modul einsetzen kann um eine ähnliche Qualität zu bekommen ?

Grüße,
Visionsurfer
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: the ratman am 04 September 2017, 11:21:35
gehts nur mir so? hab probleme bei %
jeder befehl, der % enthällt, wird zwar erkannt, aber falsch ausgeführt z.b. set_0 anstelle 50% oder auch mal gar nix (stellantrieb knackst, passieren tut nix)
übrigens gehts um homematc, sofern das relevant is.

2017.09.04 11:10:42 1: Logfile gelöscht
2017.09.04 11:11:05 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/39_TEERKO.pm line 2822.
2017.09.04 11:11:05 1: stacktrace:
2017.09.04 11:11:05 1:     main::__ANON__                      called by ./FHEM/39_TEERKO.pm (2822)
2017.09.04 11:11:05 1:     main::TEERKO_CheckCommand           called by ./FHEM/39_TEERKO.pm (1581)
2017.09.04 11:11:05 1:     main::TEERKO_Notify                 called by fhem.pl (3451)
2017.09.04 11:11:05 1:     main::CallFn                        called by fhem.pl (3372)
2017.09.04 11:11:05 1:     main::DoTrigger                     called by fhem.pl (4344)
2017.09.04 11:11:05 1:     main::readingsEndUpdate             called by ./FHEM/73_AMADCommBridge.pm (831)
2017.09.04 11:11:05 1:     main::AMADCommBridge_ResponseProcessing called by ./FHEM/73_AMADCommBridge.pm (695)
2017.09.04 11:11:05 1:     main::AMADCommBridge_ProcessRead    called by ./FHEM/73_AMADCommBridge.pm (618)
2017.09.04 11:11:05 1:     main::AMADCommBridge_Read           called by fhem.pl (3451)
2017.09.04 11:11:05 1:     main::CallFn                        called by fhem.pl (697)
2017.09.04 11:11:21 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/39_TEERKO.pm line 2829.
2017.09.04 11:11:21 1: stacktrace:
2017.09.04 11:11:21 1:     main::__ANON__                      called by ./FHEM/39_TEERKO.pm (2829)
2017.09.04 11:11:21 1:     main::TEERKO_CheckCommand           called by ./FHEM/39_TEERKO.pm (1581)
2017.09.04 11:11:21 1:     main::TEERKO_Notify                 called by fhem.pl (3451)
2017.09.04 11:11:21 1:     main::CallFn                        called by fhem.pl (3372)
2017.09.04 11:11:21 1:     main::DoTrigger                     called by fhem.pl (4344)
2017.09.04 11:11:21 1:     main::readingsEndUpdate             called by ./FHEM/73_AMADCommBridge.pm (831)
2017.09.04 11:11:21 1:     main::AMADCommBridge_ResponseProcessing called by ./FHEM/73_AMADCommBridge.pm (695)
2017.09.04 11:11:21 1:     main::AMADCommBridge_ProcessRead    called by ./FHEM/73_AMADCommBridge.pm (618)
2017.09.04 11:11:21 1:     main::AMADCommBridge_Read           called by fhem.pl (3451)
2017.09.04 11:11:21 1:     main::CallFn                        called by fhem.pl (697)
2017.09.04 11:11:34 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/39_TEERKO.pm line 2829.
2017.09.04 11:11:34 1: stacktrace:
2017.09.04 11:11:34 1:     main::__ANON__                      called by ./FHEM/39_TEERKO.pm (2829)
2017.09.04 11:11:34 1:     main::TEERKO_CheckCommand           called by ./FHEM/39_TEERKO.pm (1581)
2017.09.04 11:11:34 1:     main::TEERKO_Notify                 called by fhem.pl (3451)
2017.09.04 11:11:34 1:     main::CallFn                        called by fhem.pl (3372)
2017.09.04 11:11:34 1:     main::DoTrigger                     called by fhem.pl (4344)
2017.09.04 11:11:34 1:     main::readingsEndUpdate             called by ./FHEM/73_AMADCommBridge.pm (831)
2017.09.04 11:11:34 1:     main::AMADCommBridge_ResponseProcessing called by ./FHEM/73_AMADCommBridge.pm (695)
2017.09.04 11:11:34 1:     main::AMADCommBridge_ProcessRead    called by ./FHEM/73_AMADCommBridge.pm (618)
2017.09.04 11:11:34 1:     main::AMADCommBridge_Read           called by fhem.pl (3451)
2017.09.04 11:11:34 1:     main::CallFn                        called by fhem.pl (697)
2017.09.04 11:11:34 1: PERL WARNING: Use of uninitialized value $insertint in substitution (s///) at ./FHEM/39_TEERKO.pm line 2904.
2017.09.04 11:11:34 1: stacktrace:
2017.09.04 11:11:34 1:     main::__ANON__                      called by ./FHEM/39_TEERKO.pm (2904)
2017.09.04 11:11:34 1:     main::TEERKO_CheckCommand           called by ./FHEM/39_TEERKO.pm (1581)
2017.09.04 11:11:34 1:     main::TEERKO_Notify                 called by fhem.pl (3451)
2017.09.04 11:11:34 1:     main::CallFn                        called by fhem.pl (3372)
2017.09.04 11:11:34 1:     main::DoTrigger                     called by fhem.pl (4344)
2017.09.04 11:11:34 1:     main::readingsEndUpdate             called by ./FHEM/73_AMADCommBridge.pm (831)
2017.09.04 11:11:34 1:     main::AMADCommBridge_ResponseProcessing called by ./FHEM/73_AMADCommBridge.pm (695)
2017.09.04 11:11:34 1:     main::AMADCommBridge_ProcessRead    called by ./FHEM/73_AMADCommBridge.pm (618)
2017.09.04 11:11:34 1:     main::AMADCommBridge_Read           called by fhem.pl (3451)
2017.09.04 11:11:34 1:     main::CallFn                        called by fhem.pl (697)

in der combridge kommts richtig anreceiveVoiceCommand
stelle das rollo im straße auf 50%
2017-09-04 11:11:33
receiveVoiceDevice
MiniMe_AMAD
2017-09-04 11:11:33


btw.: ists absicht, das runter und rauf nur 10% macht? ich hätte da eig. on und off erwartet?
dumme sätze wie "schalte das rollo im strasse ein/aus" funzen dann aber sogar mit 100% und 0% als ergebnis.
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: minias am 08 September 2017, 14:26:22
Super Modul! Vielen Dank!

Ich hatte einige Tests mit den UserFile´s gemacht. Dabei habe ich bemerkt dass die Reihenfolge der Befehle in der Datei eine Rolle spielt:


hier greift: steffi geht schlafen mit musik (und die Varianten)

[command]
in=(steffi|stefanie).*(schlafen|bett).*musik
out=Steffi geht schlafen mit Einschlafmusik
fhem=set sz_generell scene SchlafenMusik
activ=1

[command]
in=(steffi|stefanie).*(schlafen|bett)
out=Steffi geht schlafen
fhem=set sz_generell scene SchlafenGehen
activ=1


hier greift: steffi geht schlafen mit musik (und die Varianten) nicht mehr

[command]
in=(steffi|stefanie).*(schlafen|bett)
out=Steffi geht schlafen
fhem=set sz_generell scene SchlafenGehen
activ=1

[command]
in=(steffi|stefanie).*(schlafen|bett).*musik
out=Steffi geht schlafen mit Einschlafmusik
fhem=set sz_generell scene SchlafenMusik
activ=1



Meine Frage, ist das so gewollt, oder sollten sämtliche Befehle vorher geprüft/ausgwertet und dann gemached werden?
Gibt es noch andere "Schreibweisen" der Befehle, bzw. andere Möglichkeiten zu differenzieren?
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: tiroso am 08 September 2017, 14:37:19
Hey Minias,

Danke dir.
Es ist tatsächlich so das der erste Match auch zählt. Es wird nicht mehr "gecheckt" welcher am besten passen würde. Das einzige was ich dir empfehlen kann, ist im zweiten teil anzugeben das musik nicht vorkommen darf.

Ungefähr so:
Anstatt
(steffi|stefanie).*(schlafen|bett)
dann
(steffi|stefanie).*(schlafen|bett)(?!.*musik)

Alles was du mit RegEx matchen kannst sollte möglich sein
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: minias am 08 September 2017, 14:49:14
Funktioniert :)
Vielen Dank! Ich werde mir noch verschiedene RegEx Möglichkeiten ansehen.
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: minias am 08 September 2017, 15:23:53
Jetzt habe ich gleich noch eine Frage.

Hier gebe ich die AMADDevice an. Funktioniert wunderbar! Der Befehl wird ausgeführt und bekomme eine Rückmeldung über das AMAD TTS (Attribute in AMADCommBridge : fhemControlMode thirdPartControl setzen!)

attr <name> AMADDevice <AMADDevice>

Wenn ich jetzt mehrere Android Geräte habe, wüsste TEERKO nicht an welchem den Befehl abholen und bei welchem rück-melden, oder habe ich einen Denkfehler?
In der  AMADCommBridge wären beide Readings (receiveVoiceCommand,receiveVoiceDevice) vorhanden:
BRIDGE     1
   CONNECTS   6284
   FD         32
   NAME       AMADCommBridge
   NR         235
   PORT       8090
   STATE      opened
   TYPE       AMADCommBridge
   VERSIONFLOWSET 4.0.7
   VERSIONMODUL 4.0.5
   READINGS:
     2017-09-07 12:42:24   fhemServerIP    192.168.1.130
[b]     2017-09-08 14:54:15   receiveVoiceCommand alles aus
     2017-09-08 14:54:15   receiveVoiceDevice g_tablet_android_amad [/b]
     2017-09-08 10:04:51   state           opened
Attributes:
   fhemControlMode thirdPartControl
   group      Module,System/Sonstige
   icon       audio_repeat
   room       Mobile,System


Wie könnte ich über mehrere AMAD-Devices Sprachbefehle absetzen?
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: tiroso am 08 September 2017, 16:37:59
Ich habe pro TEERKO Device nur ein zugeordnetes Gerät vorgesehen.
Für jedes Amad Device also ein weiteres TEERKO
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: CoolTux am 08 September 2017, 16:54:46
Man könnte überlegen
receiveVoiceDevice
aus zu werten. So für spätere Versionen  :)
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: tiroso am 08 September 2017, 17:06:27
Derzeit lasse ich ja receiveVoiceDevice auswerten ;) Deswegen ja auch das Attr da.
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: ToM_ToM am 26 September 2017, 13:17:47
Hey tiroso, wird das Modul noch weiterentwickelt? :)

Gibt es mittlerweile schon eine Beta?

VG, Thomas
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: tiroso am 26 September 2017, 13:24:47
Hey.
Ja ich arbeite noch daran :-\
Geht leider sehr schleppend voran.
Allerdings werden ein paar Attribute dann anders aussehen.
Derzeitiger Stand sind normale Basis Schaltungen (an,aus,pct,hoch,runter,color)
Es dauert so lange da ich die komplette Struktur und die Auswertung umgestellt habe.

Leider fehlen im Moment noch die Funktionen Sonos,Statusabfrage,Temperaturabfrage.
Die würde ich gerne noch hinzufügen bevor ich es rausgebe.
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: ToM_ToM am 26 September 2017, 16:25:10
Okay, dann warte ich einfach noch ein bisschen ab. ;)
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: tiroso am 30 September 2017, 15:34:37
In der Alpha hatte ich einige Probleme. Die kommende Beta wird stabiler laufen aber noch nicht mit dem gleichen Umfang.

Trotzdem interesse? Auch wenn Sonos noch nicht funktioniert...oder Temperaturabfrage...oder in Zeit x schalten? ;)
Dann würde ich es vorher schon online stellen
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: ToM_ToM am 30 September 2017, 17:27:09
Gibt es denn eine grobe Timeline bis wann du die Beta fertig haben möchtest? ;)
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: the ratman am 30 September 2017, 17:56:05
ich würd eher nach beta-testern fragen ... die freuen sich und du sparst dir 10 mio. dumme fragen, wanns den fertig is und warum was nicht geht *g*
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: tiroso am 30 September 2017, 18:19:11
ich werde mich jetzt die Tage mal hinsetzen und eine Beta draus machen. Wem die Funktionen fehlen kann ja noch meine alpha verwenden.  ;).
Ich melde mich montag denke ich
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: ToM_ToM am 10 Oktober 2017, 20:37:06
Hi tiroso,

kann man die neue Version schon irgendwo herunterladen um sie zu testen? :)

VG, Thomas
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: DUSTiggr am 22 Oktober 2017, 13:40:49
Hallo zusammen,

mein Google Home und ich würden uns gerne als BETA-Tester zur Verfügung stellen :)

Ich habe das Modul von der Startseite geladen und installiert, soweit funktioniert es auch. Mich wundert allerdings das anscheinend sehr viele Funktionen wie zB "ReadUserFile" fehlen. Gibt es einen weiteren Download-Link den ich übersehen habe?

Würde mich sehr freuen wenn die Entwicklung weiter gehen würde, ich finde die ersten Ansätze und Möglichkeiten klasse. Gibt es eine Spenden Adresse?

Gruß,
Maik
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: Leguna am 25 Oktober 2017, 22:53:05
Huhu
Also wenn wir unseren Umzug überstanden haben und uns ein wenig eingelebt haben (mit anderen worten alle kartons etc mal ausgepackt sind) würde ich bzw wir uns mit unserem Google Home auch als Betatester melden :)
klingt sehr vielversprechend und sicher besser als ifttt :)

grüße Legu
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: Schlimbo am 26 Oktober 2017, 12:08:34
Hallo tiroso,
bekomme beim starten von FHEM folgende Perl Warnung ins Log geschrieben:
PERL WARNING: "my" variable @climainformation masks earlier declaration in same scope at ./FHEM/39_TEERKO.pm line 2968, <$fh> line 2574.
Könntest du das bitte mal checken?

Beste Grüße Schlimbo
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: buchner51 am 03 November 2017, 17:23:44
Hallo,
zusammen ich bräuchte mal etwas Hilfe.


Ich würde gerne eine Art ALEXA aufbauen mit dieser Erweiterung, die Sprachausgabe hab ich mit MyTTS realisiert.
Die Spracheingabe würde ich gerne mit einem Mikrofon machen, vielleicht testweise mit dem auf dem PI und später mit einem USB.

Aber wie bekomme ich das hin.

Kann ich MY TTS auch direkt als Sprachausgebe verbinden oder muss ich über amad gehen?

Ich bin etwas weiter gekommen für die jenigen denen es ähnlich geht:

In TEERKO muss folgendes eingestellt werden:

Set AMADAnswer text2speech
und
Set AMADText2Speech MyTTS

In fhem muss AMAD eingerichtet werden, als erstes die AMADCommBridge:

define myAmadBridge AMADCommBridge

danach das Android Gerät nach AMAD Wiki vorbereiten und dem Flow Assistenten folgen, wichtig ist das der autocreate Device aktiviert ist.

Der Assistent richtet das Device in Fhem ein.

Das Modul Tex2Speech muss auch eingericht werden.

...weiteres folgt, wenn es jemand interessiert?




gruß
Thomas
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: ToM_ToM am 12 Dezember 2017, 15:50:14
Hallo Zusammen,

wie es aussieht, ist das Modul wohl gestorben.  :(
Schade eigentlich, der Ansatz war echt gut.

Jetzt die Frage: Kann ich es irgendwie deinstallieren? Also so dass auch die globalen Attribute wieder verschwinden?

VG, Thomas
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: MadMax-FHEM am 29 Dezember 2017, 12:17:28
Oh, das wäre sehr schade!

Habe es eben erst in Betrieb genommen und es funktioniert prima!

Deinstallieren musst du vermutlich manuell durchführen...
...also Define aus der fhem.cfg -> delete This Device

und dann eben bei global im Attribut userattr alle Einträge löschen, also auf das userattr klicken und entsprechend "bereinigen"...

Aber so wie ich das gesehen habe heißen ja praktisch alle TEERKOirgendwas...

Gruß, Joachim
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: the ratman am 29 Dezember 2017, 12:59:32
is das auch sicher, dass das modul nicht mehr entwickelt wird?
der entwickler wollt doch alles neu machen, wenn ich mich recht erinner?

wenn doch: wäre echt schade, auch ich hab da viel hoffnung in verbindung mit dieser matrix-irgendwas microfon-array gesteckt ghabt.
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: Prof. Dr. Peter Henning am 30 Dezember 2017, 16:56:22
Siehe hier.

https://forum.fhem.de/index.php/topic,81737.msg738020.html#msg738020

LG

pah
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: the ratman am 30 Dezember 2017, 19:09:40
*tief verbeug*, herr prof.
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: tiroso am 05 Januar 2018, 18:27:21
Hallo zusammen,

Ich war privat die letzten Monate was "ausgenockt". Sorry dafür...

Ich habe mich allerdings wieder dran gesetzt und habe auch vor das in Zukunft weiter zu machen.

Aufgrund von Stabilität habe ich eine Beta erstellt ohne Sonos Steuerung...

Im Moment werden die nur die Basis Befehle unterstützt (Farbe, ein-ausschalten,hoch-runterfahren,dimme,prozent,auf-zu,start-stop).
Im Device global Attr userattr könnt ihr alle Einträge mit TEERKO ausser TEERKOAlias,TEERKORoom und TEERKOExpert entfernen. Dann wird es etwas aufgeräumter.

Bitte testen und bei Fragen Fragen !!!! :)
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: MadMax-FHEM am 05 Januar 2018, 19:14:13
Zitat von: tiroso am 05 Januar 2018, 18:27:21
Hallo zusammen,

Ich war privat die letzten Monate was "ausgenockt". Sorry dafür...


Hoffentlich nichts Schlimmes!
Welcome back! :)

Zitat von: tiroso am 05 Januar 2018, 18:27:21
Ich habe mich allerdings wieder dran gesetzt und habe auch vor das in Zukunft weiter zu machen.

Und schön, dass es weitergeht! :)


Zitat von: tiroso am 05 Januar 2018, 18:27:21
Aufgrund von Stabilität habe ich eine Beta erstellt ohne Sonos Steuerung...

Im Moment werden die nur die Basis Befehle unterstützt (Farbe, ein-ausschalten,hoch-runterfahren,dimme,prozent,auf-zu,start-stop).
Im Device global Attr userattr könnt ihr alle Einträge mit TEERKO ausser TEERKOAlias,TEERKORoom und TEERKOExpert entfernen. Dann wird es etwas aufgeräumter.

Gut das mit SONOS trifft mich nicht, habe keine...
Die Einträge werde ich dann mal raus nehmen...
...gibt es sonst noch etwas zu beachten?

Einfach Modul "überkopieren", reload/restart und gut?

UserCommands gehen aber noch!?
Arbeite (aktuell) hauptsächlich (noch) damit...


Zitat von: tiroso am 05 Januar 2018, 18:27:21
Bitte testen und bei Fragen Fragen !!!! :)

Testen folgt (wenn ich wieder Zeit hab) und gefragt hab ich ja schon ;)

Danke, Joachim
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: tiroso am 05 Januar 2018, 19:26:20
Danke.

Ja Usercommands gibt es noch. Die wurden verbessert und ermöglichen bessere Szenarien.

Genau...einfach drüber kopieren.
Es kommt dann wahrscheinlich erstmal zu einer Fehlermeldung da sich die Parameter einzelner subs verändert haben. Also kann man die Meldung ignorieren sollte aber ein shutdown restart durchführen damit 39_TEERKO.pm korrekt eingelesen wird

Achja...da ich dem User die Möglichkeit geben will selber zu entscheiden was Teerko machen soll setzt du am besten unter TEEERKOFeatures BasicControl und UserDefinedCommands
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: MadMax-FHEM am 05 Januar 2018, 19:46:18
Zitat von: tiroso am 05 Januar 2018, 19:26:20
Danke.

Ja Usercommands gibt es noch. Die wurden verbessert und ermöglichen bessere Szenarien.

Genau...einfach drüber kopieren.
Es kommt dann wahrscheinlich erstmal zu einer Fehlermeldung da sich die Parameter einzelner subs verändert haben. Also kann man die Meldung ignorieren sollte aber ein shutdown restart durchführen damit 39_TEERKO.pm korrekt eingelesen wird

Super!
Ok, mach ich so...
...Fehlermeldungen sind kein Problem (ist aktuell ja noch/"nur" auf meinem Testsystem), solange es danach dann geht... ;)
...wird aber wohl morgen Abend oder verm. eher So werden.
Aber dann :)

Bin ja immer noch unschlüssig, ob es nun Alexa, Google Home oder ganz was anderes (wobei da wird die Luft schon dünn, weil für "selbstbau und noch ne Baustelle" hab ich [aktuell] keine Zeit)...

Bei Alexa habe ich alexa-fhem im Einsatz (ha-bridge weil einfacher bei meiner Freundin, die drückt immer noch lieber Schalter ;)  und da reicht das dann)...
...bzgl. Google Home teste ich grad, ein Kandidat (momentan mein Favorit) ist TEERKO...

Zitat von: tiroso am 05 Januar 2018, 19:26:20
Achja...da ich dem User die Möglichkeit geben will selber zu entscheiden was Teerko machen soll setzt du am besten unter TEEERKOFeatures BasicControl und UserDefinedCommands

Jep mache ich...

Gruß, Joachim
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: tiroso am 05 Januar 2018, 19:55:09
Hast du gerade den Link parat zu der Umsetzung mit Google Home?
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: MadMax-FHEM am 05 Januar 2018, 20:03:42
Welchen Link meinst du?

Ich habe IFTTT eingerichtet und schreibe den Text in einen Dummy (momentan noch, da ich dann von dort per Notify verteilen kann wo ich es grad brauche ;)  )...

Ich glaube das sind die Threads wo ich das meiste (an Ideen) her hab:

https://forum.fhem.de/index.php/topic,81557.0.html

https://forum.fhem.de/index.php/topic,74371.msg660929.html#msg660929

Gruß, Joachim
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: Phill am 05 Januar 2018, 20:16:45
link ;) (https://wiki.fhem.de/wiki/Modul_Talk2Fhem#Google_Home_Ger.C3.A4te)
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: tiroso am 05 Januar 2018, 21:15:21
Achja...Für jene die mein Modul schon vorher genutzt haben

Es war vorher möglich mehrere Geräte in einer structure zu steuern.
Das entfällt und es können die structure devices die extra dafür angelegt worden sind gelöscht werden

Sollten mehrere Geräte mit einem Befehl gesteuert werden bitte TEERKOAlias und TEERKORoom verwenden. TEERKO ist in der Lage PLural bestimmungen zu erkennen und dementsprechend auch mehrere Geräte zu steuern (Auszug aus dem ersten Eintrag):

define dummy01 dummy;
attr dummy01 TEERKORoom Haus,Erdgeschoss,!Wohnzimmer
attr dummy01 TEERKOAlias Lampe,Licht,!Deckenlampe

define dummy02 dummy;
attr dummy02 TEERKORoom Haus,Erdgeschoss,!Küche
attr dummy02 TEERKOAlias Lampe,Licht,!Deckenlampe

Somit lässt sich über Schalte alle Lampen im Haus aus beide Lampen ausschalten. Schalte die Deckenlampe aus sorgt aber dafür das die Rückmeldung kommt das es mehrere Geräte mit dem Namen gibt. Schalte die Deckenlampe im Wohnzimmer aus schaltet dagegen nur dummy01.
Also sollten z.B alle Lampen Lichter im TEERKOAlias Lampe,Licht mit drin stehen haben...und natürlich dann auch mehrere Räume in TEERKORoom. Die Zuordnung und Auswertung übernimmt TEERKO
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: MadMax-FHEM am 05 Januar 2018, 21:45:54
Also ich hab's dann doch schon mal "wenigstens" eingespielt...
...also die Beta-Version...

LÄUFT! :)

Zumindest laufen erste Tests wie zuvor, hab ja noch nicht soo viel umgesetzt bislang...
...und wie gesagt das Meiste mit UserDefinedCommands...
(zum Glück hab ich meine alte fhem.cfg gesichert, da stand der Pfad drin. Der war ja erst mal weg ;)  )

Gruß, Joachim
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: tiroso am 05 Januar 2018, 22:58:59
Das freut mich  :)

Tut mir Leid. Ich wollte FHEM nicht mit noch mehrAttributen vollknallen. Und da es so viele gibt wo keiner mehr weiss wozu die gehören habe ich meine alle mit TERRKO versehen. Dann weiss jeder wer der Bösewicht ist  ;)

Zu den Userdefined Commands. Ich empfehle die im internen Editor zu bearbeiten. Da kannst du dann als SaveAs z.b userdefinedcommands.ini abspeichern. Den Pfad dahin kann man sich gut merken. /opt/fhem/FHEM/userdefinedcommands.ini
Habe bei mir auch direkt ins linke Menü den Link reingesetzt für das bearbeiten mit dem internen Editor
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: MadMax-FHEM am 06 Januar 2018, 00:29:55
War nicht soooo ernst gemeint ;)

Und ja, habe die Datei auch dort abgelegt, allerdings als "teerko.cfg", dann erscheint sie automatisch unter "Edit Files" ;)

So, nun habe ich auch ein wenig rumgespielt damit, v.a. mit dem Antworten.
Da ich das von alexa-fhem gewohnt bin selber Antworten zurück geben zu können :)

Und da bin ich jetzt (fast) verzweifelt.

Idee: ich triggere auf "Answer" und gebe das dann über mein GOOGLECAST-Modul per "GoogleTranslate" zurück:


sub my_SendAnswerToGoogleHome()
{
#  my ($Answer)  = @_;
  my $Answer = ReadingsVal("teerko", "Answer", "ich habe es nicht gefunden");
  my $encodedAnswer = urlEncode($Answer);
  my $PreAnswer = "http://translate.google.com/translate_tts?tl=de&client=tw-ob&q=";
 
  Log3(undef, 3, "my_SendAnswerToGoogleHome Answer: $Answer    encodedAnswer: $encodedAnswer sent to myGoogleCast.");
 
  fhem("set myGoogleCast play $PreAnswer$encodedAnswer"); 
}


Wie man sieht war die erste Idee $EVENT im Notify auszugeben...
...aber irgendwie hat der Notify nur immer das erste Mal nach dem Anlegen funktioniert...

Auch verschiedene Varianten gingen nicht, selbst nicht das was der EventMonitor "kreiert" hat...

Zuletzt war ich schon bei

define nAnswerGoogle notify .*Answer.* {Log3(undef, 3, "Das ist ein Test")}

zum Testen...
Aber selbst das ging nicht...
(also immer nur nach dem neu Anlegen)

Ich habe fast Stunden damit zugebracht aber irgendwie keine Lösung gefunden.
Ich habe sogar in 39_TEERKO.pm von readingsSingleUpdate auf readingsBulkUpdate "umgebaut", zumindest mal dort wo die Answer geupdatet wird.
(so fern ich das richtig gefunden/verstanden hab)

Aber half auch nicht...

Dann habe ich zuletzt umgestellt und triggere nun auf:

define nAnswerGoogle teerko:New.Command.done {my_SendAnswerToGoogleHome()}

und jetzt geht es! :)

Aber irgendwie verstehe ich das mit dem Notify auf Answer nicht...
...Event kommt im EventMonitor aber das Notify triggert nicht (zuverlässig)...

Nur so als Info, da ich ja jetzt umgestellt habe.

Gruß, Joachim
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: tiroso am 06 Januar 2018, 00:41:25
Hey.
Ich muss mal nachsehen ob ich Answer als event rausgeben lasse. Ich hatte es mal früher ausgeschaltet da ich es nicht für sinnvoll gehalten hatte.

Ich werde mir mal googlecast ansehen. Kannst fu mir ein list davon geben? Dann kann ich das als ExternalDevice mit angeben. Dann brauchst du kein Notify und der spielt direkt darauf ab
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: MadMax-FHEM am 06 Januar 2018, 00:54:14
So wie ich das verstehe (Zeile 2586):


readingsSingleUpdate( $defs{$teerkobuild{hashdata}{NAME}}, "Answer", $resonding, 1 );


Sollte das auch ein Event erzeugen.
Im EventMonitor kommt es auch zuverlässig...


2018-01-06 00:47:16 TEERKO teerko command: command: wie sehen die notify aus
2018-01-06 00:47:16 TEERKO teerko Answer:  Ich konnte kein Gerät in deinem Befehl erkennen. 
2018-01-06 00:47:16 TEERKO teerko New Command done


Immer diese Abfolge mit wandelndem "Inhalt" vom Answer Event...
Aber ein .*Answer.* sollte immer "matchen"...

Egal, mit Trigger auf "New Command done" geht auch.
(Solange du das nicht änderst ;)  )

Hier ein list des GOOGLECAST:


Internals:
   CCNAME     myGoogleCast
   DEF        myGoogleCast
   NAME       myGoogleCast
   NR         356
   STATE      online
   TYPE       GOOGLECAST
   READINGS:
     2018-01-06 00:47:00   appId           12345678
     2018-01-06 00:47:00   appName         Default Media Receiver
     2017-12-28 23:56:07   castType        audio
     2017-12-28 23:56:07   idle            1
     2018-01-06 00:47:01   mediaContentId  http://translate.google.com/translate_tts?tl=de&client=tw-ob&q=%0aIch%20konnte%20kein%20Ger%c3%a4t%20in%20deinem%20Befehl%20erkennen%2e%20%0a
     2018-01-06 00:48:31   mediaCurrentPosition 0
     2018-01-06 00:47:01   mediaDuration   3.528
     2018-01-06 00:48:31   mediaPlayerState IDLE
     2018-01-06 00:47:01   mediaStreamType BUFFERED
     2017-12-28 23:56:07   model           Google Home
     2017-12-28 23:56:07   name            myGoogleCast
     2018-01-06 00:07:41   presence        online
     2018-01-06 00:48:31   state           online
     2017-12-28 23:56:07   uuid            meineUUIDxxxx-xxxxxxxx-xxxxxxx
     2017-12-29 01:52:25   volume          40
   helper:
Attributes:
   room       IFTTT


Abgespielt wird das dann wie folgt:

set myGoogleCast play http://translate.google.com/translate_tts?tl=de&client=tw-ob&q=%0aIch%20konnte%20kein%20Ger%c3%a4t%20in%20deinem%20Befehl%20erkennen%2e%20%0a

EDIT: jetzt muss ich nur noch eine Möglichkeit finden, herauszubekommen, von welchem Google Home / Mini die Anfrage stammte, damit möglichst auch die Antwort dort raus kommt... ;)

Gruß, Joachim
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: tiroso am 06 Januar 2018, 09:15:40
Da habe ich leider keine Antwort drauf...
Aber ich kann dein Googlecast mit als Ausgabe aufnehmen  ;)
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: MadMax-FHEM am 06 Januar 2018, 09:34:23
Zitat von: tiroso am 06 Januar 2018, 09:15:40
Da habe ich leider keine Antwort drauf...

War jetzt auch mehr als "ToDo" für mich gedacht...
Geht halt bei Alexa "automatisch"...
...dafür halt (noch) nicht gezielt...


Zitat von: tiroso am 06 Januar 2018, 09:15:40
Aber ich kann dein Googlecast mit als Ausgabe aufnehmen  ;)

Danke!
Wäre nur die Frage wie man dann beeinflussen kann welches GoogleCast-Gerät jeweils antworten soll...
...sollte ich/man (jemals) rauskriegen welches sich nun um die Anfrage "gekümmert" hat... ;-)

Gruß, Joachim
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: Phill am 06 Januar 2018, 09:52:00
Hast du für jedes Google Home einen eigenen ifttt Account zugewiesen? Dann würde es gehen.
Ansonsten, hast du Mal geschaut ob das GoogleCast Modul ein Event triggert wenn der googlehome im zuhörmodus ist?
So wie Lautstärken Änderung oder eine Statusänderung?
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: MadMax-FHEM am 06 Januar 2018, 09:59:35
Zitat von: Phill am 06 Januar 2018, 09:52:00
Hast du für jedes Google Home einen eigenen ifttt Account zugewiesen? Dann würde es gehen.
Ansonsten, hast du Mal geschaut ob das GoogleCast Modul ein Event triggert wenn der googlehome im zuhörmodus ist?
So wie Lautstärken Änderung oder eine Statusänderung?

Event konnte ich noch keinen beobachten...

Das mit den Accounts hab ich auch schon gesehen/gelesen...
Wäre aber eher meine Notlösung...

In jedem Raum ein Google Home/Mini wären mir dann doch zu viele Accounts etc.

Bei Alexa geht das einfach...

Mal sehen, noch ist ja nicht raus wer (bei mir) "gewinnt"... ;-)

Gruß, Joachim
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: tiroso am 07 Januar 2018, 15:02:57
Zitat von: MadMax-FHEM am 06 Januar 2018, 00:54:14
Abgespielt wird das dann wie folgt:

set myGoogleCast play http://translate.google.com/translate_tts?tl=de&client=tw-ob&q=%0aIch%20konnte%20kein%20Ger%c3%a4t%20in%20deinem%20Befehl%20erkennen%2e%20%0a

Hey MadMax und alle anderen die gerne eine Antwort auf einem anderen Device haben wollen...

Ich habe die "set" Befehle "AMADAnswer", "TelegramAnswer", "OwnAnswer" etwas modifiziert.
Eine Antwort kommt auf jeden Fall auf das Anfrage Device auch ohne Angaben. Sprich auf eine TelegramNachricht wird auch per Text geantwortet. Oder per default wird auf ein AMAD Device per Screen Message geantwortet.

Allerdings kann man nun nahezu jedes Device als Antwort mit angeben. Somit lege ich nicht fest welche Geräte als Antwort genutzt werden können.

Ich nehme als Beispiel MadMax der eine Antwort gerne auf seinem cast haben will.

Er gibt eine Frage über Amad ins System und will nun die Antwort auch auf seinem GoogleCast haben:
set teerko AMADAnswer -tts-,(nbr;nsp;uen)myGoogleCast play http://translate.google.com/translate_tts?tl=de&client=tw-ob&q=

Weiteres Beispiel für Ausgabe auf Sonos
set teerko AMADAnswer -tts-,(nbr)sonosbox Speak 20 DE

Erklärung:
Man kann kommasepariert seine Devices angeben. Wenn ein Device zusatzparameter braucht gibt man die mit an.
Es gibt noch kleine "Optionen" die man mit Angeben kann in klammern und Semikolon getrennt.
Folgende Optionen sind möglich:

  • nbr - Alle Breaks werden aus der Antwort entfernt
  • nsp - Die Antwort wird ohne Leerzeichen an das Gerät gesendet
  • uen - Die Antwort wird url encoded
  • qu - Antwortsatz wird mit einfachen Quotes eingerahmt
  • dqu - Antwortsatz wird mit doppel Quotes eingerahmt


Somit ist es Leicht auf jedem Device eine Antwort ausgeben zu lassen.

@MadMax Ich habe kein GoogleCast habe es aber an einem Testdevice probiert. Kannst du mir sagen ob es so geklappt hat?
Titel: Antw:[39_TEERKO.pm] Neues Modul zur Textsteuerung
Beitrag von: MadMax-FHEM am 07 Januar 2018, 17:00:58
Zitat von: tiroso am 07 Januar 2018, 15:02:57
Hey MadMax und alle anderen die gerne eine Antwort auf einem anderen Device haben wollen...

Hi tiroso,

vielen Dank!


Zitat von: tiroso am 07 Januar 2018, 15:02:57
@MadMax Ich habe kein GoogleCast habe es aber an einem Testdevice probiert. Kannst du mir sagen ob es so geklappt hat?

Klar sage ich es dir: hat geklappt! :)

Habe es mal unter "OwnAnswer" eingetragen und bis ich raus hab woher ich mitbekomme woher die Anfrage kommt lasse ich mal beide antworten:

set teerko OwnAnswer (nbr;nsp;uen)myGoogleCast1 play http://translate.google.com/translate_tts?tl=de&client=tw-ob&q=,(nbr;nsp;uen)myGoogleCast2 play http://translate.google.com/translate_tts?tl=de&client=tw-ob&q=

Stellt sich aber nat. gleich die Frage: was tue ich, wenn ich dann mal raus habe woher die Anfrage kommt. Also wie würde ich dann umstellen können, dass mal der eine GoogleCast und mal der andere GoogleCast antwortet?

Ja, klar neuer set-Befehl aber dann müsste der ja auf jeden Fall VOR dem Ausgeben der Antwort passiert sein...
...könnte kniffelig werden.

Jaja, kaum werden "Wünsche" erfüllt ist der geneigte Anwender unzufrieden und kommt mit neuen Dingen um die Ecke ;)
(Wobei ich das ja gleich schon angemerkt hatte)

Gruß, Joachim
Titel: Antw:[39_TEERKO.pm] Neues Modul textbasierten Steuerung
Beitrag von: MadMax-FHEM am 07 Januar 2018, 17:18:10
Hi nochmal,

übrigens gibt es jetzt (dann bald offiziell [hoffe ich]) ein "speak Kommando" für GoogleCast:

https://forum.fhem.de/index.php/topic,45505.msg743604.html#msg743604

Daher lässt es sich jetzt so konfigurieren:

set teerko OwnAnswer (dqu)myGoogleCast speak

Antworten geht so auch schneller als mit Translate bzw. wurde glaube ich an dem Umsetzen von urls generell was im GOOGLECAST-Modul optimiert...

So, jetzt "muss" ich aber wieder "spielen" ;)

Gruß, Joachim
Titel: Antw:[39_TEERKO.pm] Neues Modul textbasierten Steuerung
Beitrag von: tiroso am 07 Januar 2018, 19:47:46
Du könntest dir mehrere Teerkos anlegen...und jedem eine andere Ausgabe zuweisen ;)

Nutzt du denn auch die internen Kommandos oder nur die Benutzerdefinierten?
Titel: Antw:[39_TEERKO.pm] Neues Modul textbasierten Steuerung
Beitrag von: MadMax-FHEM am 07 Januar 2018, 20:03:40
Zitat von: tiroso am 07 Januar 2018, 19:47:46
Du könntest dir mehrere Teerkos anlegen...und jedem eine andere Ausgabe zuweisen ;)

Man könnte so viel, wenn mehr Zeit wäre ;)

EDIT: aber die Idee ist (bei nochmaligem Nachdenken) gut! Danke!

Habe ja bereits "von Beginn an" Alexa per alexa-fhem (und ha-bridge testweise, weil einfach) eingebunden...
...als dann endlich auch Google um die Ecke kam hat es mich natürlich "gejuckt" zu sehen was "besser" ist...

Daher bin ich gerade am Testen wie ich Google Home einbinden kann und welche (von den leider vielen Möglichkeiten) mir am ehesten passt.

Aktueller Favorit: IFTTT mit TEERKO ;)

Es gibt aber ja (wie erwähnt) weitere Möglichkeiten, die alle Zeit brauchen...

Zitat von: tiroso am 07 Januar 2018, 19:47:46
Nutzt du denn auch die internen Kommandos oder nur die Benutzerdefinierten?

Aktuell hauptsächlich mit benutzerdefinierten Kommandos, hatte/habe aber zu beginn auch mal ein oder zwei "interne Kommandos"...

Bin grad dabei einige der Möglichkeiten die Alexa bereits bietet "nachzubauen" (und da habe ich für einiges halt Subs in myUtils und die rufe ich halt nun mit benutzerdefinierten Kommandos auf) um eben vergleichen zu können...
Da reichen mir einige Dinge...

Werde dann noch andere "Wege" testen, mit den gleichen Kommandos/Möglichkeiten und dann entscheiden:

1. Alexa oder Google Home (oder gemischt je nach Anwendung das oder das)

2. Wenn Google Home: welche Art der Integration...

Gruß, Joachim
Titel: Antw:[39_TEERKO.pm] Neues Modul textbasierten Steuerung
Beitrag von: tiroso am 07 Januar 2018, 20:56:41
Neu:
Nicht nur Plural Angaben sondern auch mehrere Devices können in unterschiedlichen Räumen genannt werden

Beispiel Konfiguration

define dummy01 dummy
attr dummy01 TEERKOAlias !Stehlampe,Lampe,Licht
attr dummy01 TEERKORoom Erdgeschoss,Haus,!Wohnzimmer

define dummy02 dummy
attr dummy02 TEERKOAlias !Deckenlampe,Lampe,Licht
attr dummy02 TEERKORoom Erdgeschoss,Haus,!Wohnzimmer

define dummy03 dummy
attr dummy03 TEERKOAlias !Deckenlampe,Lampe,Licht
attr dummy03 TEERKORoom Erdgeschoss,Haus,!Küche


Beispiel Befehle:

"Schalte alle Lampen aus" -> Ergebnis: set dummy01 off;set dummy02 off;set dummy03 off
"Schalte alle Lampen im Wohnzimmer aus" -> Ergebnis: set dummy01 off;set dummy02 off
"Schalte alle Deckenlampen im Haus aus" -> Ergebnis: set dummy02 off;set dummy03 off
"Schalte die Deckenlampe im Wohnzimmer und in der Küche aus" -> Ergebnis: set dummy02 off;set dummy03 off
"Schalte die Deckenlampe und die Stehlampe im Wohnzimmer und in der Küche aus" -> Ergebnis: set dummy01 off;set dummy02 off;set dummy03 off -> Warnung: Stehlampe in Küche nicht verfügbar
Titel: Antw:[39_TEERKO.pm] Neues Modul textbasierten Steuerung
Beitrag von: MadMax-FHEM am 07 Januar 2018, 20:58:08
Hallo tiroso,

gibt es einen Grund warum das "set tiroso OwnAnswer (dqu)myGoogleCast speak" per set und dann in einem Reading landet?

Wäre es nicht besser als Attribut?

Mir ist nur eben (wohl) mein Testsystem "abgeschmiert" bevor fhem (vermutlich) das Reading in der fhem.save abgespeichert hatte...
...da war nat. das Reading nach dem Start weg.

Nach einem "geordneten" shutdown restart war es (nat.) kein Problem...

Hab mich dann nur gewundert, dass nicht mehr "geantwortet" wird...

Bei einem Attribut mache ich normalerweise nach einer Änderung "save config" und somit ist es gesichert...

Wie gesagt: kein Problem (wenn man es weiß) und nur eine Frage...

Gruß, Joachim
Titel: Antw:[39_TEERKO.pm] Neues Modul textbasierten Steuerung
Beitrag von: tiroso am 07 Januar 2018, 21:05:32
Gedacht habe ich mir schon was dabei.

Die Attribute verstehe ich als feste Werte. Somit wird sich für ein TEERKO das AMADDevice auch nicht mehr ändern.

Allerdings bin ich davon ausgegangen das der User zur Laufzeit auch mal die Ausgabe ändern möchte.
Deswegen das ganze per set...
Beispiel:
User lässt sich die Antwort auf einem Sonos Device ausgeben. Das kann man mit Lautstärke angeben. Ich denke nicht das der User sich auch um 22:27 Uhr mit Lautstärke 30 Die Antwort an den Kopf knallen lassen will. Vielleicht sogar nicht per TTS auf seinem AMAD da die Kinder schlafen. Also ändert er die Lautstärke und ändert die Ausgabe auf dem AMAD zu -msg- und setzt das wieder in das TEERKO Device. Soviel zu meinen Gedanken ^^

Genauso zu OwnAnswer.

Vielleicht will man ab 20 Uhr keine akkustische Ausgabe also löscht man einfach das Reading.

Und dann kommt auch nicht immer die Warnung wegen save..


Allerdings werden die Readings bei einem save auch mit abgespeichert. Nur Internals nicht...
Titel: Antw:[39_TEERKO.pm] Neues Modul textbasierten Steuerung
Beitrag von: MadMax-FHEM am 07 Januar 2018, 21:07:49
Ok, macht so nat. Sinn...

Zitat von: tiroso am 07 Januar 2018, 21:05:32
Allerdings werden die Readings bei einem save auch mit abgespeichert. Nur Internals nicht...

Ja, nur normalerweise mache ich nach einem "set" kein "save"...
...nach der Änderung eines Attributes halt schon, schon alleine wegen des "Fragezeichens" ;)

Gruß, Joachim
Titel: Antw:[39_TEERKO.pm] Neues Modul textbasierten Steuerung
Beitrag von: tiroso am 08 Januar 2018, 00:50:48
Neu:

Erkennen und Merken von Artikeln oder Präpositionen und wiederverwenden in Antwortsätzen.
Teerko sucht sich auch Artikel/Präposition für den TEERKOAlias/TEERKORoom der als Favorit angegeben ist wenn über einen anderen Alias angefragt wird.


Beispiel:
"Schalte Deckenlampe im Wohnzimmer an"
Teerko kann keinen Artikel für Deckenlampe finden, "lernt" ihn also auch nicht. Allerdings kann er sich die Präposition für Wohnzimmer merken.
Die Antwort wird sein:
"Ich habe Deckenlampe im Wohnzimmer eingeschaltet"

"Schalte die Deckenlampe im Wohnzimmer an"
Teerko merkt sich nun auch den Artikel für Deckenlampe und kann diesen auch in Zukunft für andere Devices mit gleichem Alias abrufen.
Antwort:
"Ich habe die Deckenlampe im Wohnzimmer eingeschaltet"
Titel: Antw:[39_TEERKO.pm] Neues Modul zur textbasierten Steuerung
Beitrag von: tiroso am 08 Januar 2018, 14:34:42
Damit ich eine Übersicht bekomme würde ich euch bitten die Umfrage zu beantworten.
Ich glaube ich werde die Möglichkeit häufiger nutzen um mal zu sehen wie es bei euch läuft
Titel: Antw:[39_TEERKO.pm] Neues Modul zur textbasierten Steuerung
Beitrag von: Schlimbo am 08 Januar 2018, 19:18:28
Hallo Tiroso,
habe dein Modul gerade upgedatet.
Leider kann ich jetzt meine Lichter nicht mehr schalten.

hier ein Liste von TEERKO:
Internals:
   CFGFN     
   MODE_own___ 0
   NAME       myTEERKO
   NR         2969
   NTFY_ORDER 50-myTEERKO
   STATE      ???
   TYPE       TEERKO
   READINGS:
     2018-01-08 18:55:07   Answer          Ich konnte lichtnicht im Raum Wohnzimmerfinden.
     2018-01-08 15:39:32   MAX_Tuerschloss_battery ok
     2018-01-08 16:51:40   Wohnzimmer_Hzg_oben_battery ok
     2018-01-08 18:55:05   command         receiveVoiceCommand: schalte das wohnzimmer licht aus
Attributes:
   TEERKOFeatures -Alle-
   room       Global
   verbose    5

Der Befehl: "schalte das wohnzimmer licht aus" wurde richtig übergeben.
Die Antwort sieht schon etwas seltsam aus: "Ich konnte lichtnicht im Raum Wohnzimmerfinden" (Hier fehlen zwei Leerzeichen).
Hier ein List vom Licht, dass ich schalten möchte:
Internals:
   CHANGED   
   DEF        group 1  IODev=hueBridge1
   ID         G1
   INTERVAL   
   IODev      hueBridge1
   NAME       HUEWohnzimmer
   NR         537
   STATE      on
   TYPE       HUEDevice
   desired    1
   lights     1,2,3
   name       Wohnzimmer Group
   type       LightGroup
   READINGS:
     2018-01-08 14:51:45   alert           none
     2018-01-08 16:06:36   all_on          1
     2018-01-08 16:06:36   any_on          1
     2018-01-08 17:31:38   bri             11
     2018-01-08 14:51:45   colormode       xy
     2018-01-08 14:51:45   ct              467 (2141K)
     2018-01-08 14:51:45   effect          none
     2018-01-08 14:51:45   hue             13123
     2018-01-08 16:06:36   onoff           1
     2018-01-08 17:31:38   pct             5
     2018-01-08 14:51:45   sat             212
     2018-01-08 14:51:45   xy              0.5125,0.4149
   helper:
     alert      none
     bri        11
     colormode  xy
     ct         467 (2141K)
     devtype    G
     effect     none
     hue        13123
     onoff      1
     pct        5
     sat        212
     update_timeout 1
     xy         0.5125,0.4149
Attributes:
   IODev      hueBridge1
   alexaName  Licht
   alexaRoom  wohnzimmer
   alias      Wohnzimmer Licht
   color-icons 2
   createActionReadings 1
   delayedUpdate 1
   devStateIcon {(HUEDevice_devStateIcon($name),"toggle")}
   event-on-change-reading .*
   genericDeviceType light
   group      HUEGroup
   room       HUEDevice,alexa
   stateFormat {(ReadingsVal($name, 'all_on', '0') == 1)?"on":"off"}

Da im ersten Post steht:
ZitatVerwenden bestehender Attribute wie alias,room,alexaname,alexaroom. Somit muss nicht zwingend die TEERKO eigenen Attribute verwendet werden
habe ich die TEERKO Attribute nicht gesetzt, da ja schon ALEXA Attribute vorhanden sind.

Im Anhang noch das komplette Logfile mit Verbose 5.

Habe ich hier noch etwas falsch konfiguriert, oder stimmt im Modul noch etwas nicht?
Gruß Schlimbo
Titel: Antw:[39_TEERKO.pm] Neues Modul zur textbasierten Steuerung
Beitrag von: tiroso am 08 Januar 2018, 19:35:57
Danke dir.
Ich werde heute abend noch reinsehen.

Vielleicht lese ich nur alexaName nicht richtig ein.
Aber auf die schnelle (auf dem Handy)ist mir aufgefallen das du receiveVoiceCommand mit in das TeerkoDevice eingebracht hast. Hat jetzt nichts mit dem Fehler zu tun. Aber das muss nicht mit darein.

EDIT:
Kannst du mir einen Gefallen tun und folgende Teerko einspielen?

Das ist die beta 1.2 mit einem zusätzlichen Dump.
Nach einspielen Fhem neustarten(shutdown restart) und genau den gleichen Befehl nochmal eingeben...und nochmal den Log Part einstellen.
Titel: Antw:[39_TEERKO.pm] Neues Modul zur textbasierten Steuerung
Beitrag von: Schlimbo am 08 Januar 2018, 20:20:14
Stimmt da war mein Notify nicht ganz korrekt.
Danke für den Hinweis hab's geändert.
Titel: Antw:[39_TEERKO.pm] Neues Modul zur textbasierten Steuerung
Beitrag von: tiroso am 08 Januar 2018, 20:26:18
Kannst du mir einen Gefallen tun und folgende Teerko einspielen?

Das ist die beta 1.2 mit einem zusätzlichen Dump.
Nach einspielen Fhem neustarten(shutdown restart) und genau den gleichen Befehl nochmal eingeben...und nochmal den Log Part einstellen.
Titel: Antw:[39_TEERKO.pm] Neues Modul zur textbasierten Steuerung
Beitrag von: Schlimbo am 08 Januar 2018, 20:57:38
Klar, gerne.
Hier das List:
Internals:
   MODE_own___ 0
   NAME       myTEERKO
   NR         676
   NTFY_ORDER 50-myTEERKO
   STATE      ???
   TYPE       TEERKO
   globalinit 1
   READINGS:
     2018-01-08 20:49:57   Answer          Das Gerät licht scheint es in dem von dir gewünschten Raum nicht zu geben. Das Gerät licht scheint es in dem von dir gewünschten Raum nicht zu geben.
     2018-01-08 20:49:55   command         schalte das wohnzimmer licht aus
Attributes:
   TEERKOFeatures BasicControl,UserDefinedCommands
   room       Global
   verbose    5


Und im Anhang das Log.
Titel: Antw:[39_TEERKO.pm] Neues Modul zur textbasierten Steuerung
Beitrag von: tiroso am 08 Januar 2018, 21:28:49
Ich glaube ich habe den Fehler gefunden.

Es lag daran das ich immer mit Favoriten Rooms arbeite. und wenn keiner vorhanden ist wird auch nicht abgeglichen... "BlaBla über Modul..." Zusammengefasst sollte es klappen ^^
Titel: Antw:[39_TEERKO.pm] Neues Modul zur textbasierten Steuerung
Beitrag von: Schlimbo am 08 Januar 2018, 21:37:21
Geht leider immer noch nicht.
Kannst du die Datei noch mal checken, hat nämlich noch die gleiche Uhrzeit wie die vorherige Datei (20:26:14)
Titel: Antw:[39_TEERKO.pm] Neues Modul zur textbasierten Steuerung
Beitrag von: tiroso am 08 Januar 2018, 22:09:47
Ich hoffe das ich das diesmal richtig gemacht habe.


Ich habe versucht genau das gleich device als dummy abzubilden. Mit den gleichen Attributen. Bei mir scheint es zu klappen.
Ich würde noch einmal gerne das log nachdem du das eingespielt hast...

Und falls das nicht klappt...ja dann muss ich nochmal genauer nachdenken.  :-\
Titel: Antw:[39_TEERKO.pm] Neues Modul zur textbasierten Steuerung
Beitrag von: Schlimbo am 08 Januar 2018, 22:35:50
2018-01-08 22:14:01   Answer          Das Gerät Licht darf ich nicht kontrollieren. Kontrolliere das Attribute TEERKOAllowedToControl ob das Gerät dort vorhanden ist.
Jetzt kommen wir der Sache näher. Nach setzten von TEERKOAllowedToControl kann ich das Licht auch steuern. :)
Vielen Dank.
Titel: Antw:[39_TEERKO.pm] Neues Modul zur textbasierten Steuerung
Beitrag von: tiroso am 08 Januar 2018, 22:42:38
Super!!!

Das freut mich. Denk dran verbose wieder auf 3 zu setzen. Teerko "schreibt" sonst unglaublich viel
Titel: Antw:[39_TEERKO.pm] Neues Modul zur textbasierten Steuerung
Beitrag von: Schlimbo am 08 Januar 2018, 22:50:37
Wie ist bei den ganzen Aliasse (Alias,AlexaName,TEERKOName) eigentlich die Rangfolge?
Was passiert zum Beispiel, wenn diese an einem Device alle mit unterschiedlichen Namen gesetzt sind?
Werden dann alle ausgewertet oder nur TEERKOName?
Titel: Antw:[39_TEERKO.pm] Neues Modul zur textbasierten Steuerung
Beitrag von: tiroso am 08 Januar 2018, 23:19:53
Es gibt keine Reihenfolge. Es werden alle Aliase abgeglichen.

Wenn du ein Device hast was im alexaNamen Stehlampe, im alias Deckenlampe und im TEERKOAlias Tischlampe stehen hat dann kannst du das Device über jeden Namen ansprechen. Deswegen gebe ich auch die Möglichkeit unter TEERKOAlias kommasepariert alle aliase anzugeben.

Den einzigen Vorteil den es hat TEERKOAlias zu nehmen ist das du Favoriten anlegen kannst.
attr teerko TEERKORoom Haus,Erdgeschoss,!Wohnzimmer
attr teerko TEERKOAlias Lampe,Licht,!Deckenlampe


Befehl: Schalte die Lampe im Erdgeschoss an
Anwtort: Ich habe die Deckenlampe im Wohnzimmer eingeschaltet

Und wenn ein anderes Device die gleichen Namen und den gleichen Raum hat...dann musst du eben alle Ansprechen ;)
Schalte alle Lampen im Erdgeschoss aus z.B.

EDIT:
Achja...Der Devicealias Wohnzimmer Lampe ist ungünstig gewählt. Wohnzimmerlampe eher.
Wohnzimmer seperat wird als Örtlichkeit erkannt. Wohnzimmerlampe als Alias. Das habe ich so in der Logik drin. Sprich bei dir wird das alias Wohnzimmer Lampe niemals matchen.
Titel: Antw:[39_TEERKO.pm] Neues Modul zur textbasierten Steuerung
Beitrag von: Schlimbo am 09 Januar 2018, 07:43:28
Zitat von: tiroso am 08 Januar 2018, 23:19:53
Achja...Der Devicealias Wohnzimmer Lampe ist ungünstig gewählt. Wohnzimmerlampe eher.
Wohnzimmer seperat wird als Örtlichkeit erkannt. Wohnzimmerlampe als Alias. Das habe ich so in der Logik drin. Sprich bei dir wird das alias Wohnzimmer Lampe niemals matchen.
Das Alias ist bei mir nur für die bessere Lesbarkeit im Webinterface gesetzt, deswegen ist hier auch immer Örtlichkeit und Name enthalten, aus diesem Grund ist es dann auch nicht schlimm, wenn das nie matched.
Titel: Antw:[39_TEERKO.pm] Neues Modul zur textbasierten Steuerung
Beitrag von: Schlimbo am 09 Januar 2018, 07:57:43
Ist es eigentlich auch möglich dem TEERKO Device einen default Raum zuzuordnen, um hierdurch bei einer nicht vorhandenen Ortsangabe im Befehlssatz, den im Device hinterlegten Raum zu verwenden.
So könnte man für jeden Raum ein TEERKO Device anlegen und dann beim ansprechen eines Gerätes, im selben Raum, die Ortsangabe weglassen.
z.B: "Schalte das Licht an".
Titel: Antw:[39_TEERKO.pm] Neues Modul zur textbasierten Steuerung
Beitrag von: tiroso am 09 Januar 2018, 08:01:44
Ich habe vor...allerdings dauert es noch was...Das man Teerko sagen kann das er sich einen Raum merken soll oder man diesen Raum manuell setzen kann (notify/bewegungsmelder/o.ä.).

Dann müsste man den ersten Befehl mit Ortsangabe starten (Schalte das Licht im Wohnzimmer an). Teerko merkt sich Wohnzimmer und sucht dann (Schalte das Licht aus) erstmal in den gemerkten Räumen bevor die normale Suche weitergeht.

Soweit der Plan
Titel: Antw:[39_TEERKO.pm] Neues Modul zur textbasierten Steuerung
Beitrag von: Schlimbo am 09 Januar 2018, 09:30:41
Hallo tiroso,
wäre es noch möglich für das Attribut "TEERKOAMADDevice" die Option -Alle- mit aufzunehmen, somit müsste das Attribut beim anlegen oder löschen eines AMADDevice's nicht mehr angepasst werden.

Mir ist gerade noch aufgefallen, dass wenn ich das Attribut "TEERKOAMADDevice" setze das Reading "Answer" nicht mehr aktualisiert wird:
Internals:
   MODE_amad_HTC_M8__ 0
   NAME       myTEERKO
   NR         676
   NTFY_ORDER 50-myTEERKO
   STATE      ???
   TYPE       TEERKO
   globalinit 1
   READINGS:
     2018-01-09 08:42:44   Answer          Ich habe das Licht wohnzimmer ausgeschaltet.
     2018-01-09 09:01:38   command         schalte das wohnzimmer licht an
Attributes:
   TEERKOAMADDevice HTC_M8
   TEERKOAllowedToControl -Alle-
   TEERKOFeatures BasicControl,UserDefinedCommands
   room       Global


Titel: Antw:[39_TEERKO.pm] Neues Modul zur textbasierten Steuerung
Beitrag von: tiroso am 09 Januar 2018, 09:33:31
-Alle- kann ich mit reinnehmen. Kein Problem.

Das mit der Antwort...da hast du Recht. Das muss ich noch mit reinnehmen. Im Moment wird das Reading nur beschrieben wenn der Befehl am Modul direkt eingetragen.
Titel: Antw:[39_TEERKO.pm] Neues Modul zur textbasierten Steuerung
Beitrag von: tiroso am 09 Januar 2018, 14:25:22
Probier es bitte mit der Version

Ich werde wenn die Umfrage gelaufen ist eine stable version rausbringen die die Sachen die du angesprochen hast beinhaltet. Sind bis auf "-Alle-" in AMADDevices ja alles Fixes und keine neuen Features
Titel: Antw:[39_TEERKO.pm] Neues Modul zur textbasierten Steuerung
Beitrag von: Schlimbo am 09 Januar 2018, 15:19:50
Danke, funktioniert. :)
Auch das Reading "Answer" wird jetzt aktualisiert.

Habe gerade noch ein paar Status Abfrage probiert, das klappt noch nicht so ganz:
2018-01-09 14:46:12   Answer          Das Gerät heizung scheint es in dem von dir gewünschten Raum nicht zu geben. Der Status der Heizung im Wohnzimmer ist 12.0 °C.
2018-01-09 14:46:11   command         wie ist der status der heizung im wohnzimmer

2018-01-09 14:50:24   Answer          Ich konnte kein Gerät in deinem Befehl erkennen.
2018-01-09 14:50:23   command         wie ist der status vom licht im wohnzimmer


Schön ware es noch, wenn man bei Geräten wie Heizung/Thermostat auch einfach fragen könnte:
Wie warm ist es im Wohnzimmer?
Wie viel Grad ist es im Wohnzimmer?


Und noch eine bitte, könntest du für die Farbwahl von Lampen auch noch warmweiß und kaltweiß aufnehmen?

Wie machst du das mit dem setzen der Farbwerte? Welchen Befehl ein Gerät akzeptiert kann ja von Gerät zu Gerät unterschiedlich sein.
Habe z.B. das Problem, dass ich HYPERION Geräte nicht steuern kann.
set Hyperion rgb 255,0,0 : Value of rgb has to be in RGB hex format like ffffff or 3F7D90
Titel: Antw:[39_TEERKO.pm] Neues Modul zur textbasierten Steuerung
Beitrag von: tiroso am 09 Januar 2018, 15:42:57
Erster Part dürfte behoben sein

zweiter auch

Heizungssteuerung steht auf meiner Roadmap

attr Hyperion TEERKOExpert map:setcolor=rgb %CHEX%

Titel: Antw:[39_TEERKO.pm] Neues Modul zur textbasierten Steuerung
Beitrag von: Schlimbo am 09 Januar 2018, 16:37:40
Wow du bist ja schnell :)
Status klappt jetzt, danke auch für das TEERKOExpert Beispiel --> funktioniert damit jetzt auch.
Ist das mit %CHEX% irgendwo beschrieben? Welche Variablen gibt es hier noch?

Warmweiß|Kaltweiß geht noch nicht.
Titel: Antw:[39_TEERKO.pm] Neues Modul zur textbasierten Steuerung
Beitrag von: tiroso am 09 Januar 2018, 18:31:47
kann man warmweiß/kaltweiß mit hex/rgb abbilden? Ich denke nicht. was kommt dem denn am nächsten?
Titel: Antw:[39_TEERKO.pm] Neues Modul zur textbasierten Steuerung
Beitrag von: Schlimbo am 09 Januar 2018, 20:27:04
Spricht etwas dagegen das direkt in kelvin zu steuern?

Titel: Antw:[39_TEERKO.pm] Neues Modul zur textbasierten Steuerung
Beitrag von: tiroso am 09 Januar 2018, 20:47:25
Ich habe meine Farbtabelle mit hex codes angegeben. Ich nutze dann die internen Color::hex2rgb  oder hex2hsv um umzurechnen.
Welchen hex könnte man für die beiden Sachen nehmen?

Kelvin gebe ich z.Zt. gar nicht raus.

Habe mich vllt zu wenig mit der materie auseinandergesetzt
Titel: Antw:[39_TEERKO.pm] Neues Modul zur textbasierten Steuerung
Beitrag von: Schlimbo am 09 Januar 2018, 20:58:21
Kenne mich damit leider auch nicht gut genug aus, evtl. kannst du dir da ja was bei dem Alexa Modul abschauen.
Titel: Antw:[39_TEERKO.pm] Neues Modul zur textbasierten Steuerung
Beitrag von: tiroso am 09 Januar 2018, 21:50:58
Probier mal bitte
Titel: Antw:[39_TEERKO.pm] Neues Modul zur textbasierten Steuerung
Beitrag von: Schlimbo am 09 Januar 2018, 22:09:17
Klappt leider nicht.
Befehl wird zwar angenommen, aber meine HUE Lampen werden auf Rosa gestellt.
Denke nicht dass wir hier über RGB zum Ziel kommen.
Titel: Antw:[39_TEERKO.pm] Neues Modul zur textbasierten Steuerung
Beitrag von: tiroso am 09 Januar 2018, 22:23:49
Ich habe leider keine Hue Lampe. Welche Werte kann man denn da setzen? Hex? HSV? Nur einen Wert von 0 - 100?
Titel: Antw:[39_TEERKO.pm] Neues Modul zur textbasierten Steuerung
Beitrag von: Schlimbo am 10 Januar 2018, 07:19:38
Guten morgen tiroso,
Aus HUEDEVICE commandref:
Zitatset <name> ct <value> [<ramp-time>]
set colortemperature to <value> in mireds (range is 154-500) or kelvin (range is 2000-6493).

Warmweiß: ct 454 (2202K)
Kaltweiß:ct 154 (6493K)

Gruß schlimbo
Titel: Antw:[39_TEERKO.pm] Neues Modul zur textbasierten Steuerung
Beitrag von: tiroso am 10 Januar 2018, 09:03:57
Auf commandref hätte ich auch mal kommen können.
Ich werde (nicht mehr in beta 1.2) die Funktion hex2hsb mit reinnehmen. Dann kannst du die Farbe mit hsb angeben.
Titel: Antw:[39_TEERKO.pm] Neues Modul zur textbasierten Steuerung
Beitrag von: MadMax-FHEM am 13 Januar 2018, 11:14:59
Hallo tiroso,

----- OFF -----
angesichts von Diskussionen in anderen Threads und da ich (aktuell) nicht mal Zeit hab die sehr umfangreiche Funktionaliät von TEERKO ausgiebig zu testen, werde ich wohl keine weiteren Module (zumidest erst mal) mehr in betracht ziehen.
TEERKO scheint mir auch ohne weitere Vergleichstests als sehr mächtig und (für meine Belange) mehr als ausreichend...
----- ENDOFF -----

Hab's geschrieben und widerspreche mir gleich ;)

Ich hatte wieder etwas Zeit und wie du weißt nutze ich aktuell hautpsächlich/meist/ausschließlich (historisch bedingt wegen Vergleich von Alexa-Einbindung vs. Google Home-Einbindung) "userdefinedcommands"... ;)

Funktioniert prima! :)

Hmmm, aber: besteht irgendwie die Möglichkeit eine in einer perl-Sub generierte Antwort zurückzugeben und das dann als TEERKO-Antwort weiter zu verarbeiten?

Wie gesagt vielleicht sehr speziell aber ich nenne mal ein Beispiel:

Ich habe eine Sub für "gute Nacht".
Die wird über Alexa (alexa-fhem Custom Skill) gerufen und dort wird dann der Return-Wert (return Antwortstring) per Alexa ausgegeben, kann also auch beliebig in der Sub "zusammengebastelt" werden...

Ich kann ja bei userdefinedcommands eben genau auch diese Sub aufrufen (tue ich bereits abwechselnd, will ja vergleichen ;)  ).
Als Antwort kann ich ja mehr oder weniger "nur" fixe Dinge vorgeben...
Bzw. nur über beispielsweise einen Dummy oder ein "selbstdefiniertes Reading" die Antwort zurückgeben...
Wobei habe ich gerade getestet: geht leider (auch) nicht.

Also Idee war: in der Sub ein "setreading" mit der Antwort und dann als "out" im userdefinedcommand %Device:reading% geht zwar aber leider ist die Antwort schneller draußen als das setreading abgearbeitet wird ;)
D.h. ich bekomme immer die "letzte" Antwort, also von dem Aufruf davor ;)

Jaja, immer die Anwender mit den Sonderlocken! ;)
Aber hier traue ich mich noch nach solchen Sonderlocken zu fragen ;)
Drum musst du nun damit leben ;)
Ups schon wieder eiegentlich "OFF"...

Aber nachdem ich wohl der einzige Anwender (ohne Probleme) bin, zumindest laut Umfrage, kann ich schon mit "Sonderbehandlung" rechen, oder? ;)

Gruß und danke für das Modul, Joachim
Titel: Antw:[39_TEERKO.pm] Neues Modul zur textbasierten Steuerung
Beitrag von: tiroso am 14 Januar 2018, 09:51:40
Ich lass das mal einfach so stehen ;) Ich muss ja nicht noch mehr darin rumrühren.

Zu deinem Wunsch. Der ist nachvollziehbar. Hatte ich mir vor ein paar Tagen auch gedacht.
Ich habe es mir aufgeschrieben und werde mich vllt nächste Woche mal dran begeben das umzusetzen...  ;)

Sonderbehandlungen bekommt keiner  ;D . Aber da du der einzige bist der das wirklich testet habe ich auch nur die Wünsche weiter oben ^^
Titel: Antw:[39_TEERKO.pm] Neues Modul zur textbasierten Steuerung
Beitrag von: MadMax-FHEM am 14 Januar 2018, 20:46:33
Jaja ;)

Ah, ok, wenn du auch schon drüber nachgedacht hast...

Vielen Dank schon mal!

Eilt nicht, bin ab übernächster Woche eh erst mal für 2-3 Wochen dienstl. im Ausland...
...komme daher wohl erst Mitte Feb. wieder zum Testen... :-|

Gruß, Joachim
Titel: Antw:[39_TEERKO.pm] Neues Modul zur textbasierten Steuerung
Beitrag von: RoBra81 am 15 Januar 2018, 15:52:02
Hallo,

ich habe jetzt auch mal angefangen, ein bisschen mit TEERKO zu spielen und finde es bislang recht interessant. Ich habe aber mal eine Frage zur MultiAlias-Funktion: TEERKO erkennt alle Geräte mit Alias Lampe, wenn ich im sage, er solle alle Lampen schalten. Wenn ich ihm allerdings auftrage, alle Lichter zu schalten, findet er die Geräte mit Alias Licht nicht. Kann ich ihm das irgendwie beibringen oder wäre es eher dein Part?

EDIT: Schön wäre auch, wenn er mit das Licht ebenfalls alle Geräte mit Alias Licht schalten würde (z.B. Schalte das Licht in der Küche aus)...

Vielen Dank
Ronny
Titel: Antw:[39_TEERKO.pm] Neues Modul zur textbasierten Steuerung
Beitrag von: tiroso am 15 Januar 2018, 16:22:08
Moin...
Schön das ein weiterer das testet ;)

Lad dir nochmal das Modul aus dem ersten Post, ich habs gefixt.

Schalte das Licht in der Küche aus hätte aber eigentlich funktionieren sollen...oder meinst du mit das Licht sollen mehrere Devices gesteuert werden? Das wäre nicht so wie ich es geplant hatte. Schalte alle Lichter in der Küche aus klappt ja jetzt

Gruß
Titel: Antw:[39_TEERKO.pm] Neues Modul zur textbasierten Steuerung
Beitrag von: RoBra81 am 15 Januar 2018, 19:55:24
Vielen Dank für die Anpassung, ich werde gleich mal weiter testen. Ich habe als Proof of concept mit dem "kompliziertesten" Raum begonnen und versuche nun den für mich besten Weg zu finden (vielleicht kannst du deinen Senf dazu geben :-)):

In meiner Küche habe ich fünf schaltbare Lampen:
OG.ku.LI.Besenschrank
OG.ku.LI.Kuechenschrank
OG.ku.LI.Kuechenzeile
OG.ku.LI.Kuehlschrank
OG.ku.LI.Theke

Denen habe ich in einem ersten Versuch den Room Haus, Wohnung, Obergeschoss, !Küche, ![Name] und den Alias Lampe, Licht, ![Name] (z.B. Besenschrank) gegeben. Folgende Befehle funktionieren:

Schalte den Besenschrank ein.
Schalte alle Lampen in der Küche ein.

Durch das Hinzufügen des Namens auch zum Room funktionieren auch diese Befehle:

Schalte das Licht im Besenschrank ein. (dies wird allerdings mit Ich habe das Besenschrank in der Küche eingeschaltet. beantwortet)
Schalte das Licht an der Theke ein. (ähnliche Antwort)

Natürlichsprachlich würde ich mit

Schalte das Licht in der Küche aus.

von der angesprochenen Person erwarten, dass sie alle Lichter in der Küche ausschaltet - sprich, das Licht in/im ohne konkrete Instanz meint alle vorhandenen Instanzen des Raumes...

Ich werde weiter Testen...

Ronny
Titel: Antw:[39_TEERKO.pm] Neues Modul zur textbasierten Steuerung
Beitrag von: hdad am 15 Januar 2018, 20:56:05
Moin,

es ist nicht so das ihr alleine seit. Ich lese auch schon eine ganze Weile mit und habe dein Modul mit AMADNG und Telegram zu laufen.
Dein Modul ist für mich,der kein Programmierer ist, einfach zu handhaben. Läuft soweit sehr gut.
Eins ist mir jetzt bei der Beta aufgefallen.
Ich habe in der Küche 2 Lampen. Alias Licht und Tresen, sage ich nun

"Schalte das Licht aus und den Tresen an"

antwortet die nette Dame

"Ich habe das Licht eingeschaltet.Ich habe den Tresen eingeschaltet"

und alles geht an.Sobald ein "an" im Input genannt ist wird das "aus" ignoriert.
Das wäre mir nicht so aufgefallen wenn es in der Alpha Version richtig funktioniert hätte.

tiroso es ist schön, das du an dem Modul weiter arbeitest.

Gruß holger
Titel: Antw:[39_TEERKO.pm] Neues Modul zur textbasierten Steuerung
Beitrag von: tiroso am 15 Januar 2018, 23:37:17
Nabend.

@Ronny:
Die Antwort kann ich relativ leicht erklären. Du hast den Alias im TEERKOAlias mit einem Favoriten versehen. Da das Licht in der Besenkammer kein Favorit ist wird Teerko einen Favoriten für dich raussuchen. Und das ist in dem Fall dann halt der [Name]. Eine Lösung wäre den alias Licht auch als Favoriten zu Kennzeichen. Wenn der alias den du sagst kein Favorit ist sucht Teerko der Reihe nach die aliase durch bis er einen Favoriten gefunden hat. Wenn es keinen gibt wird der alias im Antwortsatz benannt den du auch verwendet hast. Ansonsten finde ich es gut wie du es testest. Benenne wie du willst und ich hoffe das das Modul zufriedenstellend arbeitet. Ich weiß nur nicht ob ich alle Fehler mit meinem Wissen aus der Welt schaffen kann.
Ich würde mir nicht anmaßen bei meinem Wissensstand von Natural Language Processing zu sprechen. Klar ich versuche mein bestes aber da habe ich keine Ahnung wie ich das in einer Satzsemantik umsetzen soll den Bezug von das Licht auf alle "Lichter" eines Raumes einzugehen. Als Workaround würde ich vorschlagen mit einer structure oder einer lightscene zu arbeiten...Ich weiß irgendwie unbefriedigend aber da muss ich gestehen habe ich keine Ahnung.

Wo wir schon beim Thema Satzsemantik sind @holger:
Du hast Recht das war in der Alpha Version mit drin. Aaaaaaber...das Schema wie ich die Sätze auswerte ließ mich in der ersten Version an meine Grenzen kommen. Ich kann Perl nicht gut genug um die Sätze richtig auszuwerten. Ich bin in der ersten Version nach dem Wort "und" vorgegangen. Das war aber mitunter einer der Gründe wieso das Modul so instabil war. Was passierte z.b. bei Schalte das Licht in 2 Minuten und 3 Sekunden an....In der ersten Version wurde im ersten Part nichts erkannt und im zweiten das etwas Zeitverzögert angeschaltet werden sollte, aber es wurde kein Device erkannt....
Es gibt auch das Problem z.B. bei dem Satz, Schalte die Deckenlampe in der Küche an und im Wohnzimmer die Stehlampe aus und wie ist der Status aller Lampen im Erdgeschoss. Welches Device gehört zu welchem Raum? Welches Device in welchem Raum wird entweder ein oder ausgeschaltet. Und die Status Abfrage hat dann alles durcheinander gebracht.

Ich wollte mit dem Modul eine Basis schaffen um Text halbwegs vernünftig auszuwerten. Dafür musste ich erstmal auf einige Funktionen verzichten. Unter anderem das erkennen und Filtern von verschieden Aktionen zu mehreren Devices in unterschiedlichen Räumen.

Aber dein Post hat mir ein Fehler aufgezeigt den ich jetzt gefixt habe.

Teerko bildet Prioritäten über den eingegebenen Befehl. Dabei erlangt "schalte aus" eine höhere Priorität als "schalte ein". Dementsprechend sollte Teerko jetzt IMMER ausschalten bei dem Satz "Schalte das Licht aus und den Tresen an".

Ich habe trotzdem wieder eine Satztrennung mit drin. Die funktioniert allerdings nicht so wie vorher. Das Satzzeichen wo ich sicher sein kann das ein neuer Satz anfängt ist der .(Punkt). Demenstprechen könnte dein Befehl folgendermaßen funktionieren "Schalte das Licht aus. Schalte den Tresen an". Auch nicht sooooo dolle aber es klappt. Keine Sorge Google über AMAD versteht das auch. Es klingt nur unglaublich komisch und du bekommst erstmal das Gelächter deiner Frau zu hören. "Schalte das Licht aus PUNKT Schalte den Tresen an".

Wenn ich weiß wie man die Satzsemantik logisch umsetzen kann ohne auf Google zurückzugreifen dann kann ich das gerne wieder reinnnehmen ^^
Titel: Antw:[39_TEERKO.pm] Neues Modul zur textbasierten Steuerung
Beitrag von: RoBra81 am 16 Januar 2018, 07:47:46
Zitat von: tiroso am 15 Januar 2018, 23:37:17
Als Workaround würde ich vorschlagen mit einer structure oder einer lightscene zu arbeiten...Ich weiß irgendwie unbefriedigend aber da muss ich gestehen habe ich keine Ahnung.
Das wäre für mich nicht wirklich ein Workaround, da ich eigentlich keine Lust habe, zusätzliche Devices hierfür anzulegen...

Zitat von: tiroso am 15 Januar 2018, 23:37:17
... ich keine Ahnung wie ich das in einer Satzsemantik umsetzen soll den Bezug von das Licht auf alle "Lichter" eines Raumes einzugehen.
Ich hätte selbst keine Idee, wie ich überhaupt eine so umfangreiche Spracherkennung umsetzen würde und verstehe, dass sicherlich eine ganze Menge Arbeit und Hirnschmalz in diesem Modul steckt. Von daher nehme ich alles, was ich bekomme ;-) und kann nur meine (vermutlich viel zu einfach gedachten) Ideen äußern: Wenn ich Teerko bei meinem Setup (ich habe die Favoriten mal rausgenommen) sage

Schalte das Licht in der Küche ein

erhalte ich als Antwort

Ich finde zuviele Geräte die den Namen Licht haben obwohl du nur eins ansteuern möchtest. Nimm alle oder nenn mir einen Raum dazu. Licht gibt es häufiger. Sei genauer wenn du Licht schalten möchtest.

Teerko findet also alle Geräte, vermutet aber, dass ich nur eines schalten möchte (dem ist ja nicht so). Vielleicht kann man ihm (generell, über Attribut am Teerko-Device (DoMultiCmd) oder aber über Teerko-Attribut am jeweiligen zu schaltenden Gerät (InkludeInMultiCmd oder so)) sagen, dass er in diesem Fall nicht davon ausgehen soll, nur eines zu schalten, sondern einfach alle Schalten soll. Ähnliches würde ja bei einer Statusabfrage auch funktionieren (Statusabfragen habe ich allerdings generell noch nicht ausprobiert, daher rein hypothetisch):

Frage: Wie warm ist es im Wohnzimmer?
Antwort: Der Temperatursensor LinkeWand melde 23°C. Der Temperatursensor RechteWand meldet 24°C. (oder die Durchschnittstemperatur aller Sensoren im Wohnzimmer)

Ronny

EDIT: Das mit der Durchschnittsttemperatur hatte ich irgendwo anders gelesen, aber vielleicht wäre es trotzdem interessant, sich das Modul mal anzusehen: https://forum.fhem.de/index.php/topic,80960.0.html (ich habe es allerdings auch noch nicht probiert - scheint mir etwas mächtiger, aber schwerer konfigurierbar zu sein als deines)
Titel: Antw:[39_TEERKO.pm] Neues Modul zur textbasierten Steuerung
Beitrag von: ToM_ToM am 16 Januar 2018, 13:22:41
Hey, wie ich sehe, geht's wieder ordentlich voran mit dem Modul :)

Leider konnte ich die Beta noch nicht testen. Ich suche aktuell noch nach einer Lösung die Spracheingabe überhaupt zu verarbeiten. Hatte es bisher mit Autovoice und Tasker gelöst.
Problem ist nur dass bei "Autovoice Continues" die ganze Zeit die Nebengeräusche des Mikros zu hören sind, welches immer das Bing als Bestätigung zurück gibt.
Wie habt ihr das denn gelöst?

PS: Warum Autovoice? Weil Autovoice auch offline funktioniert und ich nicht alles was ich spreche, an die Google oder Amazon - Cloud übertragen muss.

VG, Thomas
Titel: Antw:[39_TEERKO.pm] Neues Modul zur textbasierten Steuerung
Beitrag von: tiroso am 16 Januar 2018, 21:11:58
@Ronny:
Ich werde mal sehen ob und wie ich das umsetze mit der Angabe das Licht auf mehrere Lichter bezogen. Steht jetzt aber nicht an erster Stelle ;) Aber deine Idee wie man es umsetzen könnte nehme ich mit rein.
Ich hatte in der ersten Version eine Temperaturabfrage drin. Das würde ich auch gerne wieder reinnehmen, steht also definitv auf meiner Liste.

@Thomas:
Ich habe das ganze mit AMAD von Leon hauptsächlich umgesetzt. Der Vorteil ist natürlich das ich die Antwort darauf bekomme.
Wieso machst du das nicht auch so? AutoVoice kannst du als Plugin auch in Automagic als Trigger nutzen. Wenn du den Flow von AMAD etwas modifizierst kannst du den Befehl doch super in FHEM einbringen. Und dann natürlich auch mit TEERKo auswerten.
Was Autovoice Continues betrifft habe ich leider keine Erfahrung. Aber vom Prozedere dürfte es doch das gleiche sein wie die Auswertung über Google selber?
Titel: Antw:[39_TEERKO.pm] Neues Modul zur textbasierten Steuerung
Beitrag von: MadMax-FHEM am 17 Januar 2018, 00:42:52
Zitat von: tiroso am 16 Januar 2018, 21:11:58
Ich hatte in der ersten Version eine Temperaturabfrage drin. Das würde ich auch gerne wieder reinnehmen, steht also definitv auf meiner Liste.

Das würde ich dann über ein userdefinedcommand lösen (wollen), wenn die zurückgegebene Antwort aus der aufgerufenen Sub dann als Antwort in TEERKO landet und auch "angesagt" wird ;)

Und noch einige weitere Abfragen... :)

Aber aktuell muss ich erst mal weitere Dinge die es schon gibt umsetzen (du weißt: Vergleich Alexa/Google Home) und dann berufsbedingt eine kleine Pause einlegen :-|

Gruß, Joachim
Titel: Antw:[39_TEERKO.pm] Neues Modul zur textbasierten Steuerung
Beitrag von: ToM_ToM am 17 Januar 2018, 14:57:23
ZitatIch habe das ganze mit AMAD von Leon hauptsächlich umgesetzt. Der Vorteil ist natürlich das ich die Antwort darauf bekomme.
Wie genau hast du das gelöst dass dein System auf ein Triggerword hört und dann die Befehle ausführt?

VG, Thomas
Titel: Antw:[39_TEERKO.pm] Neues Modul zur textbasierten Steuerung
Beitrag von: hdad am 17 Januar 2018, 15:23:31
Moin,

tiroso,
(Ich weiß das gehört vielleicht nicht hierher) ;)
würdest du uns verraten wie du den Flow von AMAD im Automagic modifiziert hast.
Auf meinem TabletUI habe ich ein Button mit dem ich

"set AMADDevice activateVoiceInput "

schalte.
Im receiveVoiceCommand von der AmadBridge kommt dann das gesprochene an.
Ich muß halt immer diesen Button drücken.
Mache ich es mit Google Assistant wo Autovoice mithört kommt nichts bei AmadBridge an.


Gruß holger
Titel: Antw:[39_TEERKO.pm] Neues Modul zur textbasierten Steuerung
Beitrag von: tiroso am 17 Januar 2018, 21:08:40
@Joachim: ich werde mich bemühen ^^

@Thomas: Du kannst in Teerko Triggerwords anlegen, oder......siehe Antwort an Holger

@Holger: Da habe ich das Gefühl das du dir Automagic nur wegen AMAD installiert hast kann das sein ;)
Also...Automagic führt die Flows entweder so aus das man einen Flow manuell ausführt, in einem anderen Flow aufruft (Das ist im Moment deine Variante. Durch setzen im AMAD mit activateVoiceInput ruft Leon den Flow Voice Control auf) oder wenn du die Trigger in dem Flow modifizierst (So verwende ich den Flow)

Das erste "Kästchen" im Flow Voice Control beinhaltet die Trigger die diesen Flow auslösen. Ich habe mir einen Shortcut angelegt. Somit kann ich den Flow direkt vom Homescreen aufrufen ohne in eine TabletUi, Fhem Instance zu gehen.
Des weiteren kannst du aber als Trigger auch ein Plugin (In dem Fall Autovoice) angeben. Sobald Autovoice ein Sprachbefehl erkannt hat wird dieser Flow aufgerufen und die Variablen aus Autovoice werden mit übergeben. Soweit so gut....In dem Flow wird sofort die Spracheingabe aufgerufen...Was wir ja nicht brauchen...also kannst du das ganze mit einer Bedingung umgehen. Wenn der Trigger auslöst prüfst du ob die Variablen gesetzt worden sind. Sollte dem nicht so sein wird die Spracheingabe aufgerufen...wenn allerdings schon etwas übergeben wurde kann man den Schritt auch überspringen.
Nun kommen wir noch zur Performance...Da jeder Sprachbefehl an Fhem dann übertragen wird (Zumindest mit Autovoice Continues Mode) wird Teerko auf jeden Befehl reagieren. Es wird wahrscheinlich nicht großartig ins Gewicht fallen aber in dem Modus wird wahrscheinlich alle paar Sekunden ein Voice Kommando übertragen. Wenn du die Hotkeys im Teerko einträgst wird er auch nicht drauf reagieren. Aber du kannst genauso gut in Automagic im Trigger für das Plugin weitere Einstellungen vornehmen. Ich empfehle da schon das Keyword/Keywords einzutragen. Damit sondiert schon Autovoice ob das Voice Kommando übertragen werden soll oder nicht. Zusätzlich würde ich den Parameter Precision auf 1 setzen (Default ist 5). Damit wird nur der Befehl übertragen der die größte Übereinstimmung hat. Sonst werden 5 Varianten als Array übertragen...Was in dem Fall eher kontra produktiv ist.

Ich hoffe das war verständlich...Ich habe aber zur veranschaulichung noch ein paar Screenshots...Ein hoch auf Leons AMAD ^^

Aber dann bleiben wir bei Teerko, hmm ;)
Titel: Antw:[39_TEERKO.pm] Neues Modul zur textbasierten Steuerung
Beitrag von: hdad am 17 Januar 2018, 22:10:38
Danke tiroso,

Du hast Recht Automagic habe ich auf dem Tablet nur wegen AMAD zu laufen. Sonst läuft auf dem Handy Tasker.
Leon arbeitet ja gerade daran das AMAD auch mit Tasker funktioniert.

Super Anleitung. Ich muß mich aber erstmal durch arbeiten.

Gruß holger
Titel: Antw:[39_TEERKO.pm] Neues Modul zur textbasierten Steuerung
Beitrag von: ToM_ToM am 22 Januar 2018, 19:46:59
Hey tiroso,

das ist eine ziemlich coole Anleitung. Aber es löst leider noch nicht mein akustisches Feedback-Problem von Autovoice. ;)
Weißt du ob man das irgendwie deaktivieren kann? Ich finde dazu nichts in Autovoice.
Wenn ich die Lautstärke des Tablets auf 0 stelle, ist es zwar weg, aber dann bekomme ich ja logischerweise auch keine Ansagen mehr zu hören.

VG, Thomas
Titel: Antw:[39_TEERKO.pm] Neues Modul zur textbasierten Steuerung
Beitrag von: Schlimbo am 15 Februar 2018, 18:27:52
Hallo tiroso,
bekomme beim Start von FHEM folgende Meldungen:
PERL WARNING: Use of uninitialized value in hash element at ./FHEM/39_TEERKO.pm line 2626, <$fh> line 2916
Kannst du dir das bitte noch mal ansehen?
Titel: Antw:[39_TEERKO.pm] Neues Modul zur textbasierten Steuerung
Beitrag von: lukasdurmich am 27 Juli 2018, 22:44:03
Hallo Zusammen,
ich weiß zwar nicht, ob hier noch jemand mitließt, da dies aber das einzige Thema zu Teerko ist, stelle ich meine frage hier...

Ich benutze Teerko in die aktuellsten Version, die ich gefunden habe (Sprich 1.2.9)
Das Schalten sämtliche Geräte funktioniert sehr gut! Auch das Schalten nach Räumen (das licht im Schlafzimmer an, etc)

Was ich nur absolut nicht hinbekomme ist das abfragen von Temperaturen.

Ich habe in fast jedem Raum einen Sensor mit einem "Temperaure"-Reading.
Die Geräte haben alle ein Room Attribut und ich habe auch alle möglichen Konstellationen von Teerko Alias, Teerko Room, etc probiert
Wenn ich nun frage: "Wie ist die Temperatur im Schlafzimmer?"
- bekomme ich immer eine Fehlermeldung

da hier im Forum nur von einem Temperatur-Reading die Rede war, habe ich einem Sensor über setreading auch mal ein Temperatur-Reading verpasst (- also auf deutsch, statt englisch) auch ohne Erfolg.

könnte mir jemand einen Tipp geben???

wird an diesem Modul in Zukunft noch weiter entwickelt?
Ich fände es ausgesprochen schade, wenn es eingestellt würde und denke auch, es ist der vielversprechendste Ansatz - gerade wegen der intuitiven Bedienung.
Letztlich habe ich es nur kurz installiert und konnte auf Anhieb meine sämtlichen Geräte schalten!

vielen Dank schon mal im Voraus !
Titel: Antw:[39_TEERKO.pm] Neues Modul zur textbasierten Steuerung
Beitrag von: dkreutz am 03 August 2018, 19:33:22
Hallo,

ich habe auch eine Frage zu TEERKO: gibt es eine Möglichkeit - z.B. über ein Reading das den Wert "ok" oder "error" hat (ähnlich wie bei Talk2Fhem) - heraus zu finden, wenn der Befehl nicht "verstanden" wurde. Es wird zwar ein Text im Readings "Answer" wie z.B. "Ich konnte kein Gerät in deinem Befehl erkennen." oder "Die Kombination an Wörtern verstehe ich nicht." ausgegeben, aber das kann man nicht gut maschinell auswerten.

Hintergrund: für meinen fhem-skill (https://forum.fhem.de/index.php/topic,89780.0.html) zum Sprachassisten Mycroft.ai (https://mycroft.ai/) könnte man TEERKO als Fallback-Device benutzen, an das Mycroft eine Anfrage weiterleitet die er selbst nicht verstanden hat. Da es bei Mycroft mehrere fallback-fähige Skills gibt, kann ich nicht einfach die Antwort von TEERKO in jedem Fall durchreichen, da dann Mycroft "denkt", dass die Anfrage beantwortet wurde und die anderen Fallbacks ggfs. nicht mehr aktiviert werden...

Viele Grüße
Dominik