[ 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

roman1528

Zitat von: schnitzelbrain am 06 März 2016, 20:15:16
Hallo,

zur Info:

Im Log hab ich folgende Fehlermeldung
2016.03.06 16:28:30 1: PERL WARNING: Use of uninitialized value $exkey1 in concatenation (.) or string at ./FHEM/74_AMAD.pm line 759.

4 mal direkt hintereinander, wenn schon bekannt vergessen. Bin gerade im Log drüber gestolpert.

Zu AMAD noch eine Frage. Werden auch die Intent States (vielleicht Später) out of the box unterstützt ? So das diese in den AMAD Readings auftauchen.
Oder muss (kann ? ) man sich diese selbst erstellen.

Kannst und sollst du selbst erstellen  ;)

Ich habe den ganzen Quatsch mit den Intents losgetreten und stehe dafür voll ein...  ::) ::)

Im Anhang mein... Hoffentlich richtiger.... Intent Flow, welcher einen Dummy mit dem Inhalt aus: "org.smblott.intentradio.STATE state" über die AMADCommBridge setzt.

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

CoolTux

So kann man es machen
Ich habe einfach ein Flow welcher mir state und name in 2 Readings vom entsprechenden Device schreibt. Kann ich nachher gerne anhängen. Liege nur gerade mit dem falschen Tablet vor Juniors Bett zum einschlafen  ;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

schnitzelbrain

Zitat von: CoolTux am 06 März 2016, 20:24:10
Oh der ist neu. Muss ich mir anschauen. Wird aber wohl sein weil kein Extra beim Intentaufruf mit gegeben wurde. Ich schau mal das ich das vorher noch Abfrage.

Readings für Intents muss man selber erstellen, Grund ist das sie so unterschiedlich und somit nicht einheitlich sind.
Ich gehe davon aus Du willst es für IntentRadio machen?

Intent mach ich ganz schnöde aus dem HTML mit
set TabletWohnzimmer sendIntent org.smblott.intentradio.PLAY url http://mp3-live.swr3.de/swr3_m.m3u name SWR_3

Zitat von: roman1528 am 06 März 2016, 20:27:16
Kannst und sollst du selbst erstellen  ;)

Ich habe den ganzen Quatsch mit den Intents losgetreten und stehe dafür voll ein...  ::) ::)

Im Anhang mein... Hoffentlich richtiger.... Intent Flow, welcher einen Dummy mit dem Inhalt aus: "org.smblott.intentradio.STATE state" über die AMADCommBridge setzt.

Grüße^^

;D also versucht hät ichs auf jeden Fall.

So ist es natürlich um Klassen besser, vielen Dank für den XML.
Test ich gleich mal.


Grüße
Schnitzelbrain

CoolTux

Hier mal ein Flow um den Status von IntentRadio als. Reading im entsprechenden Device zu hinterlegen.
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

schnitzelbrain

Zitat von: roman1528 am 06 März 2016, 20:27:16
Kannst und sollst du selbst erstellen  ;)

Ich habe den ganzen Quatsch mit den Intents losgetreten und stehe dafür voll ein...  ::) ::)

Im Anhang mein... Hoffentlich richtiger.... Intent Flow, welcher einen Dummy mit dem Inhalt aus: "org.smblott.intentradio.STATE state" über die AMADCommBridge setzt.

Grüße^^

receiveFhemCommand set ku_intentradio_dummy play/buffering 2016-03-06 21:32:57

Das kommt an.

Dankeeeee

roman1528

Update der Flows: Hier mein Plan  ;D

Vorraussetzungen:
- AMAD in FHEM
- Automagic auf dem Androiden
- Device "defined"
- AMADCommBridge "defined" und mit der FHEM-IP gefüttert
- Einmalig das FlowSet per hand installiert
- Informations und SetCommands Flow's aktiviert
- AMAD-Device state auf active (damit ist alles einmal durchgelaufen und globale Variablen wie die FHEM-IP sind in Automagic bekannt)


- Auf dem Host-System einen Symlink anlegen:

sudo ln -s /opt/fhem/FHEM/lib /opt/fhem/www/amadflows

enspricht:
sudo ln -s <fhem-Verzeichnis>/FHEM/lib <fhem-Verzeichnis>/www/amadflows

So können wir über den WEB-Server von FHEM auf das /lib-Verzeichnis zugreifen in dem die XML mit den Flows liegt.

- Einen Flow in Automagic erstellen: (abhängig ob FHEMWEB per allowed mit einem Passwort geschützt ist)
Ohne Passwort:

