[ AMAD2 - obsolete] 74_AMAD.pm zur Steuerung eines Androidgerätes

Begonnen von CoolTux, 02 März 2016, 11:14:41

Vorheriges Thema - Nächstes Thema

CoolTux

Es gibt eine neue Version - AMADNG 4.0
Hier geht es zum aktuellen Thread
Dieser Thread hier wurde zum Ende des Jahres eingestellt. Informationen zum Support für die alte AMAD Version gibt es hier



Das Modul und das Flowset gibt es nun offiziell über FHEM Update
Zum Wikieintrag

Warum AMAD2
Bei der Entwicklung von AMAD musste ich auf Grund meines damaligen Wissenstandes ein einfaches Konzept zum erhalt von Daten wählen. Hierfür wählte ich das Prinzip des pullens. Die Daten wurden alle 3 min vom Gerät angefordert. Mit AMAD2, also der 2. Version von AMAD werden die Daten nun vom Androidgerät selbst nach FHEM gepusht. So kommen Statusänderungen quasi in Echtzeit als Reading ins Device.



Letztes Changelog
Version 2.6.16
Flowsetversion: 2.6.16
Automagic Version >= 1.31.0 ist erforderlich

  • fix empty androidVersion Reading when use Nougat
  • mehr media set Befehle
  • new set Befehl startDaydream
  • new set Befehl volumeRingSound für Samsung Geräte
  • Anruf beenden
  • senden einer SMS: sendSMS Dies ist der Text|5559873645
  • statusRequest ist zu jeder Zeit möglich

Bugreports können in diesem Thread oder im Unterforum "Unterstützende Dienste" erstellt werden.

Was benötige ich um Euch helfen zu können?
Ich brauche immer ein list des betroffenen Devices, ein list Eurer AMADCommBridge, ein Logauszug mit verbose 5 vom betroffenen Device und der Bridge.
Desweiteren schaut bitte in Automagic unter Globale Variablen, ob dort wenigstens der global_bridgeport, global_fhemip und global_fhemdevice hinterlegt ist. Und ganz klar eine Fehlerbeschreibung. Je präziser und ausführlicher um so besser.


Bitte schreibt im Betreff Eures Threads immer als erstes [AMAD2]



Vor einem Update von Version 1 auf Version 2, löscht bitte alle alten Flows. Inklusive OwnReadings!
Danach installiert Ihr das neue Flowset!

Noch ein Hinweis zur Arbeitsweise von AMAD. Sobald Ihr einen Neustart macht oder Ihr ein Device definiert/Modifiziert wird ein StatusRequest durchgeführt, SOFERN! Ihr in der Bridge fhemServerIP definiert habt.
Beim statusRequest wird eine Verbindung zum Tablet/Handy aufgebaut und im Zuge der Kommunikation die globalen Variablen übertragen und in Automagic eingetragen. Daher ist es wichtig das die erste Kommunikation Fehlerfrei ab läuft.





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

Invers

Hallöchen.
Da bisher niemand etwas schrieb, habe ich nun mal gewagt, die Installation vorzunehmen.

Ich habe also das Modul 1.2 gegen 1.9xx getauscht und die Flows ersetzt.
Zuerst mal ist die Definition (define TabletWohnzimmer 192.168.1.23 WLAN-SSID) falsch, weil ein AMAD fehlt.
Das bekommt man aber schnell mit.
Nach dem Neustart sind die Definitionen aller Geräte leider erst einmal weg und Handy und Tab müssen komplett neun angelegt werden.
Ich habe dann bemerkt, dass man nach dem Anlegen der Geräte auch noch einmal einen fehm-Neustart machen muss, sonst laufen die Flows nicht, es kommen also keine Infos an in fhem.

Nach dem abschliessendem  Neustart funktioniert nun alles.
Voicecontrol bitte beachten, dass in fhem nun alles klein geschrieben ankommt, also DOIFs ändern.

Bisher habe ich sonst keine Fehler bemerken können.

Super gemacht. Danke!!!

Schade nur, dass es offenbar niemand probieren mag. Vielleicht solltest du die Warnung beim Download entfernen, die offenbar noch von der Alpha kommt.
Scheint ja Angst zu verbreiten. :-)

