[ 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

hyper2910

Hi,  habe ich auch gedacht!

und da ich noch ne ganze Kiste W-Lan Kabel da hatte habe ich die komplett durchgetauscht, aber nichts.  ;-)




Cubietruck mit FHEM, CUL V3 443MHz, 2 x CULV3 868MHz, Milights, Max Heizungssteuerung, Homematic, IT,

CoolTux

Ok. Mmhhh. Vielleicht hast Du zu starke Biegungen im Kabel oder zu steil Abwärts gelegt so das die Elektronen rausgeschleudert werden.

Aber es muss nicht unbedingt am Kabel liegen, manchmal ist es auch der Typ davor der doch sehr sehr spärlich mit Informationen ist, weisst was ich meine?


list $DEVICENAME


verbose auf 5 stellen. Firewall über prüfen, sind die Flows an, hat Deine Frau Deine Kreditkarte? Die üblichen Sachen halt. Ist doch sicherlich nicht Deine erste Anfrage im Forum.



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

PatrickR

#827
Hi!
Zitat von: octek0815 am 03 Januar 2016, 21:18:26
Das Ganze läuft scheinbar nicht mit Hostnamen (FQDN) sondern nur mit IP Adressen.

Aha! Jetzt ist mir auch klar, warum das Problem nicht bei allen auftritt.

@CoolTux:
Die Devel-Version läuft übrigens seit Tagen stabil. Ist die inzwischen in den Hauptzweig gemerged, den FHEM automatisch updated?

Patrick

/Update:
Offenbar scheint Automagic Probleme zu haben, wenn mehrere SetCommands in Serie ausgeführt werden. Bei mir führte das dazu, dass der Flow deaktiviert wurde. Befehl war:
set AM_IntensoTab814Flur volumeNotification 1; sleep 3; set AM_IntensoTab814Flur notifySndFile CTN_Alert.ogg; set AM_IntensoTab814Flur volumeNotification 7
lepresenced - Tracking von Bluetooth-LE-Tags (Gigaset G-Tag) mittels PRESENCE

"Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning." - Rich Cook

CoolTux

Hallo Patrick,

Bei Serienkommandos mache ich immer ein sleep 3 dazwischen, bei jedem. Läuft bei mir seit Monaten stabil und ich habe einige am Tag.


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

PatrickR

Hi!

Zitat von: CoolTux am 09 Januar 2016, 18:56:05
Bei Serienkommandos mache ich immer ein sleep 3 dazwischen, bei jedem. Läuft bei mir seit Monaten stabil und ich habe einige am Tag.

Ok, ist umgebaut.

Patrick
lepresenced - Tracking von Bluetooth-LE-Tags (Gigaset G-Tag) mittels PRESENCE

"Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning." - Rich Cook

Raemsna

Hallo CoolTux,

vielen Dank für dein tolles Modul, welches ich seit kurzem bei allen meiner Androiden im Einsatz habe!

Ich würde gerne mit meiner automatischen Nachtschaltung (Schalter am Bett) gleich alle meine Geräte in den Flugmodus setzen und diese am Morgen mit dem gesetzten Wecker wieder "aufwecken".

Letzteres kann ich mit Automagic leicht einstellen.
Aber ist es möglich dein Modul so zu erweitern, dass ich die Geräte per "set" in den Flugmodus bekomme?
Bzw. stellt sich die Frage, ob und wie leicht man persönlich konfigurierbare set Befehle in dein Modul bekommt?

Ich hoffe ich konnte mein Anliegen verständlich rüberbringen.

Grüße
Raemsna

CoolTux

Hallo Raemsna,

Ich musste am Anfang gleich mal schmunzeln, habe dann aber den Teil mit dem Wecker gelesen.
Geschmunzelt habe ich weil ja im Flugmodus kein WLan vorhanden ist. Dann habe ich das mit Deinem Wecker aber verstanden.

Vorab set Befehle bekommst recht leicht rein wenn Du Perl versteht. Das Problem, Du müsstest selber pflegen und darfst nicht Updaten. Also eher nicht so toll.

Ich kann es einbauen, die Frage ist wie Sinnvoll ist es. Kurze Funktionärerklärung. Wenn das WLan weg ist und das Androidgerät nicht erreichbar wird der Status von deviceState auf OFFLINE gesetzt. Ab hier wird nicht mehr automatisch versucht Informationen vom Androidgerät ab zu rufen.
Du musst also den Status händisch oder per Notify wieder ändern. Und zwar dann wenn Du Dir sicher bist das Dein Flugmodus wieder raus ist.

