[ 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

roman1528

Zitat von: CoolTux am 09 Februar 2016, 15:48:36
Gute Nachrichten für die Intent-Liebhaber,
Ich habe endlich herausgefunden wie das unter Automagic funktioniert. Ich habe erfolge mit intentradio. Ich kann nun Playlisten abspielen, stoppen und und und.
Ich werde mal schauen das ich meine Erkenntnisse die Wochen in Code für das Modul gieße.

Super Sache das... ich freu mich schon  ;D

Wie ist das aktuell? Kann ich jetzt irgendwas senden (Befehl mit Value) um dann einen Flow oder eine Aktion (send Intent) in Automagic zu starten?
Den EmpfangsFlow hab ich schon. Läuft auch herrlich mit weitergabe an FHEM (als Beispiel den Imformations-Flow genutzt).
Nur um jetzt schon mal zu testen und und und würd ich halt von extern eine Aktion/Flow in Automagic triggern... allerdings mit value übergabe.

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

Geduld Geduld mein Lieber    ;D

Den Code in Automagic habe ich, jetzt mache ich dann noch die Anpassung im SetCommad Flow. Ich denke mal zu Donnerstag bekomme ich das hin.



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

Zitat von: CoolTux am 09 Februar 2016, 17:01:11
Geduld Geduld mein Lieber    ;D

Den Code in Automagic habe ich, jetzt mache ich dann noch die Anpassung im SetCommad Flow. Ich denke mal zu Donnerstag bekomme ich das hin.

Sehr sehr geil... Supergeil  ;D ;D
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

Ich habe alles soweit fertig für Intents. Heute Abend geht es dann ans Testen. Es können pro Intentaufruf 2 Extras übergeben werden. Wer mehr brauch muß sich melden.



Desweiteren habe ich mir auch Gedanken über die Weiterentwicklung von AMAD gemacht. Ich bin in den Vorbereitungen für Version 2.
Meine Idee zu Version 2 ist eine komplette Änderung des Grundkonzeptes. Weg vom aktiven pullen hin zum pushen.
Es werden dann also ohne zeitliche Verzögerung geänderte Zustände der Geräte ins Reading geschrieben. Kein Interval mehr und kein warten. Du steckst das Netzteil ein und eine Sekunde später steht im Reading powerPlugged eine 1 oder eine 2.

Soweit meine Idee, an der Umsetzung arbeite ich gerade aktiv. Sollte alles so klappen wie ich es mir vorstelle kann Ende 2. Quartal mit einer Veröffentlichung gerechnet werden.






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

CoolTux

Im Intent geht. Heute Abend oder Morgen früh Lade ich alles nötige ins Devel von GitHub. Dann kannst Du intensiv testen.

Beispiel


set $AMADDEVICE sendIntent org.smblott.intentradio.PLAY url http://stream.klassikradio.de/live/mp3-192/stream.klassikradio.de/play.m3u name Klassikradio



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

Zitat von: CoolTux am 10 Februar 2016, 16:48:34
Im Intent geht. Heute Abend oder Morgen früh Lade ich alles nötige ins Devel von GitHub. Dann kannst Du intensiv testen.

Beispiel


set $AMADDEVICE sendIntent org.smblott.intentradio.PLAY url http://stream.klassikradio.de/live/mp3-192/stream.klassikradio.de/play.m3u name Klassikradio



Grüße

whaaaaaa  ;D ;D ;D ;D Du bist der Beste  ::)

Vielen vielen Dank. Testen werde ich auf jeden Fall wie ein Irrer  ;D

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

RoBra81

Hallo Leon,

das, was du dir für Version 2 vorstellst, war eigentlich das, was ich mir mal gewünscht habe und weswegen wir die OwnReadings gebaut haben...

Ich freu' mich drauf...

Ronny

CoolTux

Hallo Ronny,

Ja ich weiß. Aber zu der Zeit war ich noch nicht so weit. Musste mich ja auch erst noch einarbeiten in das FHEM Development.  ;D

