Neues Modul Verkehrsinfo

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

Vorheriges Thema - Nächstes Thema

paul79

Hallo Martin,

wenn ich das ändere bekommt man diesen Error, aber da etwas muss es sein.

Testen kann man es ganz einfach mit include Filter rein und raus nehmen, dann siehst du was ich meine.

Zitatfhem-tablet-ui.js:1477 Uncaught TypeError: paraname.match is not a function
    at m.fn.init.$.fn.getReading (fhem-tablet-ui.js:1477)
    at HTMLDivElement.<anonymous> (widget_verkehrsinfo.js:30)
    at Function.each (jquery.min.js:2)
    at m.fn.init.each (jquery.min.js:2)
    at Object.update (widget_verkehrsinfo.js:28)
    at fhem-tablet-ui.js:917
    at j (jquery.min.js:2)
    at Object.add [as done] (jquery.min.js:2)
    at Object.always (jquery.min.js:2)
    at Object.<anonymous> (fhem-tablet-ui.js:902)

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

Kannst du es nicht mal probieren bitte.

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

martins

@paul, schickst du mir bitte deine definition in tabletui

paul79

Hallo, ganz simpel

<div data-type="verkehrsinfo"  data-device="VI_Hessen"  data-count="9" ></div>

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

martins

also bei mir funktioniert es Einwandfrei.

