Natural Language User Interface 95_Babble.pm

Begonnen von Prof. Dr. Peter Henning, 28 Dezember 2017, 17:37:03

Vorheriges Thema - Nächstes Thema

Prof. Dr. Peter Henning

ZitatWäre es möglich, hier etwas zu implementieren, was mir noch nen Antworttext zurück gibt, ich bräuchte ein Reading, indem dann der Antworttext steht.
Genial wäre auch, wenn ich mehrere Antworttexte definiere und das Modul sich zufällig davon einen raussucht.

Das ist geplant. Allerdings wird das eine ganze Weile dauern, denn ich will das eigentlich ebenso einfach konfigurierbar machen, wie den jetzigen Beginn des Babble-Frontends.
Ich lade hier mal die Seminararbeit eines meiner Studenten hoch - er hat ein paar Anwendungsbeispiele für RiveScript dokumentiert. Die Perl-Bindung für Rivescript wird also irgendwann in den nächsten Monaten (!) genau dieses leisten.

Das Modul Talk2Fhem ist ganz nett. Aber erfüllt eben weder das Kriterium der einfachen Bedienbarkeit, noch ist das wartbar. Geschmackssache also.

Zitat"wie warm ist es im wohnzimmer"

Über die Grammatik dieses Satzes muss ich mal grübeln, das entspricht nicht ganz den Regeln... Was aber bereits funktioniert ist

Zitatwie ist die temperatur im wohnzimmer

Das liefert Category=2.1.5: Gerät=temperatur Ort=wohnzimmer Verb=sagen Ziel=status

Ich werde nachher im Wiki dokumentieren, wie man damit eine Temperaturabfrage hinbekommen kann.

LG

pah

the ratman

#16
Zitat von: MadMax-FHEM am 30 Dezember 2017, 22:54:36
Dazu braucht es kein Modul, du kannst von Google Home per IFTTT (z.B.) und WebHook direkt Babble aufrufen (denke ich bzw. werde ich mal so versuchen / komme leider erst am Mo dazu)...
ifttt geht ja nur über "extern", also keine lösung was ich so mitbekommen habe. ich will alles aus einer hand auf einem gerät.
ich hab auch kein google home, kein alexa oder sonst was redseeliges. wie gsagt, ich will da auf ne "unabhängige" hw warten, wie die dann wieder in fhem aussehen wird, weiß man ja auch noch ned.

aber wäre sicher lustig, wenn es ein modul gäbe, wo ich einfach nur einstellen muß, welche spracherkennung ich will und alles fein säuberlich als reading zurück krieg. wies ausschaut, wird in zukunft sowas eh von mehreren anderen modulen gebraucht werden können ... das sind die momente, wo ich mein programmier-unvermögen hasse! *g*

@herrn prof ...
ZitatDas ist geplant. Allerdings wird das eine ganze Weile dauern, denn ich will das eigentlich ebenso einfach konfigurierbar machen, wie den jetzigen Beginn des Babble-Frontends.
sehr, sehr erfreuliche nachrichten.
vor allem, weil ich plane, mir einige monate mit meiner zukünfitgen fhem v2 zeit zu lassen, bis sie auch 100% so funzt, wie ich das will. du kommst mir wie bestellt *bg*!
→do↑p!dnʇs↓shit←

Franz Tenbrock

Hallo PAH,
läuft die Sprachverarbeitung auf dem lokalen Rechner ( zB RaspI ) oder wird die Sprache extern verarbeitet?


Für mich sind Cloud Lösungen, Alexa und Google ein absolutes no-go, mag zwar altmodisch sein, aber bei all den verrückten die mittlerweile weltweit ihr Unheil austragen....
Vor 12 oder 13 Jahren als Sparchbefahle anfingen hab ich das in meienr Praxis probiert. Überrweisung Thorax dann kam die fertig ausgefüllte Überweisung aus dem Drucker, die Patienten dachten der Doc spinnt jetzt. Sprachbefehle machen vor allem da Sinn wo  an alleine ist, aber das ist ja Geschmackssache
cubi3, Cul 868, ESA2000WZ, EM1000GZ,  FS20, dashboard, 1-Wire, Max Thermos, Max Wandthermo, Max Lan, Fritzbox callmonitor, , nanocul, HM Led16, HM Bewegungsmelder, HM Schalter, RPi, banana, ESP8266, DoorPi