Ich bin auch schon sehr gespannt darauf wie gut es laufen wird.



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

#983
@roman1528 und alle die Interesse haben

Ich habe soeben im Devel Branch auf GitHub eine neue Version eingescheckt.


  • Unterstützung für Intent's
  • lock/unlock ist ins Menü von screen gerutscht
  • Hinweis zum Wegfall vom Attribut setScreenBrightness

Es gibt kein Reading für Intents da diese zu speziell Ausfallen würden, das kann man nicht verallgemeinern. Hier muss jeder selbst einen passenden Trigger erstellen und das Reading als Aktion über die CommBridge senden. Wie das mit der Aktion geht werde ich im laufe der Woche noch ins Wiki schreiben. Als Beispiel kann man sich aber im Informationsflow mal die Aktion "Reading Music Metachanged" anschauen. Gleich oben, rechte Seite.


Feedback ist erwünscht. Besonders von Dir roman1528!


Grüße
Leon


PS: Ich muß gestehen ich finde gefallen an IntentRadio    ;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

CoolTux

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

Zitat von: CoolTux am 11 Februar 2016, 10:41:02
https://github.com/LeonGaultier/fhem-AMAD/tree/devel
Bittel schön  ;D

Dankeschön.  ;D

Ich freu mir gerade so derbe den Arsch ab!!! So geil!!!

Samsung Galaxy S3 in der Küche: Wird direkt mit WebViewControl/FTUI/AMAD gesteuert. Wenn IntentRadio STATE play sendet werden die Lautsprecher eingeschaltet. Bei STATE stop wieder aus.
Anzeige von Fehler/Buffering..... als Symbol in FTUI mit Möglichkeit wieder Play zu setzen, url und name werden aus FTUI heraus ins Dummy gesetzt und von dort aus per notify weiterbehandelt und an AMAD gesendet..... usw. usw... xD

Automagic: siehe Anhang: Flow-Empfang (intentradio.STATE) und setzen eines Dummys in FHEM. set AMADCommBridge expertMode 1

FTUI:

