Neues Modul Verkehrsinfo

Begonnen von martins, 29 Juni 2016, 22:21:38

Vorheriges Thema - Nächstes Thema

martins

Hallo olliwood

versuch bitte mal folgendes, Ersetzen des Doppelpunktes:
define ntfy_Verkehrsinfo_on notify dmy_Verkehrsinfo:on {my $vInfo = ReadingsVal("Verkehrsinfo","message","");;$vInfo=~s/:/\./;;fhem("set Sonos_Eingang Speak 20 de $vInfo")}

Ich weis leider nicht wie Sonos mit Doppelpunkten umgeht.

paul79

Hallo Martins:

danke für deine schnelle Hilfe. Am Anfang dachte ich es ändert sich nichts, da auch zu dieser Zeit keine Meldungen da waren waren auch die alten Einträge noch drin.
Jetzt kamen 3 neue Meldungen die auch wieder weg sind und jetzt sind die ersten 3 Zeilen in der UI leer, so wie es sein sollte.

Nur noch einmal meinen Filter in FHEM abstellen, alle Browser auf allen Geräten öffnen und alles ist gut


Danke!

Gruß Paul
FHEM5.7 auf Pi3
Busware CUL433 (IT), JeeLink Lacrosse, HM-MOD-RPI-PCB, HM, TabletUI

martins

@paul79

es wäre hilfreich wenn du das Thema mit den gelöschten Readings, dass diese dann im Tablet UI nicht entfernt werden, einmal im Tablet UI Forum ansprichst.
Dies war eben nur eine schnelle Hilfe damit es funktioniert, die Ursache sollte aber auch behoben werden.

Devender

Da ich Martin ja ganz nett gefragt hatte  ::), ob er die Hessenschau in sein Modul mitaufnehmen kann versuche ich natürlich ebenfalls zu helfen.