MadMax-FHEM

@ratman:

dd hab ich wohl nicht genau genug gelesen aber nachdem du google erwähnt hattest... ;)

Ja autarke Lösung wäre schön aber aktuell sehe ich da leider nichts (mehr)...

Kann mich auch erinnern, dass es vor beinah 20 Jahren sogar von Microsoft was gab, um den PC zu steuern...

Ebenso von IBM eine Diktat-SW...

Aber vielleicht kommt da was oder kennt jemand was und postet hier...

Gruß und sorry ;) , 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)

the ratman

#19
m$ hat immer noch sprachbefehle im windoof.
sogar 2 sorten
cortana (cloud) die super funzt aber keine api zu haben scheint und diese alte, lokale version. aber da schaffs zumindest ich nicht, auch nur einen satz mal richtig erkannt zu kriegen.
eine sehr gute spracherkennung hätte z.b. auch dragon dictate, dass auch auf nem halbwegs modernen i3 super rennt - aber die kostet viel zu viel und ich bezweifel, dass diese eigenbrötler auch nur ansatzweise ne api zur verfügung stellen.
würde das funzen, könnte mans nämlich über das modul winconnect verwenden, das kann das alles schon. nur die erkennungsrate is halt (bis auf einzelne worte) totaler schrott. der autor hat dann auch cloudbassierte lösungen einbaut, aber dazu muß dann halt immer auch ein win rennen, damit man die ergebnisse ins fhem kriegt ... is halt wie amad, nur für win.

somit also google-software im inet - einen tot stirbst halt immer. aber wenigstens will ich nicht auch noch ein gerät hier stehen haben, von dem ich nicht weiß, was es so nebenher aufnimmt.

derzeit frag ich mich halt immer noch grundsätzlich: wie krieg ich über fhem spreche zu text an dieses wunderbare, neue modul hier? und ja, ich will fhem - ich will nicht noch 1000 andere sachen zusätzlich verwenden.
es ist ja sehr vermessen von mir folgendes zu sagen, aber ich tus mal *g*: ein perl-programmierer müsste doch theoretisch in 5 min ne schnittstelle zu google, amazon, ... geschaffen haben, in der er das empfangene als reading ablegt. ich weiß, sehr frech von einem, der gar nix liefert, aber ...
→do↑p!dnʇs↓shit←

Prof. Dr. Peter Henning

#20
Na, mal langsam. Das Problem ist, die Audiodaten aufzuzeichnen - dafür braucht man Hardware und ein standardisiertes Interface. Von Perl als interpretierter Sprache ist dabei wenig zu halten.

Insofern ist hier die beste Lösung derzeit wirklich: Ein altes Smartphone als Audioaufnahmegerät, darauf entweder Automagic/AMAD oder webviewcontrol. FHEM (und Perl) bekommen dann "nur noch" die textuellen Daten. Diese Dominanz rührt daher, dass derzeit nur Google, Amazon und ein paar andere Netzriesen über die entsprechenden Datenmengen verfügen, um die neuronalen Netze für die Spracherkennung zu trainieren. Fertig, basta, kein Weg drumherum.

Ein paar eingeschränkt nutzbare Projekte wie snowboy verfügen ebenfalls nicht über ein öffentlich verfügbares Modell, sind aber immerhin etwas kundenfreundlicher.

Es gibt eine neue Initiative der Mozilla Foundation, https://voice.mozilla.org/.

Damit sollen entsprechende Datenmengen für eine öffentliche Verfügbarkeit gesammelt werden. Ich kann jedem nur raten, sich daran zu beteiligen.

LG

pah

Edit: Hier die Dokumentation für die Abfrage einer Temperatur https://wiki.fhem.de/wiki/Modul_Babble#Temperatur_abfragen. Achtung: Bitte aktuellste Version des Moduls (heute 11:50) verwenden.

