Autor Thema: Neues Modul FULLY für Steuerung vom Fully Browser  (Gelesen 16637 mal)

Offline zap

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2278
    • HMCCU
Neues Modul FULLY für Steuerung vom Fully Browser
« am: 03 November 2017, 19:31:22 »
Hallo,

der Fully Fullscreen Browser erfreut sich ja großer Beliebtheit wenn es um die Darstellung von Smarthome Oberflächen geht. Daher habe ich mich entschlossen, für die Steuerung des Browsers ein kleines Modul zu schreiben. Damit kann man einen Fully Browser auf einem Android Tablet steuern sowie Informationen abfragen.

Die Installation erfolgt über FHEM Update. Bitte darauf achten, dass die Fully Version aktuell ist und Fully alle notwendigen Rechte hat.

Achtung! Es wird die Plus Version von Fully für 4,90 € benötigt, da das vom Modul verwendete REST Interface nur in dieser Version enthalten ist.
Die Plus Version bringt außerdem noch erweiterte Funktionen wie z.B. Bewegungserkennung mit. Außerdem ein Javascript API, dessen Funktionen man z.B. in eine Tablet UI Oberfläche integrieren kann. Mehr über die Features der Plus Version gibt es unter http://www.ozerov.de/fully-kiosk-browser/de/

Device anlegen:

define myDev FULLY IP-Tablet Passwort [Poll-Intervall]

Das Passwort ist das Remote-Admin Passwort, das in Fully eingestellt ist. Es muss zwingend eins gesetzt sein. Wenn ein Poll-Intervall angegeben ist (10 bis 86400 Sekunden), fragt FULLY in diesem Intervall die Readings ab. Ein Intervall von 0 deaktiviert das Polling. Dann werden die Readings nur nach Ausführung eines Befehls aktualisiert.

Alles weitere siehe Commandref.

Was bisher in FULLY.pm implementiert ist:

- Bildschirm aus/einschalten
- Bildschirm sperren/entsperren
- Browser Cache löschen
- Fully beenden/neu starten
- In Fully zu einer bestimmten URL navigieren
- Text als Sprache ausgeben

Einige Informationen zu Fully und dem Tablet werden als Readings bereitgestellt. Hier ein Beispiel:

     2017-11-03 19:08:56   active_fragment webview
     2017-11-03 19:08:56   admin_rights    on
     2017-11-03 19:08:56   android_sdk     23
     2017-11-03 19:08:56   app_code_data_cache ?/?/? KB
     2017-11-03 19:08:56   app_ram_used_free 17733/80570 KB
     2017-11-03 19:08:56   battery_level   79
     2017-11-03 19:08:56   current_page    http://smarthome:8080/tablet/#index_main.html
     2017-11-03 19:08:56   device_type     SM-T550 (samsung)
     2017-11-03 19:08:56   foreground_app  de.ozerov.fully inactive
     2017-11-03 19:08:56   fully_device_id xxxxxxxxxxxxxx
     2017-11-03 19:08:56   fully_version   1.20.1
     2017-11-03 19:08:56   hostname        galaxy.fritz.box
     2017-11-03 19:08:56   ip4_address     192.168.1.66
     2017-11-03 19:08:56   ip6_address     xxxx::xxxx:xxxx:xxxx:xxxx
     2017-11-03 19:08:56   keyguard_locked off
     2017-11-03 19:08:56   kiosk_mode      off
     2017-11-03 19:08:56   last_app_start  01.11.17 18:58:12
     2017-11-03 19:08:56   mac_address     7C:91:22:80:DB:58
     2017-11-03 19:08:56   maintenance_mode off
     2017-11-03 19:08:56   motion_detection off
     2017-11-03 19:08:56   movement_detection off
     2017-11-03 19:08:56   power           unplugged
     2017-11-03 19:08:56   screen_brightness 94
     2017-11-03 19:08:56   screen_status   off
     2017-11-03 19:08:56   start_url       http://smarthome:8080/tablet
     2017-11-03 19:08:56   state           ok
     2017-11-03 19:08:56   total_ram_used_free 1023748/438704 KB
     2017-11-03 19:08:56   wifi_ssid       "xxxxxxx"

