Neues Modul FULLY für Steuerung vom Fully Browser

Begonnen von zap, 03 November 2017, 19:31:22

Vorheriges Thema - Nächstes Thema

ioT4db

Hallo enno,

danke für Deinen Tipp. Leider wird er bei mir nicht helfen, da ich das schon gelesen hatte. Alle Apps sind aktuell...

Danke trotzdem...
FHEM auf Synology mittels Docker,  Jeelink-Clone 1x für PCA301 und 1x für Lacrosse, THZ304SOL, Homematic: CUL_HM / M-MOD-RPI-PCB, Pushover, Xiaomi s50

amenomade

Funktioniert grundsätzlich Google TTS auf dem Tablet? Ist alles richtig in settings > accessibility > text-to-speech ?
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

ioT4db

hi,

TTS funktionierte insoweit, dass ich auf dem Tablet einen "Test" unter den Einstellungen durchführen konnte und es kam ein Ton heraus. In der Richtung war alles gut.

Zwischenzeitlich konnte ich aber das Problem ausmachen und es funktioniert nun! Freu :)

Am Ende waren es 2 Dinge, die es verhinderten, dass etwas aus dem Lautsprecher kam.

Das kleinere Problem war, dass mein Wand-Tablet nur bestimmte Internet-Domains erreichen darf (z.B. maps.google.com). Kleines Problem deswegen, da ich mir dessen bewusst bin und bei den Tests auch die Internetverbindung geöffnet hatte! Hier nur erwähnt, damit es vlt. anderen hilft.

Das größere Problem war aber die Spracheinstellung!!! Bei mir war Deutsch(Schweiz) hinterlegt. Keine Ahnung wieso, aber das war wohl beim Tablet voreingestellt. Nun habe ich die Sprache auf Deutsch (ohne Zusatz in Klammern) umgestellt und siehe da, es läuft!!!

Also ich kann zur Diskussion folgendes beitragen, was hier so noch nicht ausgesprochen wurde:

1. Tablet braucht Internetverbindung (eigentlich logisch, aber manchmal sieht man den Wald vor lauter Bäumen nicht)
2. Spracheinstellung muss exakt stimmen: Deutsch (NICHT Deutsch(Schweiz), Deutsch(Österreich) usw.)

VG
Daniel
FHEM auf Synology mittels Docker,  Jeelink-Clone 1x für PCA301 und 1x für Lacrosse, THZ304SOL, Homematic: CUL_HM / M-MOD-RPI-PCB, Pushover, Xiaomi s50

enno

Zitat von: friesenjung am 25 November 2017, 22:47:05
1. Tablet braucht Internetverbindung (eigentlich logisch, aber manchmal sieht man den Wald vor lauter Bäumen nicht)

Diesen Punkt kann ich so nicht bestätigen. Für mein Tablet ist das Internet blockiert. Nur die Google Seite für Wlan Status kann erreicht werden. (Fritzbox mit Kindersicherung und Whitelist) Text geht trotzdem.

Gruss
  Enno
Einfacher FHEM Anwender auf Intel®NUC

ioT4db

was meinst Du mit "Nur die Google Seite für Wlan Status kann erreicht werden"? Ich arbeite auch mit FritzBox+Whitelist. Wenn Du google.com in der Whitelist hast, ist es klar, dass es funktioniert. Ich versuche so wenig wie möglich zu öffnen. Für das TTS-Modul musste ich translate.google.com freigeben.

Grüße
FHEM auf Synology mittels Docker,  Jeelink-Clone 1x für PCA301 und 1x für Lacrosse, THZ304SOL, Homematic: CUL_HM / M-MOD-RPI-PCB, Pushover, Xiaomi s50

enno

Ich habe in der Fritzbox unter Kindersicherung ein Profil für "Handy ohne Internet" angelegt. Internet erlaubt nur für Whitelist. In der Whitelist steht nur:
http://connectivitycheck.gstatic.com
Diese Seite braucht mein Tablet um zu erkennen, dass Wlan funktioniert. Alles andere ist blockiert.
Netzanwendungen habe ich alle gesperrt, die in der Box zur Auswahl stehen.
Telnet
SSH
MS Remote Desktop
Https
FTP-Server
eMule
BitTorrent
alles außer Surfen und Mailen