Pi3B+ mit SSD/ Bullseye | FB7590 AX | 12 x Dect200 | CUL433+868 | SDuino | HM-LAN | 3 x Heizung FHT + FKontakte | KeyMatic + 4 FB | HM Wandtaster 2-fach m. LED | 6 x Türkont. TFK-TI | HM-Bew.-Melder innen | 3 x Smoked. HM-SEC-SD-2

CoolTux

Hallo,

Vielen vielen Dank fürs testen.
Das die Geräte alle weg sind sollte so eigentlich nicht sein. Habe extra versucht die ersten 2er Versionen von der Abfrage der Definition her kompatibel zu halten. Schade das Du nicht schreibst was nach dem Neustart im Log stand. Eventuell ließe sich hier was finden.
Aber es schien bei Dir Gottseidank nicht so schlimm gewesen zu sein was das neu anlegen an geht.
Dann wünsche ich Dir jetzt einfach mal ganz viel Spaß mit dem neuen AMAD.



Grüße
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

Invers

Ich hab in der Hektik gar nicht daran gedacht, dass du vielleicht etwas wissen möchtest. :-)

Use of uninitialized value in concatenation (.) or string at ./FHEM/74_AMAD.pm line 113.
2016.03.05 21:57:40 3: AMAD (AMAD_S5) - defined with host 192.168.178.39 on port 8090 and AccessPoint-SSID
2016.03.05 21:57:40 1: define AMAD_S5 AMAD 192.168.178.39: Your Device was defined without ACCESSPOINT-SSID, please modify the DEF to <HOST-IP> <ACCESSPOINT-SSID>
Use of uninitialized value in concatenation (.) or string at ./FHEM/74_AMAD.pm line 113.
2016.03.05 21:57:40 3: AMAD (AMAD_TAB10) - defined with host 192.168.178.25 on port 8090 and AccessPoint-SSID
2016.03.05 21:57:40 1: define AMAD_TAB10 AMAD 192.168.178.25: Your Device was defined without ACCESSPOINT-SSID, please modify the DEF to <HOST-IP> <ACCESSPOINT-SSID>
2016.03.05 21:57:40 3: AMAD (AMADCommBridge) - defined Bridge with Socketport 8090
2016.03.05 21:57:40 3: AMAD (AMADCommBridge) - Attention!!! By the first run, dont forget to "set AMADCommBridge fhemServerIP <IP-FHEM>"
2016.03.05 21:57:40 3: AMADCommBridge: port 8090 opened
2016.03.05 21:57:42 1: configDB: Your Device was defined without ACCESSPOINT-SSID, please modify the DEF to <HOST-IP> <ACCESSPOINT-SSID>
Your Device was defined without ACCESSPOINT-SSID, please modify the DEF to <HOST-IP> <ACCESSPOINT-SSID>
Please define AMAD_S5 first
Please define AMAD_S5 first
Please define AMAD_S5 first
Please define AMAD_S5 first
Please define AMAD_S5 first
Please define AMAD_S5 first
Please define AMAD_S5 first
Please define AMAD_S5 first
Please define AMAD_S5 first
Please define AMAD_S5 first
Please define AMAD_S5 first
Please define AMAD_S5 first
Please define AMAD_S5 first
Please define AMAD_S5 first
Please define AMAD_S5 first
Please define AMAD_S5 first
Please define AMAD_S5 first
Please define AMAD_S5 first
Please define AMAD_S5 first
Please define AMAD_S5 first
Please define AMAD_S5 first
Please define AMAD_S5 first
Please define AMAD_S5 first
Please define AMAD_S5 first
Please define AMAD_S5 first
Please define AMAD_S5 first
Please define AMAD_S5 first
Please define AMAD_S5 first
Please define AMAD_S5 first
Please define AMAD_S5 first
Please define AMAD_S5 first
Please define AMAD_S5 first
Please define AMAD_TAB10 first
Please define AMAD_TAB10 first
Please define AMAD_TAB10 first
Please define AMAD_TAB10 first
Please define AMAD_TAB10 first
Please define AMAD_TAB10 first
Please define AMAD_TAB10 first
Please define AMAD_TAB10 first
Please define AMAD_TAB10 first
Please define AMAD_TAB10 first
Please define AMAD_TAB10 first
Please define AMAD_TAB10 first
Please define AMAD_TAB10 first
Please define AMAD_TAB10 first
Please define AMAD_TAB10 first
Please define AMAD_TAB10 first
Please define AMAD_TAB10 first
Please define AMAD_TAB10 first
Please define AMAD_TAB10 first
Please define AMAD_TAB10 first
Please define AMAD_TAB10 first
Please define AMAD_TAB10 first
Please define AMAD_TAB10 first
Please define AMAD_TAB10 first
Please define AMAD_TAB10 first
Please define AMAD_TAB10 first
Please define AMAD_TAB10 first
Please define AMAD_TAB10 first
Please define AMAD_TAB10 first
Please define AMAD_TAB10 first