Wie gesagt, prinzipiell kann ich es Dir einbauen.



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

hyper2910

Hi,

so jetzt läuft alles bei mir, habe auch schon eigene Flows mir erstellt, z.B. wenn ich nach Hause komm, soll Licht angehen.


Das ganze klappt auch soweit, jedoch schaffe ich es nicht, das der Befehl im Hintergrund ausgeführt wird.

Wenn ich das richtig verstanden habe, geht das ganze über HTTP Post, jedoch macht diese funktion bei mir nichts (kein Licht an). Hat jemand einen Tip, wie der Flow aussehen muss?

momentan sieht es so aus!



Cubietruck mit FHEM, CUL V3 443MHz, 2 x CULV3 868MHz, Milights, Max Heizungssteuerung, Homematic, IT,

CoolTux

Zitat von: hyper2910 am 11 Januar 2016, 10:08:46
Hi,

so jetzt läuft alles bei mir, habe auch schon eigene Flows mir erstellt, z.B. wenn ich nach Hause komm, soll Licht angehen.


Das ganze klappt auch soweit, jedoch schaffe ich es nicht, das der Befehl im Hintergrund ausgeführt wird.

Wenn ich das richtig verstanden habe, geht das ganze über HTTP Post, jedoch macht diese funktion bei mir nichts (kein Licht an). Hat jemand einen Tip, wie der Flow aussehen muss?

momentan sieht es so aus!

Mal ganz kurz gefragt, wieso machst Du die Anwesenheitserkennung nicht über FHEM?
Ansonsten zu Deinen Screenshots, ist die URL zensiert? Mir geht es um ip, oder hast Du das echt genau so da drin stehen? Denn ip ist keine Variable, das würde nicht gehen.
ansonsten musst Du nicht über das FHEM Frontend beim http request  gehen, dafür gibt es ja die CommBridge.

Memo an mich, unbedingt Beispiel ins Wiki stellen.


Schau Dir mal den Flow VoiceControl an. Speziell die Aktion "Send Voice Input ..."
Hier siehst Du einen generellen Aufbau des http Request über die CommBridge. In Deinem Fall musst Du anpassen

Daten:
der FHEM Schaltbefehl und zwar alles nach set
FHEMCMD: set


Fertig. Nun sollte Deine Lampe schalten



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

benz_freak

Hallo CoolTux,
schönes Modul gestern mal eingerichtet keine 25min gebraucht, 10min zum rooten. Ein lob für das Wiki und commandref was top gepflegt ist.
screenBrightness geht perfekt und auch reboot welches ich für sinnvoll halte geht dank root auch.
Zwei Fragen habe ich aber noch

1. Könnest du das openApp nochmal genauer Beschreiben hab das gestern nicht ans laufen bekommen
möchte damit zwischen FTUI (Chrome Browser) und APP für die IPCAM umschalten.

2. Wie kann ich URLs mit Chrome Funktion wie "Zum Startbildschirm hinzufügen" öffnen. set screenFullscreen on blendet mir die Leisten unten und oben zwar aus aber die Chrom Menueleiste bleibt.

MFG Benny

CoolTux

Zitat von: benz_freak am 11 Januar 2016, 10:57:17
Hallo CoolTux,
schönes Modul gestern mal eingerichtet keine 25min gebraucht, 10min zum rooten. Ein lob für das Wiki und commandref was top gepflegt ist.
screenBrightness geht perfekt und auch reboot welches ich für sinnvoll halte geht dank root auch.
Zwei Fragen habe ich aber noch

1. Könnest du das openApp nochmal genauer Beschreiben hab das gestern nicht ans laufen bekommen
möchte damit zwischen FTUI (Chrome Browser) und APP für die IPCAM umschalten.

2. Wie kann ich URLs mit Chrome Funktion wie "Zum Startbildschirm hinzufügen" öffnen. set screenFullscreen on blendet mir die Leisten unten und oben zwar aus aber die Chrom Menueleiste bleibt.

MFG Benny

2. Ist leicht erklärt. Geht nicht. Du kannst kein Widget damit starten. Und das Startbildschirmding ist ein Widget.