the ratman

#21
nur, damits keine mißverständnisse gibt:
ich meine nicht, ne ganze spracherkennugssoftware abzubilden in perl (so blöd bin nicht mal ich), ich meine einfach ein modul zu basteln, dass auf googles oder amzons (hardwarefreier) spracherekennung oder andere zugreift, und die ergebnisse googles dann als reading abbildet oder besser gleich an module wie babbel sendet. wie gesagt: als bspl. will ich winconnect bringen, da stellst du ein, welche erkennung dir zusagt und gut is es. ich will nur nicht auch noch nen win-server am rennen haben für das ganze.
so hätte man ein modul, dass leicht um weitere spracherkennungssoftware erweiterbar und universell einsetzbar wäre.
→do↑p!dnʇs↓shit←

Ma_Bo

Zitat von: Prof. Dr. Peter Henning am 31 Dezember 2017, 06:02:39
Das ist geplant. Allerdings wird das eine ganze Weile dauern, denn ich will das eigentlich ebenso einfach konfigurierbar machen, wie den jetzigen Beginn des Babble-Frontends.
Ich lade hier mal die Seminararbeit eines meiner Studenten hoch - er hat ein paar Anwendungsbeispiele für RiveScript dokumentiert. Die Perl-Bindung für Rivescript wird also irgendwann in den nächsten Monaten (!) genau dieses leisten.

Das Modul Talk2Fhem ist ganz nett. Aber erfüllt eben weder das Kriterium der einfachen Bedienbarkeit, noch ist das wartbar. Geschmackssache also.

Über die Grammatik dieses Satzes muss ich mal grübeln, das entspricht nicht ganz den Regeln... Was aber bereits funktioniert ist


Das liefert Category=2.1.5: Gerät=temperatur Ort=wohnzimmer Verb=sagen Ziel=status

Ich werde nachher im Wiki dokumentieren, wie man damit eine Temperaturabfrage hinbekommen kann.

LG

pah

Wird es dann auch möglich sein, einen Status als Bedingung abzufragen.

Z.B.

Ich schalte meinen Fernseher per Funk Steckdose aus, wenn ich nun den Sender verstellen möchte und der Fernseher aus ist, soll nichts passieren, außer der Antworttext ,,dies ist mit abgeschaltetem Fernseher nicht möglich"

Wenn der Fernseher an ist und schon auf Sender x steht, (Steckdosen Status ist ein eigenes Device und Sender ist auch ein eigenes Device) dann auch nur Antworttext ,,der Fernseher steht schon auf Sender x"

Wenn der Fernseher an ist und der Sender geändert werden soll/kann, dann Sender ändern und Antworttext ,,auf Sender x umgestellt"

Grüße Marcel


Tapatalk iPhone, daher kurz gehalten.
NUC mit FHEM, HM Heizungsthermostate, HM Wandthermostate, Intertechno Funksteckdosen, 10" Tablet als Wanddisplay, KeyMatic, Fensterkontakte, Fensterkontakte umgebaut als Wassermelder und Briefkastenmelder, Aussenthermostat, Anwesenheitssteuerung über Fritz Box, Google Home usw. usw.

MadMax-FHEM

Wenn man perl-Aufrufe (also z.B. eine Sub in myUtils) als "fhem-Befehle" eintragen kann/könnte und der Rückgabewert (ein Text sein kann) dann in der Antwort landet/landen würde...
...sollte das gehen ;)

Bin ja schon gespannt was man mit dem Modul so machen kann, wenn ich endlich wieder zuhause bin und damit "spielen" kann... :)

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)

Ma_Bo

Zitat von: MadMax-FHEM am 31 Dezember 2017, 14:10:30
Wenn man perl-Aufrufe (also z.B. eine Sub in myUtils) als "fhem-Befehle" eintragen kann/könnte und der Rückgabewert (ein Text sein kann) dann in der Antwort landet/landen würde...
...sollte das gehen [emoji6]

Bin ja schon gespannt was man mit dem Modul so machen kann, wenn ich endlich wieder zuhause bin und damit "spielen" kann... [emoji4]