Das ist der Stand, nach dem Einspielen der neuen Version und dem anschliessenden Neustart von fhem.

Neuanlage ist ja keine grosse Arbeit, also stellt somit auch gar kein Problem dar.
Pi3B+ mit SSD/ Bullseye | FB7590 AX | 12 x Dect200 | CUL433+868 | SDuino | HM-LAN | 3 x Heizung FHT + FKontakte | KeyMatic + 4 FB | HM Wandtaster 2-fach m. LED | 6 x Türkont. TFK-TI | HM-Bew.-Melder innen | 3 x Smoked. HM-SEC-SD-2

schnitzelbrain

So ich hab auch den Sprung auf AMAD2 gewagt.
Einrichtung Problemlos  :)
Lief Direkt.

Nachdem ich mir von roman1528 (Danke auch fürs Posten deiner cfg und den Tablet UI Code) quick and dirty das Intent eingerichtet habe, bin ich hin und weg.

Den Code hab ich halt fürs Tablet bei mir etwas angepasst, aber mit einem Druck auf den Play Button kommt schon mal music raus  ;D
Ich hatte nur etwas länger benötigt bis ich gerafft hatte das Intent Music eine App für Android ist  :-[

Grüße und großes Lob an alle

Schnitzelbrain

andre07

#5
Hallo

Tolles Modul Eine Frage beim import der flows die alten löschen?
Weil touch und display ist ja nicht mehr dabei und es hat sich ja einiges
geänderte.
Noch was unter setOpenApp habe ich vorher mehere Appz
auswählen können geht jetzt anscheinend nicht
mehr.....wird mir nir noch chrome als auswahl angeboten.
Hatte das so definiert attr setOpenApp chrome tiny cam
Andre

CoolTux

Hallo Andre,

Es müssen immer die alten Flows gelöscht werden. In diesen Fall also das komplette alte AMAD Flowset inkl OwnReadings Packet.

Du kannst bei setOpenApp alle Apps eintragen welche Du gerne starten möchtest. Musst aber entsprechend den SetCommand Flow anpassen für Deine Apps. Von Hause aus geht erstmal nur Chrome und tuneinRadio.

Im Wiki sollte erklärt sein wie Du den Flow anpassen kannst.


@Invers
Vielen Dank für die Meldungen. Ich schaue es mir noch mal an.

@Schnitzelbrain
Na siehste, haste doch gut hinbekommen. Und nun hast Du gleiche eine saubere Lösung und kannst entspannt auf die Finial warten  ;D

Grüße
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

roman1528

Moin.

Da ich die 1.9.24 schon eine Weile am Laufen habe, habe ich mich hier nicht weiter zu geäußert.
Die Umstellungen in FHEM sind allerdings etwas nervig. Vorallem wenn man nicht aufgepasst hat (so wie ich) bzgl. der DEF Änderung. Also einmal alles neu Bitte...Danke...und siehe da es läuft alles ganz hervorragend :)

Was ich noch anmerken muss/möchte... wo es aber garantiert keine Lösungsmöglichkeit für gibt ...Das Aktualisieren der Flows über die XML Datei ist schon recht umständlich. XML per Bluetooth rüberschicken, alte Flows löschen, neue Flows einspielen und aktivieren.
Wobei das schlimme daran ist, die XML auf's Handy/Tablet zu schicken... Ich glaube ich setze mich da mal dran und versuche mal herauszufinden ob es dafür eine andere Möglichkeit gibt...

Ansonsten gefällt mir die Version sehr gut. (1.9.24)
1.9.27 habe ich noch nicht eingehernder getestet.

Es ist allerdings auffällig, dass Automagic häufig Fehler produziert (kann im Moment auch an meinem WLAN liegen) und die Devices für AMAD dann nicht mehr erreichbar sind/werden. Ich muss dann immer erst die Fehler in Automagic quittieren, schaue AMAD dann einmal schief an bis ich wieder den state:active bekomme...