<li class="halbTransparent" data-row="6" data-col="1" data-sizex="4" data-sizey="1">
<header class="headerTransparent">INTERNET-RADIO</header>
<div class="top-space-mobile">
<div class="inline">
<div data-type="popup"
data-height="560px"
data-width="150px"
class="">
<div data-type="push"
data-icon="fa-bars"
class="">
</div>
<div data-type="label"
class="">Sender
</div>
<div class="dialog dialogTransparent">
<header class="dialogheaderTransparent">RADIO - KÜCHE - SENDER</header>
<div class="top-space">
<div class="">
<div onclick="$('.dialog-close').trigger('click');"
data-type="image"
data-url="./images/radio21.png"
data-size="64"
data-opacity="1"
data-fhem-cmd="setreading ku_intentradio_dummy now_playing_img ./images/radio21.png; setreading ku_intentradio_dummy now_playing_url http://188.94.97.91/radio21.mp3; setreading ku_intentradio_dummy now_playing_name Radio21; set ku_intentradio_dummy setPLAY"
class="">
</div>
<div data-type="label"
class="">&nbsp;
</div>
</div>
<div class="">
<div onclick="$('.dialog-close').trigger('click');"
data-type="image"
data-url="./images/ffn.png"
data-size="64"
data-opacity="1"
data-fhem-cmd="setreading ku_intentradio_dummy now_playing_img ./images/ffn.png; setreading ku_intentradio_dummy now_playing_url http://player.ffn.de/ffnstream.mp3; setreading ku_intentradio_dummy now_playing_name FFN; set ku_intentradio_dummy setPLAY"
class="">
</div>
<div data-type="label"
class="">&nbsp;
</div>
</div>
<div class="">
<div onclick="$('.dialog-close').trigger('click');"
data-type="image"
data-url="./images/rautemusikmain.png"
data-size="64"
data-opacity="1"
data-fhem-cmd="setreading ku_intentradio_dummy now_playing_img ./images/rautemusikmain.png; setreading ku_intentradio_dummy now_playing_url http://main-high.rautemusik.fm/listen.pls; setreading ku_intentradio_dummy now_playing_name RauteMusik-Main; set ku_intentradio_dummy setPLAY"
class="">
</div>
<div data-type="label"
class="">&nbsp;
</div>
</div>
<div class="">
<div onclick="$('.dialog-close').trigger('click');"
data-type="image"
data-url="./images/rautemusikhouse.png"
data-size="64"
data-opacity="1"
data-fhem-cmd="setreading ku_intentradio_dummy now_playing_img ./images/rautemusikhouse.png; setreading ku_intentradio_dummy now_playing_url http://house-high.rautemusik.fm/listen.pls; setreading ku_intentradio_dummy now_playing_name RauteMusik-House; set ku_intentradio_dummy setPLAY"
class="">
</div>
<div data-type="label"
class="">&nbsp;
</div>
</div>
<div class="">
<div onclick="$('.dialog-close').trigger('click');"
data-type="image"
data-url="./images/rautemusikclub.png"
data-size="64"
data-opacity="1"
data-fhem-cmd="setreading ku_intentradio_dummy now_playing_img ./images/rautemusikclub.png; setreading ku_intentradio_dummy now_playing_url http://club-high.rautemusik.fm/listen.pls; setreading ku_intentradio_dummy now_playing_name RauteMusik-Club; set ku_intentradio_dummy setPLAY"
class="">
</div>
<div data-type="label"
class="">&nbsp;
</div>
</div>
<div class="">
<div onclick="$('.dialog-close').trigger('click');"
data-type="image"
data-url="./images/rautemusikharder.png"
data-size="64"
data-opacity="1"
data-fhem-cmd="setreading ku_intentradio_dummy now_playing_img ./images/rautemusikharder.png; setreading ku_intentradio_dummy now_playing_url http://harder-high.rautemusik.fm/listen.pls; setreading ku_intentradio_dummy now_playing_name RauteMusik-Harder; set ku_intentradio_dummy setPLAY"
class="">
</div>
<div data-type="label"
class="">&nbsp;
</div>
</div>
</div>
</div>
</div>
</div>
<div class="inline left-space">
<div data-type="switch"
data-device="ku_intentradio_dummy"
data-set-states='["setPLAY","setSTOP"]'
data-states='["stop|play/pause|play/buffering|play/duck|complete|error|setPLAY|setSTOP","play"]'
data-icons='["fa-play","fa-stop"]'
data-colors='["#505050","#505050"]'
data-background-icons='["fa-circle-thin","fa-circle-thin"]'
data-background-colors='["#505050","#505050"]'
class="">
</div>
<div data-type="label"
class="">Play/Stop
</div>
</div>
<div class="inline left-space">
<div data-type="symbol"
data-device="ku_intentradio_dummy"
data-states='["play","stop","play/pause","play/buffering","play/duck","complete","error","setPLAY","setSTOP"]'
data-icons='["fa-play","fa-stop","fa-pause","fa-play blink","fa-play blink","fa-stop","fa-exclamation-triangle","fa-play blink","fa-stop blink"]'
data-colors='["green","#505050","#aa6900","#aa6900","#aa6900","#505050","firebrick","green","#505050"]'
class="">
</div>
<div data-type="label"
class="">Status
</div>
</div>
<div class="inline left-space-2">
<div data-type="image"
data-device="ku_intentradio_dummy"
data-get="now_playing_img"
data-size="44"
class="">
</div>
<div data-type="label"
class="">&nbsp;
</div>
</div>
</div>
</li>


FHEM:

define IT_00F0FFFF10 IT 00F0FFFF10 01 10
attr IT_00F0FFFF10 IODev cul_433
attr IT_00F0FFFF10 alias Lautsprecher
attr IT_00F0FFFF10 event-on-change-reading state,STATE
attr IT_00F0FFFF10 group Steckdosen
attr IT_00F0FFFF10 room Küchedefine ku_S3_amad AMAD 192.168.1.39