Gruß, Joachim
Schon klar, im Moment mache ich meine komplette Auswertung in myUtils, das funktioniert auch alles ohne Probleme, ist aber nicht so schön übersichtlich und lässt sich nicht so einfach konfigurieren wie es, bis jetzt, mit diesem Modul hier möglich ist.
Der Zeitaufwand mit meiner myUtils ist wesentlich höher, als mit dem Modul.

Grüße Marcel


Tapatalk iPhone, daher kurz gehalten.
NUC mit FHEM, HM Heizungsthermostate, HM Wandthermostate, Intertechno Funksteckdosen, 10" Tablet als Wanddisplay, KeyMatic, Fensterkontakte, Fensterkontakte umgebaut als Wassermelder und Briefkastenmelder, Aussenthermostat, Anwesenheitssteuerung über Fritz Box, Google Home usw. usw.

the ratman

hab eben mal schnell das neueste babble.pm und auch das js (weiß ja ned, ob da auch was neu is) auf den server geladen.
nach nem neustart ist alles babble-artige weg. im logfile kommt2018.01.01 11:45:17 1: ERROR evaluating {Babble_Html("babble")}: Undefined subroutine &main::Babble_Html called at (eval 1012) line 1.

2018.01.01 11:46:35 1: PERL WARNING: Subroutine Babble_Initialize redefined at ./FHEM/95_Babble.pm line 151.
2018.01.01 11:46:35 1: PERL WARNING: Subroutine Babble_Define redefined at ./FHEM/95_Babble.pm line 188.
2018.01.01 11:46:35 1: PERL WARNING: Subroutine Babble_Undef redefined at ./FHEM/95_Babble.pm line 263.
2018.01.01 11:46:35 1: PERL WARNING: Subroutine Babble_Attr redefined at ./FHEM/95_Babble.pm line 285.
2018.01.01 11:46:35 1: PERL WARNING: Subroutine Babble_CreateEntry redefined at ./FHEM/95_Babble.pm line 308.
2018.01.01 11:46:35 1: PERL WARNING: Subroutine Babble_Set redefined at ./FHEM/95_Babble.pm line 347.
2018.01.01 11:46:35 1: PERL WARNING: Subroutine Babble_Get redefined at ./FHEM/95_Babble.pm line 383.
2018.01.01 11:46:35 1: PERL WARNING: Subroutine Babble_save redefined at ./FHEM/95_Babble.pm line 403.
2018.01.01 11:46:35 1: PERL WARNING: Subroutine Babble_savename redefined at ./FHEM/95_Babble.pm line 415.
2018.01.01 11:46:35 1: PERL WARNING: Subroutine Babble_restore redefined at ./FHEM/95_Babble.pm line 429.
2018.01.01 11:46:35 1: PERL WARNING: Subroutine Babble_Test redefined at ./FHEM/95_Babble.pm line 461.
2018.01.01 11:46:35 1: PERL WARNING: Subroutine Babble_Normalize redefined at ./FHEM/95_Babble.pm line 572.
2018.01.01 11:46:35 1: PERL WARNING: Subroutine timecorrector redefined at ./FHEM/95_Babble.pm line 910.
2018.01.01 11:46:35 1: PERL WARNING: Subroutine Babble_TestIt redefined at ./FHEM/95_Babble.pm line 940.
2018.01.01 11:46:35 1: PERL WARNING: Subroutine Babble_DoIt redefined at ./FHEM/95_Babble.pm line 988.
2018.01.01 11:46:35 1: PERL WARNING: Subroutine Babble_ModPlace redefined at ./FHEM/95_Babble.pm line 1026.
2018.01.01 11:46:35 1: PERL WARNING: Subroutine Babble_ModVerb redefined at ./FHEM/95_Babble.pm line 1052.
2018.01.01 11:46:35 1: PERL WARNING: Subroutine Babble_ModCmd redefined at ./FHEM/95_Babble.pm line 1101.
2018.01.01 11:46:35 1: PERL WARNING: Subroutine Babble_RemCmd redefined at ./FHEM/95_Babble.pm line 1138.
2018.01.01 11:46:35 1: PERL WARNING: Subroutine Babble_getdevs redefined at ./FHEM/95_Babble.pm line 1169.
2018.01.01 11:46:35 1: PERL WARNING: Subroutine Babble_gethelp redefined at ./FHEM/95_Babble.pm line 1254.
2018.01.01 11:46:35 1: PERL WARNING: Subroutine Babble_getplaces redefined at ./FHEM/95_Babble.pm line 1270.
2018.01.01 11:46:35 1: PERL WARNING: Subroutine Babble_getverbs redefined at ./FHEM/95_Babble.pm line 1343.
2018.01.01 11:46:35 1: PERL WARNING: Subroutine Babble_getwords redefined at ./FHEM/95_Babble.pm line 1402.
2018.01.01 11:46:35 1: reload: Error:Modul 95_Babble deactivated:
Can't use 'defined(@array)' (Maybe you should just omit the defined()?) at ./FHEM/95_Babble.pm line 1648.

