Neues Modul FULLY für Steuerung vom Fully Browser

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

Vorheriges Thema - Nächstes Thema

CoolTux

Zitat von: MrJackBlack am 05 Dezember 2017, 08:50:20

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.


Das Modul verwendet ja auch BlockingCall. Da wird ein externe Thread gestartet um dann losgelöst vom FHEM Thread seine normalerweise blockierenden Aufgaben zu erfüllen.
Das ist dann das was man sieht wenn man ps verwendet und 2 oder gar 3 fhem Prozesse sieht.
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

zap

Ach, ich werde älter und neige zur Vergesslichkeit.

FULLY nutzt jetzt schon BlockingCalls, allerdings nur für die regelmäßige, automatische Aktualisierung der Readings (gesteuert über pollInterval). Leider noch nicht für Get/Set Befehle.
Das müsste ich noch anpassen ... Wobei das dann zu einem für den Nutzer etwas seltsamen Verhalten führt: Man setzt einen Set-Befehl ab, der aufgrund BlockingCall scheinbar sofort ausgeführt wird. In Wirklichkeit wurde er aber nur im Hintergrund gestartet und der gewünschte Effekt tritt "irgendwann" ein. Das könnte sogar zu Überschneidungen von Befehlen führen. Um das zu vermeiden müsste ich eine Semaphore verwenden. Ziemlich viel Aufwand ...

@Cooltux: BlockingCall ist ja auch nur eine Krücke, um die fehlende Multithreading Fähigkeit von FHEM zu kompensieren. Erkauft man sich mit eine Vervielfachung des Speicherbedarfs, da der FHEM-Prozess bei jedem BlockingCall geklont wird. Da können dann bei exzessivem Einsatz von Pings bzw. des Presence Moduls eine ganze Menge Prozesse zusammenkommen. Ja ich weiß, es gibt beim Forken von Prozessen CopyOnWrite. Das scheint mit Perl aber nicht oder nicht so gut zu funktionieren, wenn ich mir den Speicherbedarf auf meinem Pi so anschaue.

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

Das es nicht perfekt ist steht ausser Frage. Ich stoße da auch hin und wieder an die Grenzen. Aber man arbeitet daran.
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

RalfPit

#78
Hallo,

ich nutze dieses tolle Modul zur Steuerung meiner Tablet UI Anwendungen auf
Fire 8-Tabletts. Alles funzt super, nur bei einem URL Aufruf muss ich 2x den SET-Befehl aufrufen. Beim ersten Aufruf öffnet sich die angezeigte Seite noch einmal, beim zweiten Aufruf die RICHTIGE. Die Attribute repeatCommand, requestTimeout und pingBeforeCmd ändern nichts.
Kann es evtl. an irgendeiner Einstellung in Fully Plus liegen ?
Was mir noch aufgefallen ist, dass bei bei einem Seitenwechsel auf dem Tablett trotz Einstellung event-on-change-reading .* die Änderung erst nach einem Pollintervall übermittelt wird.

Danke für eure Antworten
Ralf


achim60

Hallo,
ich habe die Fully plus Version und bekomme immer ein state failed, was wohl an dem fehlenden Perl Modul URI::Escape liegt bzw. Fully nicht alle notwendigen Rechte hat.
Da ich nicht so bewandert bin was Perl angeht kann mir bitte einer ein Tipp geben wo ich diese Modul bekomme und einbinde ?
Und wie vergebe ich die Rechte auf dem Tablett unter Fully bzw. welche?

Danke




Internals:
   CFGFN
   DEF        192.168.178.28 307766 60
   NAME       myDev_Fully_wohnzimmer
   NR         17013
   STATE      failed
   TYPE       FULLY
   host       192.168.178.28
   nextUpdate 13.12.2017 11:32:16
   onForTimer off
   version    0.6
   READINGS:
     2017-12-13 11:31:16   state           failed
   fully:
     password   307766
     schedule   0
Attributes:
   pollInterval 60
   room       Zentrale



zap

Zitat von: achim60 am 13 Dezember 2017, 11:40:31
Hallo,
ich habe die Fully plus Version und bekomme immer ein state failed, was wohl an dem fehlenden Perl Modul URI::Escape liegt bzw. Fully nicht alle notwendigen Rechte hat.
Da ich nicht so bewandert bin was Perl angeht kann mir bitte einer ein Tipp geben wo ich diese Modul bekomme und einbinde ?
Und wie vergebe ich die Rechte auf dem Tablett unter Fully bzw. welche?