define ku_S3_amad AMAD 192.168.1.39
attr ku_S3_amad group Display
attr ku_S3_amad interval 60
attr ku_S3_amad room Küche

define AMADCommBridge AMAD
attr AMADCommBridge group FHEM
attr AMADCommBridge room Flur

define ku_intentradio_dummy dummy
attr ku_intentradio_dummy event-on-change-reading .*
attr ku_intentradio_dummy event-on-update-reading .*
attr ku_intentradio_dummy group Multimedia
attr ku_intentradio_dummy room Küche

define doif_ku_lautsprecher DOIF ([ku_intentradio_dummy:state] eq "play") (set IT_00F0FFFF10 on) DOELSEIF ([ku_intentradio_dummy:state] eq "stop") (set IT_00F0FFFF10 off)
attr doif_ku_lautsprecher group Steckdosen
attr doif_ku_lautsprecher room Küche

define notify_ku_intentradio notify ku_intentradio_dummy.* { if(ReadingsVal('ku_intentradio_dummy','state','') eq "setPLAY") { fhem("set ku_S3_amad sendIntent org.smblott.intentradio.PLAY url ".ReadingsVal('ku_intentradio_dummy','now_playing_url','')." name ".ReadingsVal('ku_intentradio_dummy','now_playing_name',''))} elsif(ReadingsVal("ku_intentradio_dummy","state","") eq "setSTOP") { fhem("set ku_S3_amad sendIntent org.smblott.intentradio.STOP")} }
attr notify_ku_intentradio group Multimedia
attr notify_ku_intentradio room Küche


Wenn da jemad durchblickt... Meine Erklärung ist 100%ig zu kompliziert.

Vielen vielen Dank Leon!

Das kannst du so einchecken :P habe für meine Zwecke keine Fehler festellen können!

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

Hallo,

Na das freut mich aber das es bei Dir gut klappt.
Ich werde schauen wie viele sich noch melden. Wenn keiner weiter Interesse daran hat dann bleibt das erstmal im devel und kommt dann offiziell erst mit Version 2.0
Kann mich aber erinnern das der Andre (justme1968) mal Interesse an Intents gemeldet hat. Mal schauen ob er sich meldet.



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

Timmy.m

Hallo Leon.

Habe Version 1.3.x getestet. Bisher funktioniert alles sehr gut. Mir sind keine Probleme aufgefallen.
Das neue Handling ist wirklich sehr gut. Respekt!

Grüße Tim
FHEM5.9@RaspPi.3B|HMLAN|CUL868V3|1Wire|HUE|FritzBox|BotVacDconnected|3xKindleDisplay|
FHEM2FHEM|
FHEM5.9@RaspPi.2B|nanoCul868|TCM310|JeeLinkClone|RFXTRX433E|ZWave|Zigbee|xiaomi
RaspberryMatic@RaspPi.3B+ in Planung

CoolTux

Hallo Tim,

Danke Die fürs Testen und für das Lob.
Warte mal ab bis Version 2 kommt, hoffe das alles so klappt wie ich es mir vorstelle. Das wäre dann der Hammer  ;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

CoolTux

#989
Abend schön,

Heute möchte ich Euch berichten das die Entwicklung von AMAD 2.0 in ihre Testphase geht. Der Code für das Modul sowie die Flowsets sind weitestgehend fertig.

Neu ist:

  • komplette Umstellung auf PUSH (Echtzeitänderung von Readings bei Statusänderung)
  • stabileres Händling der Flows
  • neues Reading daydream on/off
  • neues Reading dockingState docking/undocking
  • verbesserte Erkennung und Zuweisung des Volume Reading, daher entfallen die Readings "volumeMusicBluetooth und volumeMusikSpeaker"


Nun beginnt eine 3 wöchige Testphase bei mir zu Hause. Sollte es keine weiteren großen Probleme geben werde ich eine erste beta Version Anfang März für Euch ins Devel von GitHub einchecken.



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