Ich mach mich jetzt mal ans aufdüdeln der neuen XML und dann sehe ich ganz gespannt dem 2.0 Release entgegen :)

Grüße^^
i3-10305T 4x3GHz;8GB RAM;250GB & 1TB NVMe:
FHEM 6.2;FTUI;8" Tablet's+Fully;NsPanelPro;HUE;ESPRGBWW;HM(CCU3);Duofern; ASC;MQTT(Tasmota);netatmo;SONOS;eBus;DbLog;XiaomiDevice;NUT;ModbusAttr

RPi3+: FHEM 6.2;I²C;GPIO;RFID;G-Tag;XiaomiBTLESens
RPi3: FHEM 6.2;DIY Relais-Board;I²C;GPIO;RFID;Photovoltaik

marvin78

Installiere ES Dateiexplorer auf dem Tablet und binde ein Netzlaufwerk ein.

RoBra81

Guten Morgen,

so, nun habe ich auch mal die Zeit gefunden, die neue Version zu testen. Ich habe es nach einigem probieren hinbekommen, habe aber folgende Anmerkungen:

1. Das Löschen der vorhandenen Geräte liegt daran:

Zitat von: CoolTux am 02 März 2016, 11:14:41
Ganz wichtig bevor Ihr diese Version verwendet ist die Definition nach einen shutdown restart zu ändern.


define TabletWohnzimmer AMAD 192.168.1.23 WLAN-SSID


Der "Fehler" hier liegt im Wörtchen "nach" - wenn man VOR dem shutdown restart bei allen AMAD-Geräten die SSID hinzufügt, bleiben diese auch beim shutdown restart erhalten.
2. Wenn ich das Flowset eines Gerätes erst nach dem Update im FHEM aktualisiert habe, musste ich danach noch einmal die DEF des Gerätes im AMAD aktualisieren (modify), damit die SSID ins Automagic geschrieben wird - vorher funktionierte es nicht.
3. Ich wäre dafür, die SSID nicht ins Define zu schreiben, sondern als Attribut festzulegen - gibt man keine an, so gilt "Any" (könnte man vielleicht sogar als Standard in den Flowsets einfügen)

Ich habe noch nicht probiert, ob meine OwnReadings noch funktionieren - wäre schade, wenn das nicht mehr ginge...

Ansonsten sieht das sehr gut aus.


Vielen Dank

Ronny

Invers

Das Einspielen des Flowsets ist doch gar nicht so kompliziert.
In fhem steht ein Link (Download FlowSet-1.9.27) bei den Devices. Der funktioniert zwar momentan noch nicht, aber später kann man darüber doch vermutlich die Sets laden. Das vereinfacht doch schon. Oder sehe ich das falsch?
Der Link zeigt auf:
http://192.168.178.99:8083/fhem?cmd={%60cat%20/opt/fhem/FHEM/lib/74_AMADautomagicFlows_1.9.27.xml%60}&XHR=1
Wenn also AMAD2 später über fhem verteilt wird, wird auch der Link funktionieren.
Korrigiert mich, falls ich mich irre.
Pi3B+ mit SSD/ Bullseye | FB7590 AX | 12 x Dect200 | CUL433+868 | SDuino | HM-LAN | 3 x Heizung FHT + FKontakte | KeyMatic + 4 FB | HM Wandtaster 2-fach m. LED | 6 x Türkont. TFK-TI | HM-Bew.-Melder innen | 3 x Smoked. HM-SEC-SD-2

CoolTux

Hallo Ronny,

Vielen Dank für Deine Anmerkungen.
Eigentlich hatte ich die Abfrage der Definition auf Korrektheit schon so gemacht das auch mit einer alten Definition gestartet werden kann, aber halt der statusRequest nach dem Define nicht ausgeführt wird. Das muss ich mir noch mal anschauen.

Leider ist es so das OwnReadings komplett rausgenommen wurden. Sie werden ja nun nicht mehr benötigt und für Readings die nicht vorhanden sind steht ja nun im Wiki wie man da selbstgemachte Readings ins Device schreibt. Ist ja nun alles sehr einfach wie ich finde. Sorry.

Ich werde mir Notizen machen um eine Upgrade Prozedurbeschreibung zu machen. Dazu gehört dann auch das erst der Flowset aktuallisiert werden muss.