Bis auf eins, ich zähle die Einträge ab 1 und nicht ab 0
Das heißt du müsstest Zeile 38 anpassen
for (var i = 1; i <= count - 0; i++) {

paul79

danke vielleicht lag es auch nur daran das ich deine Testversion benutzt habe.

ZitatBis auf eins, ich zähle die Einträge ab 1 und nicht ab 0
Das heißt du müsstest Zeile 38 anpassen

ich hatte immer einen undefined Eintrag den ich dann Zeile 45 wieder entferne.


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

martins

teste einfach mal und wenn noch etwas komisch ist, dann sag bescheid.

paul79

Hallo Martin,

ich habe noch einmal getestet und es scheint mir so als ob es ein timing Problem ist.

Ich hoffe du kannst mir folgen.
Ich habe 2 Browser, einer für die Tablet UI links, einer für FHEM mit dem Modul Verkehrsinfo als List Anzeige rechts.

Jetzt habe ich 3 Bilder gemacht immer links die Tablet UI rechts FHEN.

Bild 1 ist ausgangs Bild beides gleich!
Jetzt betätige ich in meinem Modul 'set update' und in Sekunden schnell aktualisiert sich der Browser links für die Tablet UI, danach rufe ich erneut mein Modul in FHEM mit List auf.

Bild 2 die unterschiede ein Teil ist doppelt ein Teil fehlt wie zum Beispiel das mit der B45
Danach mache ich ein Browser refresh der Tablet UI und alles ist wieder ok.
TabeltUI-> FHEM
     2016-12-21 19:05:12   count           4
     2016-12-21 19:05:12   date_time       2016-12-21 19:05:12

  3   2016-12-21 19:05:12   e_1_head        Frankfurt Richtung Kassel zwischen Nordwestkreuz Frankfurt am Main und Bad Homburger Kreuz
  3   2016-12-21 19:05:12   e_1_msg         A5 Frankfurt - Kassel zwischen Nordwestkreuz Frankfurt und Bad Homburger Kreuz 2 km stockender Verkehr
  3  2016-12-21 19:05:12   e_1_road        A5

  1   2016-12-21 19:05:12   e_2_head        Köln Richtung Würzburg zwischen Frankfurter Kreuz und Offenbacher Kreuz
  1&2  2016-12-21 19:05:12   e_2_msg         A3 Köln - Würzburg zwischen Frankfurter Kreuz und Offenbacher Kreuz 8 km Stau nach einem Unfall auf der Verbindung zur A661 Bitte halten Sie eine Gasse für die Einsatzfahrzeuge frei
  2   2016-12-21 19:05:12   e_2_road        A3

  2  2016-12-21 19:05:12   e_3_head        Dieburg Richtung Hanau zwischen Rodgau-Weiskirchen und Seligenstadt-Froschhausen
fehlt 2016-12-21 19:05:12   e_3_msg         B45 Dieburg - Hanau zwischen Rodgau-Weiskirchen und dem Tannenmühlkreisel 3 km Stau nach einem Unfall mit 4 PKW (dadurch auch stockender Verkehr in der Ausfahrt Hanau an der A3)
fehlt 2016-12-21 19:05:12   e_3_road        B45

  4   2016-12-21 19:05:12   e_4_head        Frankfurt Richtung Kassel zwischen Schäferborn und Friedberg
  4   2016-12-21 19:05:12   e_4_msg         A5 Frankfurt - Kassel zwischen Rastplatz Schäferborn und Friedberg 4 km Stau und stockender Verkehr nach einem Unfall auf dem linken Fahrstreifen (3 Fahrzeuge sind beteiligt)
  4   2016-12-21 19:05:12   e_4_road        A5


Bild 3 nach dem Refresh alles gleich.

Ich nehme an Tablet UI bekommt einen Request zum update aber der ist noch nicht fertig, ich wollte schon einen sleep einbauen bekomme es aber nicht hin
mit "Thread.sleep( 5000 ); " bekomme ich Fehlermeldungen.


Ich hänge mal die Bilder und die neuste Version von widget_verkehrsinfo.js an

Widget Anleitung:

Aufruf zum Beispiel:
<div data-type="verkehrsinfo"  data-device="VI_Hessen" data-count="9" data-icon="yes" ></div>

/*
Version 0.2

Für Modul Verkehrsmeldungen
Paul79 21.12.2016

----------------------------------------------------------------------------

ATTRIBUTE:
~~~~~~~~~~
    Attribute (Pflicht):
    ---------------
    data-type="verkehrsinfo" : Widget-Typ
    data-device : FHEM Device Name

   
   
    Attribute (Optional):
    -----------------
    data-count: maximale Anzahl der Einträge (Default '10' max '10').
   data-icon: 'Yes' Icon groß links, 'No' kein Icon , 'mini' kleine Icons links und rechts oder 'nicht gesetzt' farbig A?? oder B?? links

   Icon Pfad ist ../images/auto/ und es werden nur svg Dateien angezeigt!

   Icon in SVG Format kann man suchen unter
   https://www.google.de/#q=Bundesdeutsche+Autobahnnummer.+Automatisch+erzeugt+durch+3247
   
   Für die Bundesstraßen auch hier
   https://www.wegenwiki.nl/Bundesstra%C3%9Fe
*/



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

martins

#82
Vermutlich hast du recht das dies ein Zeitproblem ist, sobald tabletui die ersten updates bekommt, legt es los.

hab mal bissel gegoogelt, versuch mal so deinen sleep einzubauen
https://davidwalsh.name/javascript-sleep-function

// https://zeit.co/blog/async-and-await
function sleep (time) {
  return new Promise((resolve) => setTimeout(resolve, time));
}

// Usage!
sleep(500).then(() => {
    // Do something after the sleep!
// hier kommt alles zwischen zeile 64 und 134 rein
})

paul79

Hallo,

du bist Super jetzt funktioniert es wie ich es will.  ;D

Noch eine Frage:
Ich will es noch mal genau testen morgen kann ich dann hier eine Antwort verfassen und du verlinkst den dann im ersten Beitrag oder muss ich ein neues Thema erstellen?

Gruß Paul

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

Tobias

Hi marins,
konntest du schonmal schauen, ob die Verkehrsmeldungen von www.radiosaw.de für Mitteldeutschland integrierbar sind?
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

#85
Hallo,

ich möchte euch mein erstes Widget Verkehrsinfo vorstellen, es ist für die Tablet UI passend zum Modul Verkehrsinfo.

Im Anhang sind ein paar Bilder der verschiedenen Darstellungen und die widget_verkehrsinfo.js.

Anleitung:
Zitat
/*
Version 0.4

Ein Widget für Modul Verkehrsmeldungen

Paul79 23.12.2016

paul79@gmx.de

----------------------------------------------------------------------------
HTML
für maximale Attribute:

<div data-type="verkehrsinfo"  data-device="name in FHEM" data-max="5"  data-color-msg="#CEBCB7" data-color-head="#FD6F3F" data-shadow="true" data-shadow-head="true" data-icon="2" ></div>
            
für minimale Attribute:

  <div data-type="verkehrsinfo"  data-device="name in FHEM" ></div>

ATTRIBUTE:
~~~~~~~~~~
    Attribute (Pflicht):
    ---------------
    data-type="verkehrsinfo" : Widget-Typ
    data-device : FHEM Device Name

   
    Attribute (Optional):
    -----------------
    data-count: maximale Anzahl der Einträge (Default '5').
   data-icon: '1' Icon links, 'No' kein icon , '2' 2 Icons links und rechts (Default '2')
   date-shadow: 'true' Schatten unter Icons (Default 'true')
   date-shadow-head: 'true' Schatten unter Headtext (Default 'false')   
   data-color-head: Farbe Headtext (Default '#FFE066')
   data-color-mag: Farbe Headtext (Default '#FFFFFF')
*/

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

Tobias

DAs sieht gut aus :) Kommt das noch mit ins offizielle Repo?
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

Zitat von: Tobias am 23 Dezember 2016, 12:15:45
DAs sieht gut aus :) Kommt das noch mit ins offizielle Repo?

Hallo, könnte man machen ich weiß nur nicht wie, bin noch nicht solange dabei, Martin will es auch in sein Wiki mit aufnehmen.

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

Tobias

Zitat von: paul79 am 23 Dezember 2016, 12:19:56
Hallo, könnte man machen ich weiß nur nicht wie, bin noch nicht solange dabei, Martin will es auch in sein Wiki mit aufnehmen.
Nimm einfach mal Kontakt mit dem User "setstate" auf....
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

@Tobias,

ich habe schon mal geschaut ob es machbar ist. Ansich sollte es kein Problem sein, aber ich steh noch vor einem Rätsel.
Das Modul hat ein gewisses Muster road, head und msg. Aber auf radiosaw kann man leider die Straßen manchmal nicht eindeutig zuordnen, da muss ich mir noch was einfallen lassen auch im Hinblick auf die Unterteilung nach den Regionen.
Ich werde mich im Januar intensiver damit beschäftigen.

vg Martin