Zu 1.
1) Du legst das Attribut setOpenApp an und schreibst hier den Namen der Anwendung rein welche Du starten willst. z.B. ipcam
2) Du gehst auf dem Tablet in den Flow SetCommands ganz ganz nach Rechts. Orientiere Dich an den Rauten in der Mitte des ganzen Aufbaus. Dort gibt es eine Raute die heißt Expression openApp. an dieser gehst Du weiter runter. Sie verteilt sich auf 5 weitere Rauten, die ersten zwei sind bereits zur Veranschaulichung belegt. Nimm die dritte. Ändere Expression: App3 um in Expression: ipcam und schreibe zwischen den Gänsefüßen bei param_app "ipcam" und zwar genau so wie Du es im Attribut setOpenApp auch geschrieben hast. Das ist wichtig sons wird es nicht korrekt erkannt.
Gehe nun am Strang für App3 weiter runter zur Raute "App Task läuft App3...". Hier wieder den Namen ändern, also App3 raus und CamIP rein. und dann wählst Du bei Package Name den Namen von IPCam. Als letztes gehst Du runter zur Aktion für App3 und benennst es wieder um und bei Package Name wieder das Package IPCam auswählen. Fertig.



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

hyper2910

Hi,


irgendwie verstehe ich das nicht ganz:

Schau Dir mal den Flow VoiceControl an. Speziell die Aktion "Send Voice Input ..."
Hier siehst Du einen generellen Aufbau des http Request über die CommBridge. In Deinem Fall musst Du anpassen

Code: [Auswählen]

Daten:
der FHEM Schaltbefehl und zwar alles nach set
FHEMCMD: set


Cubietruck mit FHEM, CUL V3 443MHz, 2 x CULV3 868MHz, Milights, Max Heizungssteuerung, Homematic, IT,

CoolTux

Was genau denn nicht?
Schau Dir den Flow mal an und dann sag mir  wo Du beim Verständnis hängst.



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

hyper2910

eigentlich schon hier:

der FHEM Schaltbefehl und zwar alles nach set
FHEMCMD: set


bei mir steht da kein Set

desweiteren, Woher kommt das "Global_Device?

Ich muss doch auch irgendwo angeben, das die "Lampe" angehen soll?
Cubietruck mit FHEM, CUL V3 443MHz, 2 x CULV3 868MHz, Milights, Max Heizungssteuerung, Homematic, IT,

CoolTux

Ok wir machen es mal anders. Ich gebe Dir gleich ein komplettes Beispiel.

Aber zuerst. Woher kommt global_fhemip und global_fhemdevice

Beide Variablen werden bei einem statusRequest des AMAD Modules von diesem übertragen. Ein statusRequest erfolgt ja alle X INTERVAL.
global_fhemip ist die IP welche Du in der AMADCommBridge als Reading gesetzt hast.

set AMADCommBridge fhemServerIP <IP-Adresse>


Die Variable global_fhemdevice wird aus dem AMAD Devicenamen gezogen. Ist wichtig für die Zuordnung wenn man mehrere AMAD Instanzen am laufen hat.


So und nun mal kurz zum Aufbau der http Request Aktion


URL
http://{global_fhemip}:8090

REQUEST METHODE
POST

CONTENT TYP
Genereller Text
text/plain

DATEN
Lampe1 on

EIGENE HTTP HEADER
FHEMDEVICE:{global_fhemdevice}
FHEMCMD:set


Alles was hier nicht erwähnt ist so lassen wie bei VoiceControl
Wenn Du das nun so an FHEM-AMAD sendest passiert folgendes. Ein http Request mit Methode POST wird an die IP gesendet welche sich in der Globalen Variable {global_fhemip} befindet.
Im Header steht drin von welcher FHEM Instanz das ganze kommt (für set Befehl unwichtig) und welcher Befehl genau ausgeführt werden soll (in diesem Fall ein set).
Im Datenfeld steht drin was er genau machen soll.

Dein normaler FHEM Befehl lautet ja


set Lampe1 on


Also steht in unserem Datenfeld


Lampe1 on


das set vor Lampe eins sparen wir uns weil wir ja bereits gesagt haben das wir ein set Befehl losschicken (FHEMCMD) und AMAD daraufhin des set bereits in der Prozedur hat und nur noch alles nach dem set benötigt.


Hoffe das konnte ich soweit verständlich erklären.




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