Ich habe die SSID mit in die Definition genommen weil es etwas ist was auf jeden Fall benötigt wird um sofort bei der Einrichtung zu sehen das es geht. Ein Any würde funktionieren aber schnell vergessen oder überlesen die User das sie SSID noch setzen müssen und schon ärgern sie sich über Fehlermeldungen unterwegs im Caffee oder auf Arbeit oder wenn sie beim Nachbarn im Netz sind. Das muss nicht sein. Viele User richten es einmalig ein und wenn es dann geht bloß die Finger weg. Da denkt keiner mehr an Nacharbeit.


Ich Danke Euch allen für das positive Feedback.



Grüße
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

@Invers
Du hast vollkommen Recht. Genau dafür würde der Link eingebaut. Man kann also zum jetzigen Zeitpunkt den Flowset von Hand nach FHEM/lib kopieren und dann auf den Tablets FHEMWeb aufrufen und beim Device auf den Link klicken.
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

Invers

Ich habe noch ein Problem bemerkt. Ist jetzt etwas kompliziert zu beschreiben, aber ich probiers mal:

Mir fällt auf, dass bei den Devices das Reading für volumeNotification unterschiedlich je Gerät ausgewertet/angezeigt wird.

Ich habe ein Galaxy S5 und ein Tab 10 (SM-T530).

Bei beiden Geräten wird die Anzeige für volume verändert, wenn ich die Medienlautstärke verändere.

Das Reading volumeNotification verhält sich hingegen bei beiden Geräten unterschiedlich.
Beim Tab erfolgt gar keine Anzeige von Werten (volumeNotification bleibt einfach leer) und beim S5 wird der Wert der Lautstärke angezeigt, die über die Tasten geändert wird (im S5 bezeichnet als Ton).
Beide Geräte nutzen Android 5.0.
Am s5 wird also mit den Tasten ,,Ton" verändert, am  Tab wird hingegen mit den Tasten ,,Benachrichtigungen" geändert. ,,Ton" gibt es hier gar nicht.
Wenn also jemand am Tab den Ton per Tasten leiser stellt, kann AMAD im Fall einer Ansage nicht wieder vorher lauter stellen.
Kann man da was machen, oder muss ich das selber in Automagic programmieren?
Man müsste also ja volumeNotification vom Tab befüllen mit dem Wert von ,,Benachrichtigungen"
Pi3B+ mit SSD/ Bullseye | FB7590 AX | 12 x Dect200 | CUL433+868 | SDuino | HM-LAN | 3 x Heizung FHT + FKontakte | KeyMatic + 4 FB | HM Wandtaster 2-fach m. LED | 6 x Türkont. TFK-TI | HM-Bew.-Melder innen | 3 x Smoked. HM-SEC-SD-2

roman1528

Zitat von: CoolTux am 06 März 2016, 10:48:29
@Invers
Du hast vollkommen Recht. Genau dafür würde der Link eingebaut. Man kann also zum jetzigen Zeitpunkt den Flowset von Hand nach FHEM/lib kopieren und dann auf den Tablets FHEMWeb aufrufen und beim Device auf den Link klicken.

Alles ganz nett... ABER

Wer will jedes mal Handy oder Tablet in die Hand nehmen, FHEMWEB aufrufen, darin rumfrickeln (auf Mobile-Devices echt mist!) das Flow-Set herunterladen und einspeisen...

Der Plan ansich ist gut. Man müsste also nicht jedes mal die XML aus FHEM ziehen, aus'f Gerät dudeln und einspeisen sondern kann sie direkt auf's Gerät laden.
Aber warum dann nicht gleichzeitig in Automagic direkt einspeisen. Die bestehenden Flow's 1:1 überschreiben.

Ist wahrscheinlich Ansichtssache... aber ich finde es so, egal wie es im Moment funktionieren kann, umständlich.

Grüße^^
i3-10305T 4x3GHz;8GB RAM;250GB & 1TB NVMe:
FHEM 6.2;FTUI;8" Tablet's+Fully;NsPanelPro;HUE;ESPRGBWW;HM(CCU3);Duofern; ASC;MQTT(Tasmota);netatmo;SONOS;eBus;DbLog;XiaomiDevice;NUT;ModbusAttr

RPi3+: FHEM 6.2;I²C;GPIO;RFID;G-Tag;XiaomiBTLESens
RPi3: FHEM 6.2;DIY Relais-Board;I²C;GPIO;RFID;Photovoltaik