@olliwood. Welche Einstellung hast du bei den filtern und bei order by?
Ich könne es mit deinen Werten bei mir ja mal nachstellen und schauen ob ich die HTML Tags ebenfalls bekomme.
Aktuell habe ich ein Update ohne jegliche Filter gezogen und habe auch keine Tags im Message Reading dirn (siehe Anhang

Grüße,
Dirk
FHEM 5.8 auf RasPi mit Jessy - CUL868, JeeLink Lacrosse
Komponenten: HM, IT, ELV, FB7390, FritzPL543,Sonos Play3
Mehrere Wandtablets sowie einen Smart Mirror
https://wiki.fhem.de/wiki/Anwesenheitserkennung#PRESENCE-Modul

Devender

Zitat von: martins am 13 Dezember 2016, 23:03:40
Hallo olliwood

versuch bitte mal folgendes, Ersetzen des Doppelpunktes:
define ntfy_Verkehrsinfo_on notify dmy_Verkehrsinfo:on {my $vInfo = ReadingsVal("Verkehrsinfo","message","");;$vInfo=~s/:/\./;;fhem("set Sonos_Eingang Speak 20 de $vInfo")}

Ich weis leider nicht wie Sonos mit Doppelpunkten umgeht.

Ich habe auch ein Sonos und gebe die Meldung darauf aus. Bisher noch kein Problem mit einem ":" gehabt.
Auch der Test mit set MeinSonos Speak 50 de Hallo dies ist : ein Test!
funktioniert.

Ich habe dein notify mal auf meine Anlage umgebaut und konnte dein Problem nachstellen.

2016.12.14 21:34:45 4: ntfy_Verkehrsinfo_on exec {my $vInfo = ReadingsVal("Staumeldungen","message","");;;;$vInfo=~ s/:/./;;;;Log ("TEST",$vInfo);;;;;;fhem("set Sonos Speak 50 de $vInfo")}
2016.12.14 21:34:45 TEST: Es liegt um 21.34 für Hessen eine Staumeldung vor:
A3 Würzburg - Frankfurt zwischen Helmstadt und Marktheidenfeld 3 km Stau (die Unfallstelle ist geräumt).


Das ist meine Logausgabe vom Notfiy. Dein Problem ist nicht der ":" sondern wie zu erkennen im Log die Neue Zeile (/n) nach dem Doppelpunkt.
Wenn du dein Notify so baust , klappt auch die Ausgabe über dein Sonos:

define ntfy_Verkehrsinfo_on notify dmy_Verkehrsinfo:on {my $vInfo = ReadingsVal("Verkehrsinfo","message","");;$vInfo=~ s/\n//g;;fhem("set Sonos_Eingang Speak 20 de $vInfo")}


Als Tipp noch: Wenn du in dein Code (hier Perl) sowas wie: Log ("TEST",$vInfo);; einbaust bekommst du im Log von FHEM auch deine Variabel angezeigt. Das würde dann so aussehen:

define ntfy_Verkehrsinfo_on notify dmy_Verkehrsinfo:on {my $vInfo = ReadingsVal("Verkehrsinfo","message","");;$vInfo=~ s/\n//g;;Log ("TEST",$vInfo);;;fhem("set Sonos_Eingang Speak 50 de $vInfo")}

Des Weiteren kannst du dir den Dummy auch sparen. Dein notify kann auch direkt auch das Staumodul und das Reading Message zugreifen. Die Meldung zu speichern für weitere Verwendung bringt dir ja nichts, da die nach wenigen Minuten schon veraltet sein kann.

Viele Grüße,
Dirk









FHEM 5.8 auf RasPi mit Jessy - CUL868, JeeLink Lacrosse
Komponenten: HM, IT, ELV, FB7390, FritzPL543,Sonos Play3
Mehrere Wandtablets sowie einen Smart Mirror
https://wiki.fhem.de/wiki/Anwesenheitserkennung#PRESENCE-Modul

olliwood

Hi zusammen,

zuerst einmal danke für die schnelle Hilfe.  :) Zwischenzeitlich habe ich auch noch etwas getestet. Dabei habe ich einfach mal Texte mit Doppelpunkten und Umlauten definiert, die mir über das Notify tadellos ausgegeben wurden.

Den Code habe ich auch gesplittet und in die 99_myUtils ausgelagert. Konkret sieht es nun so aus:


define ntfy_Verkehrsinfo_on notify dmy_Verkehrsinfo:on {VInfo()}



sub VInfo()
{
    my $value = ReadingsVal("Verkehrsinfo","message","");
    #my $value = "Es gibt Stau: Einmal in Saarbrücken - und einmal in Neunkirchen.";
    my $vInfo = fhem("set Sonos_Eingang Speak 20 de $value");
    return $vInfo;
}


Als Filter habe ich nur einen Exclude Filter mit "Baustellen" definiert. Ein Update von FHEM inkl. Restart habe ich soeben auch noch durchgeführt. Keine Besserung.  :'(

Die Meldung lautet immer noch:


Es liegen [...] Staumeldungen vor:


Danach ist Schluss. Das Logfile meldet mir:


Error during MainTrigger: syntax error at (eval 186) line 1, at EOF
- Trying to execute 'Sorry. I don't understand you - '


Vielleicht hat ja einer von euch eine Idee.

Gruß
Oliver

olliwood

Oh, da haben wir uns wohl überschnitten.  :D

Danke für die ausführliche Antwort. Ich werde das gleich mal versuchen.

Gruß
Oliver

olliwood

Hallo Devender,

mit der Umstellung von dir hat's nun geklappt. Danke nochmals.  :)

Ich bin noch nicht so ganz drin in FHEM.  ::) Der Gedanke mit dem Dummy war, dass ich den zum Testen von Hand schalten und damit das Notify auslösen kann. Zudem wollte ich den Inhalt im nächsten Step auch noch per msg aufs Tablet etc. bringen. Aber Schritt für Schritt geht's voran ...  ;)

Gruß
Oliver

paul79

Zitat von: martins am 14 Dezember 2016, 20:20:29
@paul79

es wäre hilfreich wenn du das Thema mit den gelöschten Readings, dass diese dann im Tablet UI nicht entfernt werden, einmal im Tablet UI Forum ansprichst.
Dies war eben nur eine schnelle Hilfe damit es funktioniert, die Ursache sollte aber auch behoben werden.

Hallo, ich habe mal ein neuen Beitrag eröffnet:

https://forum.fhem.de/index.php/topic,62569.0.html

Gruß Paul
FHEM5.7 auf Pi3
Busware CUL433 (IT), JeeLink Lacrosse, HM-MOD-RPI-PCB, HM, TabletUI

Devender

Zitat von: olliwood am 14 Dezember 2016, 22:02:56
Hallo Devender,

mit der Umstellung von dir hat's nun geklappt. Danke nochmals.  :)

Ich bin noch nicht so ganz drin in FHEM.  ::) Der Gedanke mit dem Dummy war, dass ich den zum Testen von Hand schalten und damit das Notify auslösen kann. Zudem wollte ich den Inhalt im nächsten Step auch noch per msg aufs Tablet etc. bringen. Aber Schritt für Schritt geht's voran ...  ;)