Das REST API hat noch ein paar andere Features, die ich noch einbauen werde.
« Letzte Änderung: 19 Dezember 2017, 08:29:33 von zap »
CCU3 mit diversen Komponenten (Fenster, Rolladen, Themostate, Stromzähler, Steckdosen ...)
FHEM mit Raspi für den Rest (Sonos, AVR, Meteohub, Beacons, Heizung, Hue)
IOBroker VIS
Maintainer der Module FULLY, Meteohub und HMCCU (Schnittstelle CCU2 - FHEM = best of both worlds approach)
Gefällt mir Gefällt mir x 5 Liste anzeigen

Offline amenomade

  • Hero Member
  • *****
  • Beiträge: 2576
Antw:Neues Modul FULLY für Steuerung vom Fully Browser
« Antwort #1 am: 03 November 2017, 20:22:42 »
Zitat
- Text als Sprache ausgeben (noch nicht final implementiert)
Da würde mich interessieren. Wie ist das zu konfigurieren?
FHEM 5.8 Pi 3, EchoDot, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, und HM Komponenten

F:"Schatz? Mach aus bitte"
M: "Alexa? Licht aus"-"Ich bin mir leider nicht sicher"  M:"Alexa? aus Licht"-"Das weiss ich leider nicht" M:"Alexa? Schalte...
F: "Drück mal auf den blöden Knopf!

Offline enno

  • Full Member
  • ***
  • Beiträge: 299
Antw:Neues Modul FULLY für Steuerung vom Fully Browser
« Antwort #2 am: 03 November 2017, 20:24:22 »
Danke für die Arbeit. Vielleicht für andere der Hinweis, in Fully Browser unter Settings "Remote Administration"
- Enable Remote Administration
- Remote Admin Password
- Enable Remote Admin from Local Network

Dann:

define <name> FULLY <IP> < password> <interval>
Dann lief es bei mir sofort. Ich bin gespannt wie es weitergeht....

Gruss
  Enno
Einfacher FHEM User auf Raspberry Pi 3 und Intel®NUC
-----------------------
Nächster Hannover-Stammtisch: 03.11.2018 - 15:00 Uhr

Offline zap

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2278
    • HMCCU
Antw:Neues Modul FULLY für Steuerung vom Fully Browser
« Antwort #3 am: 03 November 2017, 21:14:13 »
Da würde mich interessieren. Wie ist das zu konfigurieren?

Da gibt es nichts zu konfigurieren. Einfach

set myFully speak "Text"

Gibt den Text über den Tablet Lautsprecher aus. Was noch fehlt ist die URI Encodierung, d.h. im Moment Leerzeichen mit %20 angeben usw.


CCU3 mit diversen Komponenten (Fenster, Rolladen, Themostate, Stromzähler, Steckdosen ...)
FHEM mit Raspi für den Rest (Sonos, AVR, Meteohub, Beacons, Heizung, Hue)
IOBroker VIS
Maintainer der Module FULLY, Meteohub und HMCCU (Schnittstelle CCU2 - FHEM = best of both worlds approach)

Offline amenomade

  • Hero Member
  • *****
  • Beiträge: 2576
Antw:Neues Modul FULLY für Steuerung vom Fully Browser
« Antwort #4 am: 04 November 2017, 11:06:27 »
Bei mir geht das nicht. Das Device in FHEM ist korrekt angelegt, Status ist ok, Readings sind da und werden regelmässig aktualisiert. Auf der Tablett ist Fully PLUS mit gültiger Lizenz installiert. Die steht nicht auf stumm.

Tortzdem wird nix ausgesprochen.

EDIT: on und off gehen auch. Nur speak nicht
FHEM 5.8 Pi 3, EchoDot, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, und HM Komponenten

F:"Schatz? Mach aus bitte"
M: "Alexa? Licht aus"-"Ich bin mir leider nicht sicher"  M:"Alexa? aus Licht"-"Das weiss ich leider nicht" M:"Alexa? Schalte...
F: "Drück mal auf den blöden Knopf!

Offline amenomade

  • Hero Member
  • *****
  • Beiträge: 2576
Antw:Neues Modul FULLY für Steuerung vom Fully Browser
« Antwort #5 am: 04 November 2017, 11:32:03 »
Liegt bestimmt an die Tablet, da schon "http://<TabletIP>:2323//?cmd=textToSpeech&text=[text]&password=[pass] nicht funktioniert...

Aber wo???
FHEM 5.8 Pi 3, EchoDot, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, und HM Komponenten

