[39_TEERKO.pm] Neues Modul zur textbasierten Steuerung

Begonnen von tiroso, 01 Juni 2017, 08:23:51

Vorheriges Thema - Nächstes Thema

the ratman

→do↑p!dnʇs↓shit←

tiroso

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 !!!! :)

MadMax-FHEM

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
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

tiroso

#109
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

MadMax-FHEM

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
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

tiroso

Hast du gerade den Link parat zu der Umsetzung mit Google Home?

MadMax-FHEM

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
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Phill

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

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

tiroso

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

MadMax-FHEM

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
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

tiroso

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

MadMax-FHEM

#117
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
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

tiroso

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

MadMax-FHEM

#119
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
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)