Update oder externe Links in FHEM, etc. geht dann auch nicht mehr. Das ist aber Absicht und kann bei Bedarf an der Fritzbox ja eingestellt werden.

Mit dieser Einstellung lasse ich mir über das Modul einige Texte (Wetter, Fensterstatus, etc.) vorlesen. Fully läuft auf dem Teil im Kiosk Mode.

Gruss
  Enno
Einfacher FHEM Anwender auf Intel®NUC

ioT4db

Mhh,

komisch. Das mit "translate.google.com" war etwas voreilig.

Ich habe auch alle Dienste (Netzanwendungen), wie enno, gesperrt. Mit der Whitelist möchte ich nun TTS freigeben.

Es funktioniert definitiv nur mit der Freigabe "google.com". Es reicht nicht "translate.google.com" freizugeben. Jemand ne Idee, welche Subdomäne das Modul verwendet? Bzw. wie sieht denn die "originale" URL aus, die das Modul verwendet?

VG
FHEM auf Synology mittels Docker,  Jeelink-Clone 1x für PCA301 und 1x für Lacrosse, THZ304SOL, Homematic: CUL_HM / M-MOD-RPI-PCB, Pushover, Xiaomi s50

enno

#67
Hast du die TTS Version, die auch offline funktioniert? Ich habe eben mal gegoogled, da kam dieser Vorschlag:

Mit dieser App kann man ganz einfach Text in Sprache umwandeln(TTS). Es wird keine Internetverbindung benötigt die Umwandlung erfolgt lokal auf dem Gerät.

https://play.google.com/store/apps/details?id=com.textsprecher

http://stackandroid.com/tutorial/how-to-enable-offline-speech-to-text-in-android/

Gruss
  Enno
Einfacher FHEM Anwender auf Intel®NUC

ioT4db

nein, habe die direkt von google: https://play.google.com/store/apps/details?id=com.google.android.tts

Diese merkt sich lediglich das, was sie schonmal erfolgreich übersetzt hat. Zwischenzeitlich läuft es mit dem Whitelist-Eintrag "translate.google.com" wieder. Komisch. Irgendwas übersehe ich noch. Ich komm schon noch dahinter ;)

Danke für den Hinweis mit der anderen App. Werd ich auch probieren...

VG...
FHEM auf Synology mittels Docker,  Jeelink-Clone 1x für PCA301 und 1x für Lacrosse, THZ304SOL, Homematic: CUL_HM / M-MOD-RPI-PCB, Pushover, Xiaomi s50

zap

Ich habe gerade eine neue Version eingecheckt. Folgende Änderungen gibt es:

Neuer Befehl "set on-for-timer" zum zeitgesteuerten Ein-/Ausschalten des Displays:


  • set on-for-timer forever : Display bleibt immer an (Default wenn kein Parameter übergeben wird)
  • set on-for-timer seconds: Display bleibt die angegebene Anzahl Sekunden an
  • set on-for-timer off: Eventuell aktiver Timer wird deaktiviert.

Die on-for-timer Funktion verwendet einen FHEM-Timer statt der vorgesehenen REST-API Funktion in Fully, da diese (zumindest auf meinem Tablet) nicht funktioniert.

Außerdem gibt es neue Attribute, die helfen können, Timeouts beim Senden von Befehlen an das Tablet zu vermeiden, wenn das Tablet im Standby ist:


  • pingBeforeCmd 0,1,2: Wenn 1 oder 2 wird vor der Ausführung eines Set- oder Get-Befehls die entsprechende Anzahl ICMP Requests an das Tablet geschickt.
  • repeatCommand 0,1,2: Wenn 1 oder 2 wird jeder fehlgeschlagene Set- oder Get-Befehl die entsprechende Anzahl Male wiederholt.