Die aktuelle FULLY Version verwendet URI::Escape nicht mehr. Du solltest also ggf. mal FHEM aktualisieren.
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

achim60

danke für den Hinweis, ein Update habe ich die Tage schon gemacht.
Kann es daran liegen das es ein Fire Tablet ist ?


File    Rev   Last Change

fhem.pl 15564 2017-12-07 10:48:50Z rudolfkoenig

fhemweb.js                 15554 2017-12-04 20:01:08Z rudolfkoenig

achim60

klappt jetzt!

Ich musste Remote Administration aktivieren

RitterSport

Frage zur Auflösung:

Wie habt ihr es gelöst das bei einem Restart der Browsers die gleiche Scalierung vorhanden ist?
Bisher hatte ich immer einfach bei den Browsern rausgezoomed, was bei einem Restart ja verloren ist.
Ich habe schon auf meiner Webinstanz mit Viewport gespielt aber keinen Erfolg gehabt.


zap

#84
Das ist jetzt aber nicht Fully spezifisch, oder? Ich hatte mal, als ich TabletUI noch benutzt habe, mal im dortigen Unterforum gepostet, wie man die CSS Auflösung eines Tablets ermittelt. Wenn man seine Seiten dann in dieser Auflösung baut, braucht man nicht zu zoomen. Denn merke: meistens ist die CSS Auflösung ungleich der pysikalischen Auflösung. ZB haben viele (alle ?) iPads eine CSS Auflösung von gerade mal 1024x768. Die physikalische hingegen ist 4x so groß.

Siehe hier: https://forum.fhem.de/index.php/topic,46897.msg395218.html#msg395218
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

Mave

@zap

Zunächst mal vielen Dank für das tolle Modul.

Wenn ich abends das Tab via set Tab off ausschalte, lässt es sich am nächsten Morgen nicht mehr anschalten.
Ausserdem sehe ich im Log, dass irgendwann mal in der Nacht das Tab gar nicht mehr erreichbar ist.

Schaltet sich da mein Tab komplett ab, oder was könnte das Problem sein?

Vielen Dank.

Grüße Mave

enno

Zitat von: RitterSport am 19 Dezember 2017, 21:17:35
Frage zur Auflösung:

Wie habt ihr es gelöst das bei einem Restart der Browsers die gleiche Scalierung vorhanden ist?
In Fully habe ich unter den Settings - Web Zoom and Scaling - Initial Scale mir den passenden Faktor eingetragen. Damit startet Fully die Startseite in der richtigen Scalierung.

Ist das was du brauchst?

Gruss
Enno
Einfacher FHEM Anwender auf Intel®NUC

zap

#87
Zitat von: Mave am 20 Dezember 2017, 09:01:42
@zap

Zunächst mal vielen Dank für das tolle Modul.

Wenn ich abends das Tab via set Tab off ausschalte, lässt es sich am nächsten Morgen nicht mehr anschalten.
Ausserdem sehe ich im Log, dass irgendwann mal in der Nacht das Tab gar nicht mehr erreichbar ist.

Schaltet sich da mein Tab komplett ab, oder was könnte das Problem sein?

Vielen Dank.

Grüße Mave

Versuch mal das: https://forum.fhem.de/index.php/topic,81380.msg734660.html#new

Und vielleicht noch ping auf 1 setzen und requesttimeout auf 8 Sekunden oder so.
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

dl2ecg

Super gutes Modul, TNX !

Nach Umbau auf fully alles Bestens. Nach einem Reboot des Raspi startet Fhem nicht mehr.
Log File Fehlermeldung:

FULLY: Opening device 192.168.178.XX
Undefined subroutine &main::GetFileFromURL called at ./FHEM/89_FULLY.pm line 345,$

Hier wird username/passwort für fully abgefragt:

gefundene Ursache:  Die Definition von fully (define myDev fully..) steht in der fhem.cfg im text vor der Definition des Tablets, - dann schmiert fhem ab.
Lösung: die Definition von fully hinter die Definition vom Tablet setzen.


MarcoE

Hallo,
tolles Modul!
Ein Problem habe ich derzeit noch: wenn ich das Tablet per set in fhem ein und ausschalte klappt das prima. Wenn ich aber das per set ausgeschaltete Tablet dann am Power Taster einschalte ändern sich in fhem leider keine Werte. Auf der Webseite der app (host:2323) sehe ich aber den geänderten Status.
Lässt sich da was machen? Ich würde gerne in fhem auf das Einschalten das Tablet reagieren...
Vielen Dank und viele Grüsse,
Marco