NEWS
[Vorstellung] Meine VIS SAUERV1.1
-
Hallo VIS Gemeinde.
nach nunmehr fast 2 Jahren "iobroker", unzähligen vergeblichen Versuchen mit den div. anderen Adapter basierenden Visualisierungen, habe ich mich in den letzen Wochen endlich dran gemacht um mit VIS meine eigenen Seiten zu bauen.
Mit viel Try&Error, Flüchen und eingehendem Studieren des Forums ist es jetzt soweit vollbracht, das Ich Euch den bisherigen Erfolg präsentieren möchte. Es fehlt noch jede Menge und ich optimiere andauernd, aber ich finde dass das jetzt zumindest ganz gut gelungen ist. Aber urteilt selber.Die meisten Wigets sind aus dem Material-Design Fundus, darunter auch die Menueführung:
Ich habe mir auch viele Anregungen geholt und deshalb hänge ich das gesamte Projekt (inkl. Test und Leer Views) anbei. Vielleicht hilft es ja dem einem oder anderen.
Ich freue mich auf Eure Diskussionen, Anmerkungen und Kritik.
Schöne Adventszeit
MarkUpdate 10.12.19: Netzwerk Views ersetzt, Projekt-Export neu erstellt.
-
@msauer für den Anfang sieht das echt klasse aus.
Meine erste VIS sag dagegen richtig schlecht.
Habe direkt zwei Fragen an dich:
- Wie stellst du den aktuellen Upload / Download dar ?
- Wie hast du die DB Info eingebaut ?
PS: Meine VIS ist diese hier Meine zweite VIS
-
@Kuddel sagte in [Vorstellung] Meine VIS SAUERV1.1:
Habe direkt zwei Fragen an dich:
- Wie stellst du den aktuellen Upload / Download dar ?
- Wie hast du die DB Info eingebaut ?
Danke..deine haben mich aber auch inspiriert
- Per upnp Adapter werden die Daten von der Fritzbox abgefragt. Dann habe ich dazu alias.0 Objekte angelegt, die auch direkt umgerechnet und in meine influx DB geschrieben werden.
- Per Parser Adapter werden die Daten aus einer DB Website in String Objekte geschrieben.
UPDATE: Jetzt die detaillierter Version erklärt:
- Die Aliase
Der Alias Anteil des Objekts. Wichtig ist die korrekte Umrechnung, da die FB nur Bytes/s liefert.
"common": { "alias": { "id": "upnp.0.WANDevice_-_FRITZ!Box_7590.WANDevice.WANCommonInterfaceConfig.ByteReceiveRate", "read": "val * 0.000008"
- Das Parsen:
Für jeden Zeitpunkt eine extra Regel hinzufügen.
Bei der Regel muss man für sich die entsprechende URL umschreiben:https://reiseauskunft.bahn.de//bin/query.exe/dox?S=Meckenheim%28Bz%20Köln%29&Z=K%F6ln%20S%FCd&timeSel=depart&start=1
Dann als Regex Abfahrt Eintrag, mit der entsprechenden num (0 bis 2):
verbindung\.abfahrt.*?([0-9]?[0-9]:[0-9][0-9])
und für die Verspätung mit entsprechender Num (0 bis 2)
delay.*?([0-9]?[0-9]:[0-9][0-9])
Noch Fragen?
-
Hi, danke für die Anregung, finde das mit der Bahn eine super Sache,
leider stoße ich da auf ein Problem ...Kommt der letzte (3.) Zug mit Verspätung wird die spätere Zeit beim ersten Zug angezeigt ...
Problem ist halt, dass da ein auf der Seite kommt ...Und wenn ein Zug ausfällt Printet die Bahn nur
<img src="https://www.img-bahn.de/s3/prod/v/img/Icon_Zug_faellt_aus_mit_Schatten_17x19.png">
und dann wieder ...Die frage die ich mir stelle, wie hast du das umgesetzt, dass die Zeiten stimmen bzw. Ausfälle auch ausgewertet werden, denn da muss ich ja nicht los fahren, wenn de Bahn nicht fährt ( bei uns sehr häufig leider )...
LG
-
@msauer habe mir den UPNP adapter mal angeschaut.
Leider werden bei mir die Daten von der FritzBox nicht richtig ausgelesen:
-
@Kuddel
Cron aktivieren! -
hab das kurz quick and dirty gemacht. scheint aber zu funktionieren:
-
@Kuddel sagte in [Vorstellung] Meine VIS SAUERV1.1:
hab das kurz quick and dirty gemacht. scheint aber zu funktionieren:
Geht einfacher:
-
@sigi234 ja cool, die Möglichkeit kannte ich noch gar nicht. Danke
-
Habe es so gelöst, da bei mir die Objekt interne Cron Einstellung nicht immer funktioniert hat. Manchmal hat es einfach nicht ausgelöst.
jetzt halt als Javascript:
schedule("*/5 * * * * *", function () { setState( "upnp.0.WANConnectionDevice_-_FRITZ!Box_7590.WANDevice.WANConnectionDevice.WANIPConnection.GetExternalIPAddress.request",true); setState( "upnp.0.WANConnectionDevice_-_FRITZ!Box_7590.WANDevice.WANConnectionDevice.WANIPConnection.GetStatusInfo.request",true); setState( "upnp.0.WANDevice_-_FRITZ!Box_7590.WANDevice.WANCommonInterfaceConfig.GetAddonInfos.request",true); setState( "upnp.0.WANDevice_-_FRITZ!Box_7590.WANDevice.WANCommonInterfaceConfig.GetCommonLinkProperties.request",true); });
-
@Willy0276 Hast du den auch die Nummerierung eingehalten? D.h. wenn die Abfahrt 0 ist, dann muss der passende Delay auch 0 sein.
Was aber Ausfälle an sich angeht, kann ich das im Moment nicht beurteilen, da die Züge, die wir benutzen, schon lange nicht mehr ausgefallen sind. -
Hi, nachtürlich habes nun schon 3 mal kontrolliert ...
-
@Willy0276 Dann sehe ich nur den Weg, das du die Seite manuell aufrufst, wenn so ein Ausfall vorliegt, dir den Seitenquelltext anschaust und versuchst einen 3ten Eintrag im Parse/Regex hinzufügst, der das irgendwie abfragt. Dann noch ein entsprechendes Widget bei Bedarf einblenden.
-
ich habe jetzt in meiner Test-VM den Parser Adapter installiert und jeweils eine Verbindung in jede Richtung eingeplegt:
Das sind jeweils die nächsten Verbindungen inkl. Verspätungen.
kann man auch feste Zeiten angeben ? Da ich im Winter mit der Bahn fahre und quasi immer die gleichen Verbindungen nehme, wäre das praktisch.
Wie müsste ich den Link dann anpassen?
-
@Kuddel ich habe mir das mal angeschaut...ich denke das du es etwa so machen könntest.
Du musst ein Script schreiben, dass die URL entsprechend zusammen setzt und das Datum ein mal am Tag ändert (Beispiel)
https://reiseauskunft.bahn.de//bin/query.exe/dox?S=Stuttgart+Hbf&Z=Bremen+Hbf&time=14:00&date=11.12.19&start=1&
Dann muss du das passende Parse Objekt ebenfalls in dem Script entsprechend ändern:
Dazu musst du aber mal ins Forum schauen. Da gibt Hilfestellungen, wie genau man da was ändern kann.@Kuddel Update: es geht doch noch einfacher:
Trage die o.g. Url einfach ohne die Date Angabe ein, dann wird immer der aktuelle Tag mit der entsprechenden Uhrzeit angezeigt
https://reiseauskunft.bahn.de//bin/query.exe/dox?S=Stuttgart+Hbf&Z=Bremen+Hbf&time=08:00&&start=1&
-
Update: Ich habe den Netzwerkview inzwischen verändert. Mir haben die bunten Icons nicht mehr gefallen. Das Projekt habe ich daher auch neu hochgeladen.
-
Wenn es jemanden interessiert. Ich habe ein Ping Script in Blocky erstellt, welches die IP Adresse von Google.de alle 10sec anpingt. Das wird in in eine Variable geschrieben, die dann in meiner InfluxDB landet und so als Grafik dargestellt werden kann. Sollte der Ping nicht durchkommen, wird zum einen ein FAIL angezeigt und zum anderen in die DB eine 0 geschrieben.
ping -qc1 216.58.205.227 2>&1 | awk -F'/' 'END{ print (/^rtt/? $5 :"FAIL") }'
-
@msauer said in [Vorstellung] Meine VIS SAUERV1.1:
Update: Ich habe den Netzwerkview inzwischen verändert. Mir haben die bunten Icons nicht mehr gefallen. Das Projekt habe ich daher auch neu hochgeladen.
Hi,
ich bin gerade über dein Projekt gestolpert und wollte es für mich als Einstieg in vis importieren.
Kurzer Hinweis: Ich musste das Projekt "SauerV1.1" nennen, da die Icon-Pfade etc. sonst nicht funktionierten. Ich weiß nicht, ob das normal ist?Ansonsten tolle Arbeit und ich hoffe es erleichtert mir etwas den Einstieg
-
@msauer Danke für den Hinweis mit den Icon Speicherplätzen....werde ich in Kürze mal anpassen..
-
Mein erster Versuch:
Die Verspätung wird mir immer direkt per Mail zugesendet.
Zur Erklrärung:
In der unteren Reihe stehen die nächsten Verbindungen.
Die anderen Zeiten sind meine Pendelverbindungen