F:"Schatz? Mach aus bitte"
M: "Alexa? Licht aus"-"Ich bin mir leider nicht sicher"  M:"Alexa? aus Licht"-"Das weiss ich leider nicht" M:"Alexa? Schalte...
F: "Drück mal auf den blöden Knopf!

Offline amenomade

  • Hero Member
  • *****
  • Beiträge: 2576
Antw:Neues Modul FULLY für Steuerung vom Fully Browser
« Antwort #6 am: 04 November 2017, 13:37:29 »
So... jetzt bin ich ein Schritt weiter. Nach Aktualisierung vom Google TTS App, und von Fully, kriege ich was gesagt. Allerdings aber NUR das erste Wort von meinem Text.

Ich habe im Modul folgendes hinzugefügt:
Zitat
   elsif ($opt eq 'speak') {
      my $text = shift @$a;
      Log3 $name, 3, "FULLY: Text ist $text";
      return "Usage: set $name speak {Text}" if (!defined ($text));
      $response = FULLY_Execute ($hash, "textToSpeech", { "text" => "$text" });

Und was kommt in der Log, wenn ich z.B. set Fully Bonjour bonjour eingebe:
Zitat
2017.11.04 13:34:42 3: FULLY: Text ist Bonjour
und ich höre "Bonjour"

Mit set Fully speak "Bonjour bonjour" (dann mit Quotes):
Zitat
2017.11.04 13:36:25 3: FULLY: Text ist Bonjour bonjour
ABER es wird nix ausgesprochen.
FHEM 5.8 Pi 3, EchoDot, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, und HM Komponenten

F:"Schatz? Mach aus bitte"
M: "Alexa? Licht aus"-"Ich bin mir leider nicht sicher"  M:"Alexa? aus Licht"-"Das weiss ich leider nicht" M:"Alexa? Schalte...
F: "Drück mal auf den blöden Knopf!

Offline enno

  • Full Member
  • ***
  • Beiträge: 299
Antw:Neues Modul FULLY für Steuerung vom Fully Browser
« Antwort #7 am: 04 November 2017, 13:54:35 »
Heute Nacht um drei ist das Modul auf "error" gegangen. Hat sich nicht selbst wieder verbunden. Nachdem ich heute Morgen "update" angefordert habe, war der Status wieder "ok".

Soll ich einen Watchdog ansetzen, oder ist geplant im Modul selbst ggf. einen reconnect einzubauen?

Text habe ich dem Gerät (S4 Mini mit Cyanogenmod) auch noch nicht entlockt, aber das schiebe ich auf ein fehlendes Google App...
Habe TTS von Google installiert, nun kommt der Text. Wenn ich Leerzeichen wie oben von zap geschrieben mit " %20" codiere, kommen auch mehrere Worte ohne Probleme.


Gruss
  Enno
« Letzte Änderung: 04 November 2017, 14:30:17 von enno »
Einfacher FHEM User auf Raspberry Pi 3 und Intel®NUC
-----------------------
Nächster Hannover-Stammtisch: 03.11.2018 - 15:00 Uhr

Online CoolTux

  • Developer
  • Hero Member
  • ****
  • Beiträge: 16018
Antw:Neues Modul FULLY für Steuerung vom Fully Browser
« Antwort #8 am: 04 November 2017, 14:23:04 »
So... jetzt bin ich ein Schritt weiter. Nach Aktualisierung vom Google TTS App, und von Fully, kriege ich was gesagt. Allerdings aber NUR das erste Wort von meinem Text.

Ich habe im Modul folgendes hinzugefügt:
Und was kommt in der Log, wenn ich z.B. set Fully Bonjour bonjour eingebe: und ich höre "Bonjour"

Mit set Fully speak "Bonjour bonjour" (dann mit Quotes):ABER es wird nix ausgesprochen.

Du musst sicherlich URL codieren. Also erstmal ein Wort testen wenn das geht ersetzt du Leerzeichen durch %20
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.me/MOldenburg
Mein GitHub: https://github.com/LeonGaultier
kein Support für cfg Editierer

Offline amenomade

  • Hero Member
  • *****
  • Beiträge: 2576
Antw:Neues Modul FULLY für Steuerung vom Fully Browser
« Antwort #9 am: 04 November 2017, 14:25:57 »
Exact! Mit %20 funktioniert es. M.A. sollte das aber im Modul kodiert werden ;)
FHEM 5.8 Pi 3, EchoDot, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, und HM Komponenten

