Neue Fullscreen Browser APP für Android (WebViewControl)

Begonnen von Dirk, 27 Januar 2013, 15:18:28

Vorheriges Thema - Nächstes Thema

der-Lolo

Auch dieses notify führt dazu das das Say etwa minütlich wiederholt wird...

Hier der Event Monitor dazu
Zitat2014-03-02 18:58:37 webViewControl s4 ttsSay Danke
2014-03-02 18:58:37 webViewControl s4 powerPlugged: true
2014-03-02 18:58:38 HUEDevice HUEDevice16 RGB: 000000
2014-03-02 18:58:39 webViewControl s4 ttsSay ich melde mich wenn meine Batterie vollständig geladen ist
...
2014-03-02 19:00:16 webViewControl s4 ttsSay Danke
2014-03-02 19:00:16 webViewControl s4 powerPlugged: true
2014-03-02 19:00:17 webViewControl s4 ttsSay ich melde mich wenn meine Batterie vollständig geladen ist

kannst Du mir trotzdem erkläre was s4:powerPlugged:\strue bewirken soll?

Damian hat vorgeschlagen den weg über einen hilfsmerker zu gehen - das kann ich natürlich tun, das sollte auch in jedem fall funktionieren.

herrmannj

Zitatkannst Du mir trotzdem erkläre was s4:powerPlugged:\strue bewirken soll?

ja klar, das ist eine komplette regex die nur auf "power plug :true" reagiert. Im notify wird damit die komplette Bedingung geprüft. Magst Du mal bitte schauen ob das event
014-03-02 19:00:16 webViewControl s4 powerPlugged: true
auch minütlich erzeugt wird ?

vg
Jörg

der-Lolo

danke hermannj,
sag mir doch bitte noch was das / darin macht...

wie du weiter oben im eventmonitor ausschnitt sehen kannst - das event trägt sich jeweils nach dem erstem danke ein...

mir ist noch eine kleinigkeit aufgefallen - die say ausgabe kommt ja auch wenn die app im pause modus ist, das find ich toll - wenn ich aber dann die app wieder in den vordergrund hole kommt der teil des says nochmal der sich in den state eingetragen hat...

kann man nach dem letztem say etwas in das state eintragen um dies zu verhindern?

herrmannj

Zitatwie du weiter oben im eventmonitor ausschnitt sehen kannst - das event trägt sich jeweils nach dem erstem danke ein...
Mist, da hätt ich mal genauer hinschauen sollen  ;) Sorry.

Zitatattr s4 event-on-change-reading powerPlugged
In diesem Fall: absolut richtig. Denk dran das Du dann auch die anderen events die Du vom Tab haben möchtest mit aufnehmen musst.

Zitatsag mir doch bitte noch was das / darin macht...
Du meinst das "\s" - oder ? Das steht inder regex für "space" weil ja in dem Event "powerPlugged: true" zwischen ":" und "true" ein space ist und die regex das komplette Event catchen muss. Du siehst oft auch eine andere Schreibweise: ".*". Die triggern die regex auch weil sie bedeuten "zwischen Doppelpunkt und dem 'true' kommt noch eine beliebige Anzahl irgendwelcher anderer Zeichen". Nachteil: perl muss mehr denken und in ungünstigen fällen ("powerPlugged: untrue") triggern die falsch.

vg
Jörg

der-Lolo

Danke für die erklärung - jetzt kann ich einige notifys umbauen sodass Perl weniger zu tun hat.
Kommen wir wieder zum ursprünglichen problem, das Event kommt also alle 01:30 - gibt es nun eine möglichkeit nur einmal zu reagieren, oder geht der weg nur über einen Dummy der beim ersten event auf on gesetzt wird und mit in die abfrage aufgenommen wird..?

Paul