Gruß
Oliver

Gern :-)

Fuer msg nutze ich mittlerweile das Jabber Modul und den Xabber Client.
FHEM 5.8 auf RasPi mit Jessy - CUL868, JeeLink Lacrosse
Komponenten: HM, IT, ELV, FB7390, FritzPL543,Sonos Play3
Mehrere Wandtablets sowie einen Smart Mirror
https://wiki.fhem.de/wiki/Anwesenheitserkennung#PRESENCE-Modul

Tobias

Hi,
es wäre auch super, wenn extra für Mitteldeutschland Verkehrsmeldungen aufgenommen werden könnte
http://www.radiosaw.de/verkehrsmeldungen

ODer wo muss ich was wie tun damit da mit diesem Modul funktionieren würde??
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

martins

Zitat von: Tobias am 18 Dezember 2016, 14:08:35
Hi,
es wäre auch super, wenn extra für Mitteldeutschland Verkehrsmeldungen aufgenommen werden könnte
http://www.radiosaw.de/verkehrsmeldungen

ODer wo muss ich was wie tun damit da mit diesem Modul funktionieren würde??


Hallo Tobias,

ich werde es mal prüfen, ob dies machbar ist.

vg
martins

Tobias

Boa, das wäre echt super....

Gesendet von meinem Leap mit Tapatalk

Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

paul79

Hallo Martins,

die Lösung mit den gelöschten Readings scheint doch nicht so richtig zu funktionieren, es geht nur solange man die Seite offen hat sonst hat man wieder alte Einträge drin.
Es gibt noch die Möglichkeit mit class="autohide" aber da sieht man auch das alte bis es ausgeblendet wird.

Jetzt habe ich einmal probiert ein widget zu erstellen bzw. eins zu ändern.

Es funktioniert ganz gut, allerdings kommt es öfters vor das nicht alle Einträge richtig aktualisiert werden, macht man einen refrech ist alles ok wieder.

Jetzt meine bitte könntest Du (oder alle anderen) dass einmal anschauen ob du siehst woher das Verhalten kommt? (meine Java Kenntnisse sind sehr sehr bescheiden)

Gruß Paul
FHEM5.7 auf Pi3
Busware CUL433 (IT), JeeLink Lacrosse, HM-MOD-RPI-PCB, HM, TabletUI

martins

Hallo Paul,

ohne es jetzt getestet zu haben aber sollte in Zeile 30
var count = elem.getReading('i_count').val;
nicht besser:
var count = elem.getReading('count').val;
stehen? So das er jedes mal beim update den aktuellen count aus den Readings holt?

Hab mich ehrlich gesagt noch nicht wirklich mit der Widget Programmierung von TabletUI beschäftigt.

Grüße
Martin