Trigger: HTTP-Request: /fhem-amad/setCommands/*
Expression: WLAN Verbunden          {global_apssid}
Expression: request_path == "/fhem-amad/setCommands/updateFlowset"
Action: Flows/Widgets importieren          http://{global_fhemip}:8083/fhem/amadflows/AMADautomagicFlows_{param_version}.xml          Haken:Bestehende ersetzen


Mit Passwort:

Trigger: HTTP-Request: /fhem-amad/setCommands/*
Expression: WLAN Verbunden        {global_apssid}
Expression: request_path == "/fhem-amad/setCommands/updateFlowset"
Action: Flows/Widgets importieren          http://{param_username}:{param_password}@{global_fhemip}:8083/fhem/amadflows/AMADautomagicFlows_{param_version}.xml          Haken:Bestehende ersetzen

Oder die Flows im Anhang nehmen  ::)

Was CoolTux jetzt noch machen müsste.... Bitte Bitte *liebguck*
In dein oberaffengeiles AMAD-Modul müsste ein neuer Befehl rein:
set <AMADdevice> updateFlowset [[username] [password]]
!!! username und password optional !!! Dahinter die aktuelle AMAD-Version mitsenden!

Den HTTP-Request kannst du dir ja wahrscheinlich besser denken als ich (ich weiß es nicht)...

Da müsste dann auf jeden fall drin sein:
"/fhem-amad/setCommands/updateFlowset"
{param_username}, {param_password}, {param-version}

Kannst dir das ja mal durch den Kopf gehen lassen  ;)

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

schnitzelbrain

Zitat von: CoolTux am 06 März 2016, 21:22:58
Hier mal ein Flow um den Status von IntentRadio als. Reading im entsprechenden Device zu hinterlegen.

Auch super (eigentlich besser da der Dummy entfällt)

Kleiner Schreibfehler in der XML
intenRadioState

play

2016-03-06 22:22:52
intentRadioName

SR1

2016-03-06 22:22:52


Da fehlt bei dem intentRadioState vom reading das "t"

roman1258 trotzdem danke

Beide funktionieren.

roman1528

#37
Jup...

Ich habe die Methode per Dummy gewählt weil ich über diesen Dummy alles abwickle...
Setzen von url, name und setPLAY (als state) über FTUI
setPlay wird von einem notify ausgewertet und der Befehl aus den Dummy-Reading (url,name) zusammengebaut.
Der state des Dummys wird dann auch über die AMADCommBridge/intentRadio neu beschrieben und in FTUI ausgewertet. Sowie dynamisches Reading für's Sender-Logo.

Aber jeder so wie er es gern hätte  ::)

Grüße^^

Daaaa ist es ja wieder::: https://forum.fhem.de/index.php/topic,39773.msg408060.html#msg408060
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

schnitzelbrain

Zitat von: roman1528 am 06 März 2016, 22:36:39
Jup...

Ich habe die Methode per Dummy gewählt weil ich über diesen Dummy alles abwickle...
Setzen von url, name und setPLAY (als state) über FTUI
setPlay wird von einem notify ausgewertet und der Befehl aus den Dummy-Reading (url,name) zusammengebaut.
Der state des Dummys wird dann auch über die AMADCommBridge/intentRadio neu beschrieben und in FTUI ausgewertet. Sowie dynamisches Reading für's Sender-Logo.

Aber jeder so wie er es gern hätte  ::)

Grüße^^

Daaaa ist es ja wieder::: https://forum.fhem.de/index.php/topic,39773.msg408060.html#msg408060

Da hatte ich mich langgehangelt bei meinen Versuchen ;D

Wie ist bei Dir (Euch) denn die Reaktionszeit mit AMAD/Tablet UI. Ich hab nen älteren 10.1 (Ainol Hero 2 Andoid 4.1.1) Tablet.
Das Tablet lässt sich schon zeit bis der Stream losgeht. Die symbole ändern sich manchmal zu spät, da ist schon alles passiert.

@Roman bei deinem erwähnten Script ging garnix mehr. Zum Teil musste ich mehrmals drücken bis das Radio los lief und das Icon hinkte hinterher.
Ich glaub das Tablet ist zu langsam dafür.

roman1528

Zitat von: schnitzelbrain am 06 März 2016, 22:48:29
Da hatte ich mich langgehangelt bei meinen Versuchen ;D

Wie ist bei Dir (Euch) denn die Reaktionszeit mit AMAD/Tablet UI. Ich hab nen älteren 10.1 (Ainol Hero 2 Andoid 4.1.1) Tablet.
Das Tablet lässt sich schon zeit bis der Stream losgeht. Die symbole ändern sich manchmal zu spät, da ist schon alles passiert.

@Roman bei deinem erwähnten Script ging garnix mehr. Zum Teil musste ich mehrmals drücken bis das Radio los lief und das Icon hinkte hinterher.
Ich glaub das Tablet ist zu langsam dafür.

Schnelles Tablet ist natürlich die eine Sache (Mein S5 Smartphone ist auch deutlich schneller als mein Tab3 Tablet)

Ich habe natürlich noch fleißig dran gefeilt... Ist ja auch nur ein Beispiel und keine Kopiervorlage  :P
Um mal die Verzögerung zu verdeutlichen: (Alles läuft per Push/longpoll)
Tablet: Ladestecker am Tablet rein ... ca. 2 Sekunden ... Änderung in FTUI
Handy: Ladestecker am Tablet rein ... ca 2 Sekunden ... Änderung in FTUI ABER läuft über DynDNS also Internet!
(OK ... Schlechter Vergleich)

Das Internetradio in der Küche ist auf einem Galaxy S3 (auch nicht mehr das schnellste) Ich finde es geht mit den Statusänderungen... Natürlich brauch ein Internet-Radio-Stream etwas zum laden/buffern. Dann ist natürlich auch WLAN und Internetverbindung entscheidend...
Ansonsten... Würde er mir beim ersten start nicht anzeigen, dass er buffert... würde mich das auch nicht stören. Die anderen Stati habe ich ja nur eingebaut um sehen zu können was los ist wenn keine Musi kommt...
Was du noch bedenken musst, AMAD/Automagic läuft in dem Fall komplett über HTTP-Requests. Die interessieren sich nicht für Geschwindigkeit... Im Gegensatz zu Socket oder telnet Verbindungen...
Ich sage mir immer. Hauptsache es passiert zuverlässig in absehbarer Zeit (nicht erst morgen oder so  :D) Viel Ärgerlicher ist es nämlich wenn man drückt und drückt und drückt und es passiert nichts... *räusper* IT *räusper*

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

CoolTux

@roman1528

Vielen Dank für Deine Mühe und Zeit zum Thema Update. Kurze Frage, konntest Du schon ein Update von vorhandenen Flows mit selben Namen machen. Konnte jetzt nicht schauen, konnte mich aber erinnern das er wenn ein Flow mit selben Namen vorhanden ist er gar nichts macht.


@Schnitzelbrain

Vielen Dank für den Hinweis auf den Schreibfehler, habe ich dann mal korrigiert. Hihi
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

#41
Zitat von: CoolTux am 06 März 2016, 23:56:00
@roman1528

Vielen Dank für Deine Mühe und Zeit zum Thema Update. Kurze Frage, konntest Du schon ein Update von vorhandenen Flows mit selben Namen machen. Konnte jetzt nicht schauen, konnte mich aber erinnern das er wenn ein Flow mit selben Namen vorhanden ist er gar nichts macht.

Ja man sollte es ausgiebiger testen -.- *schäme mich in grund und boden*
Als Dateipfad schein Automagic nur Dateipfade zu fressen. Also: /bli/blubb/datei.bla

Och man... Ich versuchs weiter^^
Oder kannst du da mit den Jungs von Automagic kommunizieren... das ist sicher per URL machbar
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

Invers

#42
@CoolTux

Hi,
vielleicht kannst du dich ja noch erinnern, dass wir vor einiger Zeit darüber ,,sprachen", den Batteriestand meiner Uhr in fhem abzufragen.
Nun habe ich das endlich realisiert (danke nochmals für die Hilfe) und möchte in diesem Zusammenhang vor der Ansage ,,Akku der Uhr laden"  die Lautstärke auf 15 stellen.
Dabei habe ich aber Probleme festgestellt.
Erst einmal lässt sich in der fhem-WEB-Oberfläche der Regler bei set volumeNotification nur bis auf 7, statt bis auf 15 verschieben. Das betrifft beide Devices (S5 und Tab10)

Wie bereits vorher mal gesagt, haben die Geräte folgende Lautstärkeeinstellungen:
S5 hat Ton, Medien, Benachrichtigungen und System, Tasten schalten Ton. Geht allerdings Ton auf aus, schalten auch gleichzeitig automatisch Benachrichtigungen und System auf aus. Medien wird nicht beeinflusst.
Die anderen Einstellungen lassen sich erst wieder ändern, wenn Ton mindestens auf vermutlich 1 steht. Falls nicht, sind die Einstellungen Benachrichtigungen und System blockiert. Medien geht zu steuern.
TAB10 hat Benachrichtigungen, Medien und System, Tasten schalten Benachrichtigungen.
Setzt man hier Benachrichtigungen auf 0, geht auch System auf 0, Medien können geändert werden.

Was Samsung da macht, finde ich eigenartig. Kann mal jemand bei seinem S5 gucken, ob das dort auch so ist?

somit würde man eine Einstellung für Ton (S5) und Benachrichtigungen (TAB10)  brauchen, denke ich. Vielleicht sollte man gleich standardmäßig alle Toneinstellungen in fhem einbauen, dann wäre das Problem ja vielleicht vom Tisch. So viele Readings für Toneinstellungen kann es ja hoffentlich nicht geben.

Nachtrag:
Ich sehe gerade, dass bei beiden Devices ausreicht, die Lautstärke für Medien zu setzen, da nur darüber die Ansagen erfolgen. Die anderen Lautstärkeeinstellungen sind dafür irrelevant.
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

Und genau das wollte ich gerade schreiben. Lach.
Es reicht völlig volume 15 ein zu stellen und dann ein ttsMsg zu machen. Zwischen beiden Befehlen noch ein sleep 1 bitte machen.
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

Ich habe soeben eine neue Develversion hochgeladen.

Einfach den Link im ersten Post nehmen. Ein neues Flowset muß nicht installiert werden.


Bugfix

  • die Devices werden nun nicht mehr nach einem shutdown restart gelöscht
  • im log File erfolgt eine Hinweisausgabe für die veränderte Definition sofern noch nicht angepasst wurde




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