2018.01.01 11:46:35 0: Can't use 'defined(@array)' (Maybe you should just omit the defined()?) at ./FHEM/95_Babble.pm line 1648.


beim versuch, ein neues babble anzulegen kommt natürlichCannot load module Babble
→do↑p!dnʇs↓shit←

Prof. Dr. Peter Henning

#26
Ups, habe ich gerade erst gefixt - die neue Version steht seit 30 Sekunden im ersten Post.

LG

pah

the ratman

generell alles da wieder.
das kommt allerdings, sobald ich den weblink aufrufe, bzw. ins bubble-dir gehe. weiß leider ned, ob der neu is, oder früher schon kam ...2018.01.01 12:57:55 1: PERL WARNING: Use of uninitialized value $l in print at fhem.pl line 4862.
2018.01.01 12:57:55 1: eval: {Babble_Html("babble")}
2018.01.01 12:57:55 1: stacktrace:
2018.01.01 12:57:55 1:     main::__ANON__                      called by fhem.pl (4862)
2018.01.01 12:57:55 1:     main::FileWrite                     called by ./FHEM/95_Babble.pm (410)
2018.01.01 12:57:55 1:     main::Babble_save                   called by ./FHEM/95_Babble.pm (1322)
2018.01.01 12:57:55 1:     main::Babble_getplaces              called by ./FHEM/95_Babble.pm (1511)
2018.01.01 12:57:55 1:     main::Babble_Html                   called by (eval 909) (1)
2018.01.01 12:57:55 1:     (eval)                              called by fhem.pl (1074)
2018.01.01 12:57:55 1:     main::AnalyzePerlCommand            called by ./FHEM/98_weblink.pm (99)
2018.01.01 12:57:55 1:     main::weblink_FwFn                  called by ./FHEM/01_FHEMWEB.pm (1849)
2018.01.01 12:57:55 1:     main::FW_showRoom                   called by ./FHEM/01_FHEMWEB.pm (1031)
2018.01.01 12:57:55 1:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (520)
2018.01.01 12:57:55 1:     main::FW_Read                       called by fhem.pl (3488)
2018.01.01 12:57:55 1:     main::CallFn                        called by fhem.pl (687)
2018.01.01 12:57:55 1: PERL WARNING: Use of uninitialized value $l in print at fhem.pl line 4862.
2018.01.01 12:57:55 1: eval: {Babble_Html("babble")}
2018.01.01 12:57:55 1: stacktrace:
2018.01.01 12:57:55 1:     main::__ANON__                      called by fhem.pl (4862)
2018.01.01 12:57:55 1:     main::FileWrite                     called by ./FHEM/95_Babble.pm (410)
2018.01.01 12:57:55 1:     main::Babble_save                   called by ./FHEM/95_Babble.pm (1456)
2018.01.01 12:57:55 1:     main::Babble_getwords               called by ./FHEM/95_Babble.pm (1525)
2018.01.01 12:57:55 1:     main::Babble_Html                   called by (eval 909) (1)
2018.01.01 12:57:55 1:     (eval)                              called by fhem.pl (1074)
2018.01.01 12:57:55 1:     main::AnalyzePerlCommand            called by ./FHEM/98_weblink.pm (99)
2018.01.01 12:57:55 1:     main::weblink_FwFn                  called by ./FHEM/01_FHEMWEB.pm (1849)
2018.01.01 12:57:55 1:     main::FW_showRoom                   called by ./FHEM/01_FHEMWEB.pm (1031)
2018.01.01 12:57:55 1:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (520)
2018.01.01 12:57:55 1:     main::FW_Read                       called by fhem.pl (3488)
2018.01.01 12:57:55 1:     main::CallFn                        called by fhem.pl (687)
2018.01.01 12:57:55 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/95_Babble.pm line 1578.
2018.01.01 12:57:55 1: eval: {Babble_Html("babble")}
2018.01.01 12:57:55 1: stacktrace:
2018.01.01 12:57:55 1:     main::__ANON__                      called by ./FHEM/95_Babble.pm (1578)
2018.01.01 12:57:55 1:     main::Babble_Html                   called by (eval 909) (1)
2018.01.01 12:57:55 1:     (eval)                              called by fhem.pl (1074)
2018.01.01 12:57:55 1:     main::AnalyzePerlCommand            called by ./FHEM/98_weblink.pm (99)
2018.01.01 12:57:55 1:     main::weblink_FwFn                  called by ./FHEM/01_FHEMWEB.pm (1849)
2018.01.01 12:57:55 1:     main::FW_showRoom                   called by ./FHEM/01_FHEMWEB.pm (1031)
2018.01.01 12:57:55 1:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (520)
2018.01.01 12:57:55 1:     main::FW_Read                       called by fhem.pl (3488)
2018.01.01 12:57:55 1:     main::CallFn                        called by fhem.pl (687)
2018.01.01 12:57:55 1: PERL WARNING: Use of uninitialized value $cmd in concatenation (.) or string at ./FHEM/95_Babble.pm line 1640.
2018.01.01 12:57:55 1: eval: {Babble_Html("babble")}
2018.01.01 12:57:55 1: stacktrace:
2018.01.01 12:57:55 1:     main::__ANON__                      called by ./FHEM/95_Babble.pm (1640)
2018.01.01 12:57:55 1:     main::Babble_Html                   called by (eval 909) (1)
2018.01.01 12:57:55 1:     (eval)                              called by fhem.pl (1074)
2018.01.01 12:57:55 1:     main::AnalyzePerlCommand            called by ./FHEM/98_weblink.pm (99)
2018.01.01 12:57:55 1:     main::weblink_FwFn                  called by ./FHEM/01_FHEMWEB.pm (1849)
2018.01.01 12:57:55 1:     main::FW_showRoom                   called by ./FHEM/01_FHEMWEB.pm (1031)
2018.01.01 12:57:55 1:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (520)
2018.01.01 12:57:55 1:     main::FW_Read                       called by fhem.pl (3488)
2018.01.01 12:57:55 1:     main::CallFn                        called by fhem.pl (687)
→do↑p!dnʇs↓shit←

