[ VERSION 1.2.0 ] 74_AMAD.pm zur Steuerung eines Androidgerätes

Begonnen von CoolTux, 07 August 2015, 09:39:01

Vorheriges Thema - Nächstes Thema

CoolTux

Das geht auch, solange Du das Timing in den Griff bekommst. Ich denke mal alle 5 min sollte gehen. Du musst aber 2,5 min versetzt abfragen. Aber wie das gehen soll weiß ich ehrlich gesagt nicht.
Wenn fast Zeitnah abgerufen wird wird eine Anfrage von beiden verworfen.


Gruß
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Lars

Leon, ich mache das über fhem2fhem auf einem log-dummy und einem notify. Ist zwar nicht so elegant wie zwei autarke Sessions, sollte aber ohne weitere Probleme funktionieren.
FHEM Hauptsystem auf ESXi VM | dblog | 3 rPi für Nebensysteme | 2 Beaglebone Black Test- / Integrationssystem

stromer-12

Zitat von: CoolTux am 20 September 2015, 18:04:32
Das geht auch, solange Du das Timing in den Griff bekommst. Ich denke mal alle 5 min sollte gehen. Du musst aber 2,5 min versetzt abfragen. Aber wie das gehen soll weiß ich ehrlich gesagt nicht.
Wenn fast Zeitnah abgerufen wird wird eine Anfrage von beiden verworfen.

Warum diese 5 Minuten?
FHEM (SVN) auf RPi1B mit HMser | ESPLink
FHEM (SVN) virtuell mit HMLAN | HMUSB | CUL

CoolTux

Weil eine zu enge Abfrage von beiden gleichzeitig dazu führen könnte das der Information Flow von einer FHEM Installation angestoßen wird wärend die Anfrage der anderen noch nicht abgeschlossen/beantwortet wurde. Dann wird die erste Anfrage hart beendet. Und nur die zweite abgeschlossen. Daher hat man dann nur Readings in einer Installation.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

CoolTux

Hier mal was neues von der Front. Nachdem ich gesundheitlich etwas angeschlagen war hatte ich nun endlich Erfolg bei der Kommunikation und noch viel besser beim setzen der Readings der AMADCommBridge.

Was Ihr nun hier seht sind 2 Readings welche Ihr dann in ein Notify einbinden könnt. In den Readings befindet sich einmal das FHEM Device welches mittels set Befehl angesprochen werden soll und natürlich der eigentliche Schaltbefehl.
Die beiden Readings kommen aus einem Automagic http Request vom Androidgerät.

Was sagt Ihr dazu? So in der Art kann man dann auch in späteren Versionen Sprachbefehle einarbeiten.



Grüße
Leon
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

RoBra81

Zitat von: CoolTux am 29 September 2015, 10:51:37
Hier mal was neues von der Front. Nachdem ich gesundheitlich etwas angeschlagen war hatte ich nun endlich Erfolg bei der Kommunikation und noch viel besser beim setzen der Readings der AMADCommBridge.

Klingt gut  :)

Zitat von: CoolTux am 29 September 2015, 10:51:37
Was Ihr nun hier seht sind 2 Readings welche Ihr dann in ein Notify einbinden könnt. In den Readings befindet sich einmal das FHEM Device welches mittels set Befehl angesprochen werden soll und natürlich der eigentliche Schaltbefehl.
...
Was sagt Ihr dazu? So in der Art kann man dann auch in späteren Versionen Sprachbefehle einarbeiten.

Ist das was, was ins allgemeine AMAD soll? Ich finde das ziemlich speziell - mir fällt spontan kein Szenario ein, in dem das Android einen Befehl im FHEM ausführen soll (außer vielleicht eine GUI mit Tasten zum Schalten von FHEM-Devices - da würde aber noch der Status als Rückmeldung fehlen). Und in diesem Fall würde ich auch keine zwei Readings nehmen - ich finde es immer sehr kompliziert, auf mit einem Notify auf zwei Readings zu reagieren, da man nie weiß, welches zuerst gesetzt wird und ob das zweite dann schon richtig ist. Auch bei Sprachbefehlen würde ich nur den gesprochenen Satz/Befehl als Reading ins FHEM übertragen und das Parsing dann im FHEM machen...

Ronny

CoolTux

Hallo Ronny,

So oder so ähnlich soll es ins AMAD kommen. Ich habe gleich mehrere Beispiele davon hier. Alles was ich mit Sprache Steuer könnte man dann als FHEM Befehl über die AMAD Bridge weiter geben. Wie genau ich das mit den Readings mache muß sich in der Praxis zeigen. Habe ja heute gerade mal erst das korrekte füllen der Readings ins Bridge Device geschafft.  ;D