Warum schreibst Du nicht:
define pow_s4_con notify s4 IF ([s4:powerPlugged] eq "true") (set s4 ttsSay Danke, ich melde mich wenn meine Batt........

Dann müsste

attr s4 event-on-change-reading powerPlugged

ausreichen
Cubietruck, HM-USB, CUL, FS20, FHT, HUE, Keymatic

der-Lolo

das müsste reichen - richtig...
webview control kennt das attribut event-on-change-reading aber nicht.
wenn man versucht es über die komandozeile einzugeben kommt das hier als meldung
Zitats4: unknown attribute event-on-change-reading. Type 'attr s4 ?' for a detailed list.

das versuchte ich bereits. vielleicht baut Dirk das on change reading aber ja ein...

Rince

Stimmt. Das event-on-change-reading gibts gar nicht. Grade nachgesehen.

Du nimmst dein S4 nicht stationär, oder?

Sonst könntest du die Sprachausgabe mit der zugehörigen Funksteckdose laufen lassen, weil die kann event-on...  ja problemlos.
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

der-Lolo

Nein - da ist keine Funksteckdose dazwischen. Das ist zwar eine tolle Idee, aber ich glaube der WAF sinkt extrem wenn man vor Handy einstecken zum aufladen noch einen Button drücken muss um das Ladegerät zu aktivieren...
Ich helfe mir erstmal mit einem Dummy als Merker - vielleicht wird das Attribut ja in einer der nächsten Versionen hinzugefügt.
Das wäre ja eh toll...

Rince

#474
Ok, etwas abstrus:
Du könntest einen HM Zwischenstecker nehmen, der die Energie mit protokolliert.
Wenn das Handy dran ist, steigt die aufgenommene Leistung.
Darauf könntest du auch reagieren.

Ich räume aber ein, dass dieser 50€ teure Gag nicht im Kapitel "über sinnvollen Technikeinsatz" zu finden sein dürfte. Hat eher was von "the incredible machine" ;)

Aber ein ernsthafter Lösungsansatz:
Hast du mal versucht den state in einen Dumy zu schreiben, und auf diesen ein event-on-change-reading anzuwenden?

Edit:
Oder du nimmst ein Notify, welches dann 1. ein Sprachausgabe notify lostritt, 2. dann dieses auf disabled setzt.
Das Notify für "abgesteckt" muss dann das Sprachausgabe Notify wieder auf disabled 0 setzen.
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

der-Lolo

Hehe - eine HM Messsteckdose hätte ich sogar noch übrig... Dafür sind aber andere Baustellen erstmal wichtiger.

Über einen Dummy wird das ganze funktionieren - Damian (IF -Modul) machte diesen Vorschlag



define d_power_s4 dummy

IF ([s4:powerPlugged] eq "true")
(
   IF ([d_power_s4:state] ne "on")
      (set s4 ttsSay Danke,sleep 2,set s4 ttsSay ich melde mich wenn meine Batterie vollständig geladen ist,
       set d_power_s4 on)
)
ELSE
   (set d_power_s4:FILTER=STATE!=off off)


Ich hab das einfach mal per Copy Paste eingetragen, das funktionierte so noch nicht - und dann war der Akku vom Handy voll ;-)

Deine Idee den State direkt in den Dummy zu schreiben ist auch gut, es gibt also verschiedene Lösungsmöglichkeiten... das notify disabled zu setzen ist vielleicht die beste davon. ich möchte eh noch mir disable rumspielen um zu verhindern das die Tante mir nachts um drei erzählt das der Akku vollständig geladen ist - ich würde aber gerne in dem disable Zeitraum aufgelaufene Nachrichten "zachen" und ausgeben wenn die Sprachausgabe wieder "erlaubt" ist.


Danke Dir jedenfalls erstmal fürs mitdenken.

Dirk

Hallo,

ich habe event-on-change-reading als Feature mit aufgenommen.
https://github.com/kc-GitHub/WebViewControl/issues/38

Ich muss auch mal schauen warum das Event mehrfach ausgelöst wird. Eigentlich sollte das nur bei Änderung getriggert werden.
Gruß
Dirk

Paul

@der-Lollo

Warum sinkt der WAF?  Ich habe eine Funksteckdose dazwischen und die schaltet sich automatisch ein und aus je nach Ladekapazität. also nichts mit Button drücken
Cubietruck, HM-USB, CUL, FS20, FHT, HUE, Keymatic

der-Lolo

Es geht ja hier um unsere Mobiltelefone - insgesamt werden drei verschiedene Handys an diesem steckplatz geladen... Eines davon verfügt nicht über die Webcontrol app - wie soll denn fhem merken welches Handy gerade eingesteckt wurde? Eine Messteckdose wäre ein lösung - das halte ich aber doch für ein bisschen overkill... Die möglichkeiten mit dem dummy sind ok - und Dirk kündigte ja schon an das event on change reading einzubauen.

dieda

Wie wäre es mit Tasker: Url aufrufen lassen und fertig.
Komponenten:
Sensoren und Aktoren: FS20, Max!, Zigbee, Zwave
IODev:  Cul1101, MaxLan, ZWAVE, Deconz
Router: KD-Fritte (6360)
Sonstiges: Raspberries,  1x LMS,1 FHEM, 1 x zum Testen,  Logitech-Clients,  Onkyo, SamsungTV, Squeezebox, TabletUIs