F:"Schatz? Mach aus bitte"
M: "Alexa? Licht aus"-"Ich bin mir leider nicht sicher"  M:"Alexa? aus Licht"-"Das weiss ich leider nicht" M:"Alexa? Schalte...
F: "Drück mal auf den blöden Knopf!

Online CoolTux

  • Developer
  • Hero Member
  • ****
  • Beiträge: 16018
Antw:Neues Modul FULLY für Steuerung vom Fully Browser
« Antwort #10 am: 04 November 2017, 14:31:35 »
Ja und das hat der Author ja auch so am Anfang geschrieben das er das noch umsetzen möchte. Bis dahin soll man es so machen wie ich geschrieben habe.
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.me/MOldenburg
Mein GitHub: https://github.com/LeonGaultier
kein Support für cfg Editierer

Offline amenomade

  • Hero Member
  • *****
  • Beiträge: 2576
Antw:Neues Modul FULLY für Steuerung vom Fully Browser
« Antwort #11 am: 04 November 2017, 14:34:34 »
Ohje.
Zitat
Was noch fehlt ist die URI Encodierung, d.h. im Moment Leerzeichen mit %20 angeben usw.
Das hatte ich tatsächlich übersehen. Sorry!
FHEM 5.8 Pi 3, EchoDot, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, und HM Komponenten

F:"Schatz? Mach aus bitte"
M: "Alexa? Licht aus"-"Ich bin mir leider nicht sicher"  M:"Alexa? aus Licht"-"Das weiss ich leider nicht" M:"Alexa? Schalte...
F: "Drück mal auf den blöden Knopf!

Online CoolTux

  • Developer
  • Hero Member
  • ****
  • Beiträge: 16018
Antw:Neues Modul FULLY für Steuerung vom Fully Browser
« Antwort #12 am: 04 November 2017, 15:36:22 »
Nicht wild. Deswegen hatte ich es noch mal erwähnt.


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.me/MOldenburg
Mein GitHub: https://github.com/LeonGaultier
kein Support für cfg Editierer

Offline zap

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2278
    • HMCCU
Antw:Neues Modul FULLY für Steuerung vom Fully Browser
« Antwort #13 am: 04 November 2017, 15:49:21 »
Bei mir ist das automatische Update auch stehen geblieben. Muss ich mal näher untersuchen. Möglicherweise ein Timing Problem wenn das Tablet in Standby geht. Auch ein get update hat nicht geholfen. Erst ein set on.

Update: Einen Fehler habe ich schon gefunden. Wenn das automatische Update einmal fehlschlägt, wird es nie wieder ausgeführt.

« Letzte Änderung: 04 November 2017, 16:34:27 von zap »
CCU3 mit diversen Komponenten (Fenster, Rolladen, Themostate, Stromzähler, Steckdosen ...)
FHEM mit Raspi für den Rest (Sonos, AVR, Meteohub, Beacons, Heizung, Hue)
IOBroker VIS
Maintainer der Module FULLY, Meteohub und HMCCU (Schnittstelle CCU2 - FHEM = best of both worlds approach)

Offline zap

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2278
    • HMCCU
Antw:Neues Modul FULLY für Steuerung vom Fully Browser
« Antwort #14 am: 04 November 2017, 17:38:56 »
Ich habe eine neue Version im 1. Beitrag hochgeladen. Änderungen:

- Der Text bei "set speak" wird nun URL konform kodiert (Modul URI::Escape wird nun benötigt)
- Fehler behoben, der zum Abbruch der automatischen Updates führen konnte
- Attribut requestTimeout eingeführt. Falls das automatische Update öfters fehlschlägt oder auch wenn Befehle nicht ausgeführt werden, kann man diesen Wert etwas höher setzten. Standard ist 4 Sekunden, ggf. mal mit 8 Sekunden versuchen.
- Das Internal nextUpdate zeigt an, wann die Readings das nächste Mal aktualisiert werden.
CCU3 mit diversen Komponenten (Fenster, Rolladen, Themostate, Stromzähler, Steckdosen ...)
FHEM mit Raspi für den Rest (Sonos, AVR, Meteohub, Beacons, Heizung, Hue)
IOBroker VIS
Maintainer der Module FULLY, Meteohub und HMCCU (Schnittstelle CCU2 - FHEM = best of both worlds approach)