Habe mir aber sagen lassen das WebViewControl es wohl bei der Sprachsteuerung genau so macht. Eventuell geht es auch über nur ein Reading. Mal schauen.
Aber so in der Art ist der Ansatz um set Befehle von FHEM Devices aus zu führen.
Es gibt noch das setzen von AMAD Device Readings welche Use spezifisch sind. Das geht direkt.



Gruß
Leon
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

RoBra81

Zitat von: CoolTux am 29 September 2015, 19:50:22
Habe mir aber sagen lassen das WebViewControl es wohl bei der Sprachsteuerung genau so macht.

Beim WVC ist es meines erachtens so, dass der komplette gesprochene Satz als Reading hinterlegt wird...

CoolTux

Dann werde ich das für eine spätere Spracheingabe so einbauen. Es wird aber eine Einschränkung geben. Es wird bei der späteren Spracheingabe und auch jetzt beim normalen http requests lediglich ein set-Befehl möglich sein.

Mal ein Beispiel für ein Szenario wo das Androidgerät einen FHEM Befehl ausführt. Wenn ich bei mir zu Hause sage Musik hören wird es vom AutoVoice Plugin erkannt und Automagic sendet ein set an eine LightSzene. Boxen, Verstärker und Vitrinenlicht gehen an.

Meine Große ist ein Morgenmuffel und dementsprechend Morgens nicht wirklich wach. Das Tablet spielt Weckmusik und Stuft die Lautstärke jede Minute um eins hoch. Wenn Sie der Meinung ist das es laut genug ist sagt sie einfach "Ruhe" oder mittlerweile auch "Lass mich" oder gestern habe ich als weiteres RegEx "Ich will nicht" mit drin    ;D
Das ganze kann man noch weiter ausbauen.

Ich muß mal schauen wie das so geht mit den 2 Readings und der Verzögerung und dem triggern. Man benötigt lediglich ein Notify und wenn die weitere Auswertung zu Komplex wird, dann kann man das in die 99_myUtils auslagern. Mache ich auch so. Jedes Notify was mehr wie 3 Zeilen Perlcode hat wird in meine 99_myUtils_Helper ausgelagert.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

RoBra81

Guten Morgen.

Die Geschichte mit deinen spezifischen Sprachbefehlen ist so speziell, dass hierfür das über PN besprochene Verfahren mit den OwnReadings eigentlich optimal ist...

Bezüglich der zwei Readings: ich hatte das Problem beim CallMonitor: da gibt es z. B. Readings für die Rufnummer und den Verbindungsstatus - um nun auf einen eingehenden Anruf von einer bestimmten Nummer einfach reagieren zu können musste ich ein Userreading anlegen um beide Informationen zusammen zu fassen - da wäre ein einzelnes Reading besser...

Ronny

CoolTux

Ja das stimmt, das wäre in der Tat etwas für OwnReadings.
Jetzt wo Du es erwähnst kann ich mich erinnern das ich auch mal so ein Fall hatte wo ich immer einen Vorwert eines Readings hatte bei einem Notify   :)
Ich schau mal wie es sich in der Praxis macht. Aber im Moment vom theoretischen her gebe ich Dir Recht. Ein Reading wäre da in der Tat besser.
Ich hoffe das ich Ende nächster Woche mit dem ersten Praxiserfahrungen aufwarten kann   :D
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

raspklaus

Hallo,

ich versuche mich hier grad mal einzuarbeiten.
Die 74_AMADautomagicFlows0.6.0.xml habe ich in den Downloadordner des Handys kopiert. Wenn ich die aber nun als Flow importieren will wird sie im Ordner nicht erkannt bzw angezeigt. Gibt es da einen Trick oder verstehe ich etwas falsch ?

CoolTux

Hallo raspKlaus

Wo genau hast Du die 74_AMADautomagicFlows0.6.0.xml Datei her? Aus dem lib/ Ordner unterhalb von fhem?

Mach mal folgendes. Nimm einen Dateimanager auf Deinem Handy und gehe in den Downloadordner auf Deinem Handy. Dort klickst Du die Datei dann an und wenn er Dir mehrere Programme zum Öffnen anzeigt klickst Du natürlich auf Automagic.



Grüße
Leon
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

raspklaus

Danke, so ging es. Das erklärt allerdings nicht warum es beim Import nicht angezeigt wird

CoolTux

Das liegt an der Dateiendung. Wenn man exportiert dann wird da keine Endung ran gemacht. Damit aber jeder weiß das es sich hier lediglich um eine xml Datei handelt die man auch mal mit nem Texteditor auf machen kann habe ich da .xml dran gehangen. Scheint wohl der Importfilter nicht zu mögen.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net