Wenn die beiden Attribute oben in Kombination mit requestTimeout verwendet werden, kann es ggf. zu deutlichen Verzögerungen bei der Ausführung von Befehlen kommen. In diesem Fall sollte man requestTimeout auf einen kleinen Wert (2-4) setzen.
2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

mrbreil

Danke dir Zap. Bin im Moment unterwegs und kann das leider erst nächste Woche testen. Danke das du es eingebaut hast.

MrJackBlack

#71
Hallo zap,

ich nutze dein neues Modul seit nun 4 Tagen. Leider scheint es so als ob das Modul sehr häufig Freezes auslöst.
Hier die Definition des Device:
defmod fully FULLY 192.168.1.110 xyz 300
attr fully pingBeforeCmd 2
attr fully pollInterval 300
attr fully repeatCommand 2
attr fully requestTimeout 4
attr fully verbose 5


Wie du siehst nutze ich repeatCommand, pingBeforeCmd und requestTimeout. Möchte ich ein Befehl abschicken, zum Beispiel unten mit einem at-Befehl abends bei Sonnenuntergang die Brightness runterzusetzen, dann finde ich sowas im Logfile:

Im Logfile:
2017.12.04 11:07:44 2: FULLY: Command failed
2017.12.04 11:07:44 3: fullybridown: FULLY: Command failed
2017.12.04 11:07:44 1: Perfmon: possible freeze starting at 11:07:15, delay is 29.035


Mache ich was falsch? Kann es sein das für die gesamte Dauer die das Modul versucht zu kommunizieren FHEM blockiert wird?
FHEM 5.8 mit Homebridge auf Intel NUC
HUE, LIGHTIFY, JeeLink, CC1101, haufen Lampen und Sensoren. Interface via TabletUI auf einem Android Tablet. Seit Neuestem auch ein Landroid S über FHEM  angesteuert

zap

Das liegt an der Kombination der Attribute. Wenn die regelmäßige Aktualisierung funktioniert, solltest du diese Attribute einfach weglassen oder entweder ping oder repeat verwenden. Die Zeiten addieren sich. Jedes Ping dauert 1 Sekunde. In deinem Fall im worst case also

2*1 + (2+1)*4 = 14 Sekunden

2+1 weil ein regulärer Request + 2 Wiederholungen.

Das Pollintervall würde ich auch erhöhen. Das einzig interessante ist ja der Batterieladestand. Bei mir ist das Pollintervall 3600.
Die Readings werden ja bei jedem Set Befehl sowieso aktualisiert, da Fully immer den aktuellen Stand als Antwort zurück gibt.
2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

CoolTux

Eine andere Möglichkeit wäre den Ping test in einem BlockingCall laufen zu lassen. So würde FHEM nicht blockieren.

@ZAP
Die FHEM Developer bitten sowieso immer darum jegliches blockieren zu vermeiden. Es werden große Anstrengungen in diese Richtung unternommen.
Vielleicht schaust Du Dir BlockingCall einmal an.



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

MrJackBlack

#74
Hallo zap,
Hallo CoolTux,

danke für Infos. Das FHEM blockiert ist sicherlich unschön. Ich werde mein Device anpassen.

Bezüglich des Pingens und Einfrieren von FHEM: das Modul PRESENCE (lan-ping) führt scheinbar Pings aus, ohne das es zu Freezes kommt. Eventuell kann man da etwas draus nehmen.

edit:
Ich verwende nun nur noch pingBeforeCmd und FHEM schafft es nicht das Tablet "aufzuwecken". Leider finde ich auch nichts in den Einstellungen bei meinem ACER ICONIA 10" dass man das WLAN-Modul permanent einschalten könne. Sobald das Tablet einmal schläft, muss es scheinbar wach gerüttelt werden mit pingBeforeCmd und repeatCommand ...


--- 192.168.1.110 ping statistics ---
1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0ms
FHEM 5.8 mit Homebridge auf Intel NUC
HUE, LIGHTIFY, JeeLink, CC1101, haufen Lampen und Sensoren. Interface via TabletUI auf einem Android Tablet. Seit Neuestem auch ein Landroid S über FHEM  angesteuert