sbiermann

Das ganze klingt echt spannend, @pah erzählst du beim nächsten (afaik 5.) Usertreffen in Karlsruhe etwas dazu?

Esjay

Hallo zusammen,
kann mir mal kurz jemand sagen, wie ich den erkannten Text durch das Modul analysieren kann. Ich habe einen Dummy, der durch einen webhook gefüllt wird. Genauer gesagt, durch mein Google Home. Ich sehe allerdings die Verbindung zum Modul noch nicht ganz. Ist bei mir irgendwie ein "Running Gag"

Was mir auch aufgefallen ist, ist die Tatsache, dass ein Babble Test (zum Beispiel :,, Schalte das Licht im Wohnzimmer an.") kein Ergebnis liefert. Es ist eigentlich egal welchen Satz ich Testen will, keiner liefert ein Ergebnis. Ich erhalte auch keine Logausgabe.

Hier mal ein List meines Babble Device

Internals:
   NAME       Babble
   NR         275
   STATE      Initialized
   TYPE       Babble
   VERSION    0.35
   DATA:
     re_articles ((der)|(die)|(das)|(den)|(des)|(dem)|(zur))
     re_devs    ((licht))
     re_places  ((home)|(amad)|(abfall)|(arbeitszimmer)|(alarm)|(bad)|(at)|(alarmroom)|(callmonitor)|(cul)|(doif)|(dummys)|(fensterkontakt)|(flur)|(gaestewc)|(garage)|(it)|(kinderzimmer)|(licht)|(logging)|(notifys)|(residents)|(schlafzimmer)|(server)|(sonos)|(spielzimmer)|(spotify)|(steckdosen)|(system)|(tv-programm)|(telegram)|(waschküche)|(webhook)|(wetter)|(wohnzimmer)|(zwave)|(msg)|(wohnzimmer))
     re_prepos  ((von)|(vom)|(des)|(der)|(in)|(im)|(auf)|(bei)|(am))
     re_quests  ((wie)|(wo)|(wann))
     re_status  ((status)|(wert)|(wetter)|(zeit))
     re_times   ((heute)|(morgen)|(übermorgen)|(nacht))
     re_verbparts ((zu)|(auf)|(ent)|(wider)|(ein)|(an)|(aus)|(ab)|(um))
     re_verbsc  ((schalt)|(machen)|(machs)|(schalten)|(schließen)|(mach)|(öffnen)|(schalte)|(schließe)|(schließ)|(mache)|(öffne))
     re_verbsi  ((schalten)|(machen)|(öffnen)|(schließen))
     re_writes  ((status)|(wert)|(wetter)|(zeit))
     articles:
       der
       die
       das
       den
       des
       dem
       zur
     command:
       licht:
         none:
           none:
             none       
     devcontacts:
       licht:
         licht
         HUEDevice3
         0
     devs:
       licht
     places:
       Home
       AMAD
       Abfall
       Arbeitszimmer
       Alarm
       Bad
       AT
       AlarmRoom
       Callmonitor
       Cul
       Doif
       Dummys
       Fensterkontakt
       Flur
       GaesteWc
       Garage
       IT
       Kinderzimmer
       Licht
       Logging
       Notifys
       Residents
       Schlafzimmer
       Server
       Sonos
       Spielzimmer
       Spotify
       Steckdosen
       System
       TV-Programm
       Telegram
       Waschküche
       Webhook
       Wetter
       Wohnzimmer
       ZWave
       msg
       Wohnzimmer
     prepos:
       von
       vom
       des
       der
       in
       im
       auf
       bei
       am
     quests:
       wie
       wo
       wann
     rooms:
       Home
       AMAD
       Abfall
       Arbeitszimmer
       Alarm
       Bad
       AT
       AlarmRoom
       Callmonitor
       Cul
       Doif
       Dummys
       Fensterkontakt
       Flur
       GaesteWc
       Garage
       IT
       Kinderzimmer
       Licht
       Logging
       Notifys
       Residents
       Schlafzimmer
       Server
       Sonos
       Spielzimmer
       Spotify
       Steckdosen
       System
       TV-Programm
       Telegram
       Waschküche
       Webhook
       Wetter
       Wohnzimmer
       ZWave
       msg
     splaces:
       Wohnzimmer
     status:
       Status
       Wert
       Wetter
       Zeit
     times:
       heute
       morgen
       übermorgen
       nacht
     verbparts:
       zu
       auf
       ent
       wider
       ein
       an
       aus
       ab
       um
     verbs:
       mach       machen
       mache      machen
       machen     machen
       machs      machen
       schalt     schalten
       schalte    schalten
       schalten   schalten
       schließ   schließen
       schließe  schließen
       schließen schließen
       öffne     öffnen
       öffnen    öffnen
     verbsi:
       schalten
       machen
       öffnen
       schließen
     verbsicc:
       ARRAY(0x55bfde0)
       ARRAY(0x592acd0)
       ARRAY(0x55aafa8)
       ARRAY(0x5596250)
     writes:
       Status
       Wert
       Wetter
       Zeit
   READINGS:
     2018-01-03 13:16:59   lockstate       unlocked
     2018-01-03 14:45:55   savedate        Wed Jan  3 14:45:55 2018
     2018-01-03 13:09:41   state           Initialized
Attributes:
   babbleArticles der die das den des dem zur
   babblePlaces Wohnzimmer
   babblePrepos von vom des der in im auf bei am
   babbleQuests wie wo wann
   babbleStatus Status Wert Wetter Zeit
   babbleTimes heute morgen übermorgen nacht
   babbleVerbParts zu auf ent wider ein an aus ab um
   babbleVerbs schalt,schalte:schalten mach,machs,mache:machen öffne:öffnen schließe,schließ:schließen
   babbleWrites sagen senden hinzufügen entfernen ändern löschen
   room       babbleRoom
   verbose    5



Ansonsten ist mir noch aufgefallen, dass ein "set Babble test" folgende Warnungen im Log liefert.

2018.01.03 13:12:24 1: PERL WARNING: Use of uninitialized value $cmd in substitution (s///) at ./FHEM/95_Babble.pm line 953.
2018.01.03 13:12:24 1: PERL WARNING: Use of uninitialized value $cmd in string ne at ./FHEM/95_Babble.pm line 959.
2018.01.03 13:12:24 1: PERL WARNING: Use of uninitialized value $reserve in string eq at ./FHEM/95_Babble.pm line 899.
2018.01.03 13:12:24 1: PERL WARNING: Use of uninitialized value $verb in string eq at ./FHEM/95_Babble.pm line 885.
2018.01.03 13:12:24 1: PERL WARNING: Use of uninitialized value $verb in string eq at ./FHEM/95_Babble.pm line 889.
2018.01.03 13:12:24 1: PERL WARNING: Use of uninitialized value $verb in string eq at ./FHEM/95_Babble.pm line 893.
2018.01.03 13:12:24 1: PERL WARNING: Use of uninitialized value $reading in string eq at ./FHEM/95_Babble.pm line 895.
2018.01.03 13:12:24 1: PERL WARNING: Use of uninitialized value $reading in string eq at ./FHEM/95_Babble.pm line 899.
2018.01.03 13:12:24 1: PERL WARNING: Use of uninitialized value $verb in concatenation (.) or string at ./FHEM/95_Babble.pm line 946.
2018.01.03 13:12:24 1: PERL WARNING: Use of uninitialized value $reading in concatenation (.) or string at ./FHEM/95_Babble.pm line 946.
2018.01.03 13:12:24 1: PERL WARNING: Use of uninitialized value $verb in hash element at ./FHEM/95_Babble.pm line 951.
2018.01.03 13:12:24 1: PERL WARNING: Use of uninitialized value $reading in hash element at ./FHEM/95_Babble.pm line 951.
2018.01.03 13:12:24 1: PERL WARNING: Use of uninitialized value in pattern match (m//) at ./FHEM/95_Babble.pm line 702.
2018.01.03 13:12:24 1: PERL WARNING: Use of uninitialized value $device in pattern match (m//) at ./FHEM/95_Babble.pm line 725.
2018.01.03 13:12:24 1: PERL WARNING: Use of uninitialized value $device in pattern match (m//) at ./FHEM/95_Babble.pm line 731.
2018.01.03 13:12:24 1: PERL WARNING: Use of uninitialized value $device in string eq at ./FHEM/95_Babble.pm line 735.
2018.01.03 13:12:24 1: PERL WARNING: Use of uninitialized value $word[1] in string ne at ./FHEM/95_Babble.pm line 811.
2018.01.03 13:12:24 1: PERL WARNING: substr outside of string at ./FHEM/95_Babble.pm line 899.
2018.01.03 13:12:24 1: PERL WARNING: Use of uninitialized value $value in pattern match (m//) at ./FHEM/95_Babble.pm line 902.
2018.01.03 13:12:24 1: PERL WARNING: Use of uninitialized value $value in concatenation (.) or string at ./FHEM/95_Babble.pm line 946.


Falls ich noch irgendetwas nachliefern kann, einfach bescheid sagen.

Danke und Grüße