[ 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 set Kommando geht wie gesagt, was die Bestättigung an geht so arbeite ich daran.  Denke mal heute Abend weiß ich da mehr.


Leider ist mir heute ein größeres Problem dazwischen gekommen. Rudi hat 5.7 laufen lassen und nun bekomme ich Probleme mit meinen Attributen. Ich habe eine Bedingung eingebaut bei der Attributanzeige. Diese geht leider nicht mehr und somit hagelt es Fehlermeldungen. Schaut mal bitte ob ihr die auch habt. Update habe ich heute gemacht.
Ich muß die Bedingung raus nehmen, und somit werden die Attribute nun auch in der Bridge an gezeigt. Ich werde wohl nicht drum rum kommen und ein eigenes Modul für die Bridge machen.



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

Zitat von: LudgerR am 16 November 2015, 13:21:45
Hallo CoolTux,

die Lose Rückkopplung über ReadinsVal ist sicherlich in vielen Fällen ausreichend um zu verifizieren, ob ein Befehl die entsprechende  Wirkung auf der Fhem Seite erzeugt hat.  In vielen Fällen bei den "lazy" FHT bleibt einem nicht anders übrig als abzuwarten.

Mit einen Response vom ausgeführten  FhemCmd kann ich bereits zur Ausführungszeit entsprechend Return codes an den AutoMagic Flow zurückgeben ob der Voice Kontrol Befehl verstanden worden ist bzw. was falsch war.

Selbstverständlich sollte man  in seiner eigenen Funktion z.B. sub MyVoiceCtrl($$$$$$)  auf FhemSeite keinen Acktionen haben die Zeit kosten. Aber die Validierung von Parametern auf Korrekheit mit entspechenden Feddback an den AUtoMagic Flow ist  sehr nützlich.

Also mach mir das Tor in AMAD nicht zu.  Ich sezte darauf, dass ich im Expert-Mode ein fhemcmd() mit response zur Verfügung habe.  Wäre halt sehr lästig, wenn ich den Code vom AMAD modul bei einem Update immer wieder anpassen müßte.

Gruß,
Ludger

Gib mir mal bitte Deine Anpassungen. Und zwar am besten die gesamte Sub. Ich muß verstehen was Du genau benötigst. Dann baue ich es Dir ein.




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

marvin78

Ich nutze schon seit Monaten featurelevel 5.7 (und da hat sich im Grunde nichts geändert) und habe keine Probleme. Welche Bedingung in deinem Modul soll das sein?

CoolTux

Zitat von: marvin78 am 16 November 2015, 13:27:41
Ich nutze schon seit Monaten featurelevel 5.7 (und da hat sich im Grunde nichts geändert) und habe keine Probleme. Welche Bedingung in deinem Modul soll das sein?
[/quote

Habe eine AttrList in der Initial und habe da ein if($hash->{HOST} als Bedingung rangehangen. Also zeige die Attribut Liste nur wenn HOST bei dem Devise vorhanden ist.
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

marvin78

Du redest aber nicht von der Version im offiziellen FHEM!?

CoolTux

Zitat von: marvin78 am 16 November 2015, 14:08:24
Du redest aber nicht von der Version im offiziellen FHEM!?

Dort müsste das Problem eigentlich auch vorhanden sein. Wenn Du sagst dem ist nicht so, dann muß ich da noch mal schauen.

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

marvin78

Wie lauten denn die Fehler?

Ich habe kein

if( $hash->{HOST} )

in der Initialize sub. Deshalb frage ich.

$Id: 74_AMAD.pm 9788 2015-11-05 11:52:54Z markooldenburg $

CoolTux

Habe gerade geschaut. Hast Recht. Anscheinend habe ich das erst in der 0.9er Entwicklerversion eingebaut. Demzufolge hast Du unter der AMADCommBridge das setBrightness Atrribut und so zur Auswahl. Korrekt? Genau das wollte ich nämlich weg haben  ;DDD

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

marvin78

Habe ich, ja. Stört mich nicht sonderlich. Ich weiß auch nicht, ob ein Check in der init Sinn macht (auch vor 5.7).

CoolTux

Guten Morgen,

Ich habe soeben eine neue Develversion ins Git geladen. Viel Codebereinigung, paar Bugfixes und das beste ReadingsVal als Response für Automagic.
Version 0.9.4

Ihr erstellt ein HTTP Request


URL
http://{global_fhemip}:8090

REQUEST METHODE
POST

CONTENT TYP
Genereller Text
text/plain

DATEN
(hier kommen die drei Werte für ein ReadingsVal Aufruf rein, getrennt durch Leerzeichen)
TempFeuchtSensorSchlafzimmer temperature 300

(haken)Setze eigenen Header
FHEMDEVICE: {global_fhemdevice}
FHEMCMD: readingsval

SPEICHERE ANTWORT ...
Variable

VARIABLE
response


Fertig. Als Rückgabewert bekommt ihr in der Variable response eure Temperatur. Das klappt super. Und die lässt man sich dann einfach ansagen.




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

selfarian

Nutzt jemand von euch AMAD für die Steuerung seines Smartphones? Wie habt ihr das mit der Abwesenheit geregelt?
Das 2xx.xx.xx.xx Keine Route zum Zielrechner" ist etwas unschön :-)
RasPi mit HMLAN, 5x HM-SEC-SC, HM LED16 als Alarmanlagendisplay, HM-TC-IT-WM-W-EU, 4x HM-CC-RT-DN, 1x HM PBU, 1x HM PBI-4

mi.ke

Zitat von: CoolTux am 10 Oktober 2015, 21:58:56

       
  • kontrollieren ob eine bestimmte App im Vordergrund aktiv ist, hierfür müss der App Name mittels Attribut checkActiveTask hinterlegt werden. Es muss der korrekte Packagename genommen werden. z.B. com.android.chrome für Chrome. Das Reading checkActivTask wird dann mit 0 oder 1 gefüllt. 0 nicht aktiv oder nicht im Vordergrund aktiv. 1 akktiv im Vordergrund.


Hi Leon.

Mal wieder eine Frage.

Das checkActiveTask steht bei mir im Readings beharrlich auf 0.
In den Attributes ist com.vmd.WebViewControl eingetragen.

Starten der App geht hervorragend, nur das überprüfen eben nicht.

AMAD ist Version 0.8.3
AMADCommBridge ist disabled

ein list Device ergibt:


Internals:
   CFGFN      ./FHEM/(p)android.cfg
   DEF        192.168.1.49
   HOST       192.168.1.49
   INTERVAL   180
   NAME       WandTablet
   NR         1663
   PORT       8090
   STATE      100.0 % charging
   TYPE       AMAD
   VERSION    0.8.3
   Readings:
     2015-11-17 11:53:04   automagicState  Automagic Premium

Automagic Service läuft

     2015-11-17 11:53:04   bluetooth       off
     2015-11-17 11:53:04   checkActiveTask 0
     2015-11-17 11:53:04   connectedBTdevices
     2015-11-17 11:53:04   connectedBTdevicesMAC
     2015-11-17 11:53:04   currentMusicAlbum no soundplayer activ
     2015-11-17 11:53:04   currentMusicArtist no soundplayer activ
     2015-11-17 11:53:04   currentMusicTrack no soundplayer activ
     2015-11-17 11:53:04   flow_SetCommands aktiv
     2015-11-17 11:53:04   flow_informations aktiv
     2015-11-17 11:53:04   lastStatusRequestState statusRequest_done
     2015-11-17 11:53:04   nextAlarmDay
     2015-11-17 11:53:04   nextAlarmTime
     2015-11-17 11:53:04   powerLevel      100.0
     2015-11-17 11:53:04   powerPlugged    1
     2015-11-17 11:53:05   powerSupply     charging
     2015-11-17 11:53:04   screen          on
     2015-11-17 11:53:04   screenBrightness 10
     2015-11-17 11:53:04   screenOrientation auto
     2015-11-17 11:53:04   state           active
     2015-11-17 11:53:04   volumeMusikBluetooth
     2015-11-17 11:53:04   volumeMusikSpeaker 14
   Helper:
     infoErrorCounter 0
     setCmdErrorCounter 0
     Bm:
       Amad_attr:
         cnt        396
         dmx        0
         mAr
         max        0
         tot        0
       Amad_set:
         cnt        233
         dmx        0
         max        319
         tot        637
         mAr:
           HASH(0x374a488)
           WandTablet
           system
           reboot
Attributes:
   alias      10" Tablet (Flur)
   checkActiveTask com.vmd.WebViewControl
   room       Android
   setOpenApp WebViewControl
   sortby     5
   stateFormat powerLevel % powerSupply
   verbose    2


Hättest Du mal wieder einen Tip für mich?
Cheers
mi.ke
FHEM 5.9 | RPi4 + 5 x RPi(Z) + FB7590 + FB 6890 LTE via LAN und WAN (VPN) verbunden.
2 x CUL868 + 3 x RFXTRX(e) + 6 x HMwLanGW + 4 x z2tGw + 5 x LGW + 2 x IRBlast + CO2 +++
FS20, FHT, FMS, Elro(mod), CM160, Revolt, LGTV, STV, AVR, withings, HM-sec-*, HM-CC-RT-DN, AMAD, PCA301, arlo, Aqara

CoolTux

Hast Du das mal mit ner anderen App getestet? Läuft denn WebViewControl im Vordergrund? Teste mal nur so mit Chrome.

Und schau mal in den Flow ganz links wo der runTask ausgewertet wird was er da genau macht.
Eventuell läuft WebViewControl als Service und nicht als Task.



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

RoBra81



Zitat von: CoolTux am 17 November 2015, 10:24:14
Guten Morgen,

Ich habe soeben eine neue Develversion ins Git geladen. Viel Codebereinigung, paar Bugfixes und das beste ReadingsVal als Response für Automagic.
Version 0.9.4

Ihr erstellt ein HTTP Request


URL
http://{global_fhemip}:8090

REQUEST METHODE
POST

CONTENT TYP
Genereller Text
text/plain

DATEN
(hier kommen die drei Werte für ein ReadingsVal Aufruf rein, getrennt durch Leerzeichen)
TempFeuchtSensorSchlafzimmer temperature 300

(haken)Setze eigenen Header
FHEMDEVICE: {global_fhemdevice}
FHEMCMD: readingsval

SPEICHERE ANTWORT ...
Variable

VARIABLE
response


Fertig. Als Rückgabewert bekommt ihr in der Variable response eure Temperatur. Das klappt super. Und die lässt man sich dann einfach ansagen.




Grüße
Leon

Hallo,

das klingt schonmal nicht schlecht (kann es gerade nicht ausprobieren, da ich auf dem Weg in einen Kurzurlaub bin). Gibt es denn auch den umgekehrten Weg, sprich FHEM senden den Wert für die Variable, wenn sich der Wert des Readings ändert? Hintergrund ist, dass ich zum Beispiel den Zustand einer Lampe nicht zyklisch pollen,  sondern bei Änderung ans Handy schicken möchte, um es im Widget korrekt anzuzeigen...

Ronny

CoolTux

#554
Bis jetzt noch nicht. Aber wie ich Euch kenne möchtet ihr das bestimmt gerne haben  ;D
Damit wird Automagic so langsam mehr als nur ein kleines Hilfsmittel, lach.
Lass uns darauf einigen das wir das für die Version 1.2 einbauen. In der Version werde ich auch die Bridge vom eigentlichen AMAD Modul lösen und ein AMADCommBridge Modul bauen.



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