Neues Modul - Mobile Blitzer Anzeigen

Begonnen von bismosa, 27 März 2019, 20:14:16

Vorheriges Thema - Nächstes Thema

curt

Zitat von: curt am 28 März 2019, 01:40:00
"Never touch a running system" - Hannemann geht voran und ich warte noch drei Tage. ;)

Soooo - Device angelegt, Attribute angepasst, Code in 99_myUtils.pl gelöscht, get-device in FTUI angepasst: Geht sofort ohne Probleme.

@bismosa
Ich habe nur meinen goldenen Papporden "freundliche Helfer des Tages", der passt nicht so ganz. Egal, wenn ich könnte, würde ich ihn Dir heute verleihen.

Kurze Frage:
Ich habe entsprechend des ersten Artikels den update-Zirkus um das neue github-Element ergänzt. Langfristig müsste das wohl wieder wegfallen - also wenn Dein Modul Aufnahme in den Standardprozess findet? Du erinnerst uns dann?
RPI 4 - Jeelink HomeMatic Z-Wave

bismosa

Hallo,

ZitatLangfristig müsste das wohl wieder wegfallen - also wenn Dein Modul Aufnahme in den Standardprozess findet?

So weit bin ich noch nicht  ;) Da habe ich wohl noch einiges zu lernen...aber vielleicht kommt das noch!

Sollte es irgendwann so weit sein, werde ich das hier dazu schreiben  :)
Erstmal werde ich das aber alles auf Github machen. Da bin ich dann noch etwas freier...es wird nach einem "update add" immer schön aktualisiert  :)

Gruß
Bismosa
1x nanoCUL 433MHz (SlowRF Intertechno) für Fenstersensoren
1x nanoCUL 868Mhz für MAX (9x HT 1xWT)
1x ZigBee CUL
Weiteres: Squeezebox server, Kindle Display, ESP8266, Löterfahrung, ...

curt

#32
Alles gut! Freue Dich bitte über meinen schönen goldenen Papporden.

(Und irgendwann bei der Adelung "nun im offiziellen Respo-Dingens" erinnerst Du Dich ... da war doch was? Ja, muss im Forum schreiben, dass man da was löschen muss ...)

Grrrrrr ...
P.S: Ich sehe grade, dass damit https://wiki.fhem.de/wiki/Stra%C3%9Fenverkehr_Blitzer veraltet ist. Ja, mein Ding; werde ich aber heute wohl nicht mehr schaffen.
RPI 4 - Jeelink HomeMatic Z-Wave

somansch

#33
Zitat von: bismosa am 31 März 2019, 17:36:44
Hallo!

@somansch (Andreas)
Hmmm...finde ich sehr speziell. Da es ja wirklich immer mal city, city_district, village oder/und suburb gibt, habe ich das "{OR" mit eingebaut. So kann man das erste vorhandene verwenden.
Benutzt Du denn alle Readings (createAllReadings)?
Meine Idee dazu wäre folgende:
number,[<font color='#FF0000'>],{OR,suburb,city_district,town,village,},[</font>],road,building,[Max.],vmax,[km/h],[(],distanceShort,[km],[)],[!!],newline
So kannst Du unterschiedliche Farben für die einzelnen Sachen definieren. Hier Rot für den Ort. Ich würde auch nicht alle Readings erzeugen lassen. Da ist die Last in FHEM etwas höher.
Du musst die Farbe in ' eingeben. Nicht in ", sonst übernimmt FHEM das nicht in dem Editorfenster. Leider wird der Inhalt auch nicht angezeigt. Zur Not über die RAW-Definition ändern.


@inoma
Ich denke wir bleiben beim jetzigen Verhalten, das ein manuelles Update weiterhin ausgeführt wird. Wir könnten sonst noch über ein zusätzliches Attribut nachdenken, das dann auch ein Update verhindert...

Gruß
Bismosa

Hallo Bismosa,
danke für den Tipp mit den Farben und das neue Reading mit der Anzahl der Blitzer. Jetzt konnte ich es in meinem FTUI ohne "allreadings" perfekt abbilden  ;D

Musste die Farben direkt in der FHEM config editieren. Hier mein Attribut mit Farben und Ort/Ortsteil/Straße-Logik:
Ausgabe [<font color="#FFFFFF">],{OR,city,town,village,},[</font>],{OR,suburb,city_district,},street,building,[<font color="#E17000">],[Max.],vmax,[km/h],[</font>],[(],[in],distanceShort,[km],[)],newline,newline

Viele Grüße
Andreas

ComputerZOO

ZitatEs kann mit einem set <Blitzer-Device> Update <Optional:LAT> <Optional:LONG> auch neue Koordinaten vorgegeben werden. Dann kann man auch z.B. den aktuellen Standort mal eben nach Blitzern absuchen
Könnte man noch evtl. ein <Optional:RADIUS> hinten dranpappen?

bismosa

Hallo!
Könnte man sicherlich...aber wofür?
Wenn du den Radius z.b. unterwegs anders haben möchtest, dann definiere dir doch dafür ein zweites Device. Update-Intervall 0...also nur zur manuellen Abfrage?

Gruß
Bismosa
1x nanoCUL 433MHz (SlowRF Intertechno) für Fenstersensoren
1x nanoCUL 868Mhz für MAX (9x HT 1xWT)
1x ZigBee CUL
Weiteres: Squeezebox server, Kindle Display, ESP8266, Löterfahrung, ...

ComputerZOO

Nabend, für meinen BlitzerBot (DOIF für Telegram) habe ich bereits ein Extra-Device angelegt, welches die Daten an dein Blitzermodul weiterleitet (via Position senden aus Telegram). Dafür wäre es recht praktisch, wenn ich den Radius zusätzlich noch mit übermitteln könnte, wenn man abweichend vom Standard mal einen größeren, oder kleineren Radius benötigt.

curt

@bismosa

(inoffizielles) Modul changelog, Handeintragung von mir:

2019-04-01_20:44:33 user change: gelöscht: HTML_Before <html> <p align='left'>Aktuelle Blitzer:<br>


Das Attribut hat Auferstehung gefeiert, warum auch immer.

Kannst Du mal bitte prüfen, ob Du das (sowie das andere HTML-Attribut) bei Restart (o.ä.) neu anlegst, falls es nicht existiert?
RPI 4 - Jeelink HomeMatic Z-Wave

curt

@bismosa @MadMax-FHEM @somansch @inoma
Zitat von: curt am 01 April 2019, 21:23:53
Grrrrrr ...
P.S: Ich sehe grade, dass damit https://wiki.fhem.de/wiki/Stra%C3%9Fenverkehr_Blitzer veraltet ist. Ja, mein Ding; werde ich aber heute wohl nicht mehr schaffen.

Ich möchte bitte, dass Du in einer ruhigen Minute Dir (und jeder andere ist auch aufgerufen!) den Wiki-Eintrag durchliest: https://wiki.fhem.de/wiki/Stra%C3%9Fenverkehr_Blitzer

Habe ich alles korrekt und insbesondere EINFACH beschrieben?
Wo habe ich Fehler gemacht?
Wo könnte ich noch einfacher beschreiben?

(Hinweis: Unten steht natürlich noch der alte Text; da ging es um Deinen ursprünglichen Code, noch ohne Modul. Den Teil muss niemand kritisieren - den lösche ich doch dann.)

P.S: Welche Internetquelle nutzt Du eigentlich? Das müsste ich da auch reinschreiben.
RPI 4 - Jeelink HomeMatic Z-Wave

bismosa

Hallo!

@curt
Die Attribute sind extra so angelegt, das sie automatisch wieder angelegt werden. Das betrifft:
$attr{$name}{radius} = "10" if( not defined( $attr{$name}{radius} ) );
$attr{$name}{Ausgabe} = $VoreinstellungenStandards{Stadt} if( not defined( $attr{$name}{Ausgabe} ) );
$attr{$name}{createAllReadings} = "0" if( not defined( $attr{$name}{createAllReadings} ) );
$attr{$name}{icon} = "message_attention" if( not defined( $attr{$name}{icon} ) );
$attr{$name}{createNoHTML} = "0" if( not defined( $attr{$name}{createNoHTML} ) );
$attr{$name}{createUpdateReading} = "1" if( not defined( $attr{$name}{createUpdateReading} ) );
$attr{$name}{room} = "Blitzer" if( not defined( $attr{$name}{room} ) );
$attr{$name}{HTML_Before} = "<html> <p align='left'>Aktuelle Blitzer:<br>" if( not defined( $attr{$name}{HTML_Before} ) );
$attr{$name}{HTML_Without} = "<html> <p align='left'>Keine Blitzer in der Nähe</p></html>" if( not defined( $attr{$name}{HTML_Without} ) );


Das habe ich extra gemacht...die standards würden eh gesetzt werden...so hat der User diese gleich im Blick.

ZitatP.S: Welche Internetquelle nutzt Du eigentlich? Das müsste ich da auch reinschreiben.
Es werden die Daten von
www.verkehrslage.de (https://cdn2.atudo.net)
und
https://nominatim.openstreetmap.org
verwendet.

Ich habe den Text nur mal eben überflogen...sieht gut aus  :)

@ComputerZOO
Ich habe das jetzt mit eingepflegt. Es ist nun also auch möglich einen neuen Radius mit in den Update-Befehl zu schieben.
Bitte testen!

Gruß
Bismsoa
1x nanoCUL 433MHz (SlowRF Intertechno) für Fenstersensoren
1x nanoCUL 868Mhz für MAX (9x HT 1xWT)
1x ZigBee CUL
Weiteres: Squeezebox server, Kindle Display, ESP8266, Löterfahrung, ...

curt

@bismosa
Zitat von: bismosa am 03 April 2019, 22:03:09
Die Attribute sind extra so angelegt, das sie automatisch wieder angelegt werden. Das betrifft:
Das habe ich extra gemacht...die standards würden eh gesetzt werden...

Waaaaaaa - Du bist des Wahnsinns. Ich habe keine Ahnung, für welchen Fall das gut sein könnte - vielleicht gibt es ja solche Fälle. Auf alle Fälle grätscht Du mir in mein FTUI-Design rein.

Hmmm,
wie erhalte ich denn diese beiden Attribute mit leerem Text, ohne das sie ein newline auswerfen? Sag mal bitte.

Zitat von: bismosa am 03 April 2019, 22:03:09
so hat der User diese gleich im Blick.

Die meisten von denen sind aber schon groß - dieser Teil wäre nach der wohl notwendigen erstmaligen Anlage und der folgenden Löschung durch Nutzer wirklich zu überdenken.

Zitat von: bismosa am 03 April 2019, 22:03:09
Es werden die Daten von ... verwendet.

Ist nun im Wiki-Artikel.

Zitat von: bismosa am 03 April 2019, 22:03:09
Ich habe den Text nur mal eben überflogen...sieht gut aus  :)

Bitte nochmals neu prüfen: Links drin, alter Text raus.
RPI 4 - Jeelink HomeMatic Z-Wave

bismosa

Hallo,

ZitatWaaaaaaa - Du bist des Wahnsinns. Ich habe keine Ahnung, für welchen Fall das gut sein könnte - vielleicht gibt es ja solche Fälle. Auf alle Fälle grätscht Du mir in mein FTUI-Design rein
Nö. Das sind standard-Werte. Die würden auch wieder gesetzt werden, wenn das Attribut nicht wieder eingeblendet werden würde.
Daher ist es schon besser, das die Attribute wieder erscheinen...sonst kommt man da nicht unbedingt drauf.

Zitatwie erhalte ich denn diese beiden Attribute mit leerem Text, ohne das sie ein newline auswerfen?
Wie wäre es mit
<html>
?

Gruß
Bismosa
1x nanoCUL 433MHz (SlowRF Intertechno) für Fenstersensoren
1x nanoCUL 868Mhz für MAX (9x HT 1xWT)
1x ZigBee CUL
Weiteres: Squeezebox server, Kindle Display, ESP8266, Löterfahrung, ...

curt

Zitat von: bismosa am 03 April 2019, 22:44:49
Wie wäre es mit
<html>?

Genetischer Defekt. Als Du noch gar nicht geboren warst, habe ich Webseiten von Hand gefeilt: <html> gehört nur an den Anfang des plain-text. Und nicht irgendwo in den html-5-Code.

Ich kann offen gesagt nicht überblicken, ob das nicht doch von irgend einer RFC gedeckt ist - aber es bereitet mir körperliches Unbehagen. (Ok, so erstmal übernommen.)

Kannst Du bitte https://wiki.fhem.de/wiki/Stra%C3%9Fenverkehr_Blitzer nochmals neu überfliegen?
RPI 4 - Jeelink HomeMatic Z-Wave

bismosa

Hallo,

ZitatGenetischer Defekt. Als Du noch gar nicht geboren warst, habe ich Webseiten von Hand gefeilt: <html> gehört nur an den Anfang des plain-text. Und nicht irgendwo in den html-5-Code.
Sorry...aber woher willst Du wissen, wann ich geboren wurde und was ich schon alles gemacht habe?
Wenn Du das alles besser weißt...dann bitte. Dich hindert keiner daran das Modul zu Forken und zu verbessern. Nur hier zu meckern finde ich ehrlich gesagt sehr blöd.
Es ist auch möglich eine Änderung im Quellcode mir als Patch zur Verfügung zu stellen und ich kann es mir anschauen, ob ich das so übernehmen kann.

Wenn Du Dich im HTML so gut auskennst...warum schaust Du dann nicht nach, was das Modul so generiert und passt es Dir nach Deinen Bedürfnissen an? Dann muss ich auch nicht dazu schreiben, das ein "<br>" eine neue Zeile im HTML erzeugt. Wenn Du kein <html> Tag haben möchtest passt ja vielleicht ein Block (<div>) besser? Oder vielleicht auch ein Paragraph (<p>) ?
Zugegeben...gar kein Wert ist derzeit nicht möglich. Es muss etwas vorhanden sein. Aber auch da gibt es einfache Lösungen wie z.B. "&nbsp;" für ein leerzeichen, auch ein leerer HTML-Tag ("<>")(Achtung! Nicht HTML-Conform!) oder einfach auch ein ("<b></b>") gehen hier problemlos.

Jedes FTUI ist selbst zusammengestellt. Zusätzlich gibt es auch das FUIP...da ist es dann auch jeweils anders. Deswegen habe ich es sehr generisch gehalten und gebe die Möglichkeit den HTML-Code selbst anzupassen.
Zusätzlich wird es nicht nur im FTUI verwendet. Es gibt ja zahlreiche Möglichkeiten. Als Push, nur in FHEM, in diversen anderen Oberflächen etc. Sollte mit der jetzigen Variante für jeden machbar sein. Ich selbst habe es mal mit den HTML-Tags gebraucht.

Ich habe viele Stunden und Tage damit verbracht dieses Modul zu entwickeln. Alles in meiner Freizeit. Da muss ich mir so etwas nicht anhören. Ich bin kein Programmierer vom Dienst...habe trotzdem versucht alle wünsche die hier aufgetaucht sind mit umzusetzen und alle Fragen zu beantworten.
Für mich selbst hätte ich das nicht so aufwendig machen müssen....ich nutze es derzeit nur in FHEM.

So werde ich mir es überlegen ob ich hier noch weiter entwickeln möchte...

Gruß
Bismosa
1x nanoCUL 433MHz (SlowRF Intertechno) für Fenstersensoren
1x nanoCUL 868Mhz für MAX (9x HT 1xWT)
1x ZigBee CUL
Weiteres: Squeezebox server, Kindle Display, ESP8266, Löterfahrung, ...

moonsorrox

Ich würde gern auf meinem Produktiv System den Blitzer installieren, habe damit aber ein paar Probleme.
Auf meinem Testsystem hat das aktuell super geklappt..!!!
Wenn ich in der Kommandozeile eingebe "define myBlitzer Blitzer 10"
erscheint erst einmal "Cannot load module Blitzer" es sieht so aus als wenn es das Modul nicht gibt, aber mit dem FTP drauf geschaut ist es aktuell natürlich vorhanden  :-\

Ich habe alle alten Codeschnipsel entfernt auch aus der myUtils.
Was kann das sein..?

Diese Fehler stehen im Log, sagen mir aber nichts:
BEGIN failed--compilation aborted at ./FHEM/98_Blitzer.pm line 30.
main::CallFn('WEB_10.0.0.11_49379', 'ReadFn', 'HASH(0xbe1f8a8)') called at fhem.pl line 745
main::FW_Read('HASH(0xbe1f8a8)') called at fhem.pl line 3698
main::FW_answerCall('/fhem&fw_id=6307&cmd=define+myBlitzer+Blitzer+10') called at ./FHEM/01_FHEMWEB.pm line 567
main::FW_fC('define myBlitzer Blitzer 10', '') called at ./FHEM/01_FHEMWEB.pm line 939
main::AnalyzeCommandChain('HASH(0xbe1f8a8)', 'define myBlitzer Blitzer 10') called at ./FHEM/01_FHEMWEB.pm line 2666
main::AnalyzeCommand('HASH(0xbe1f8a8)', 'define myBlitzer Blitzer 10', 'ACC') called at fhem.pl line 1082
main::CommandDefine('HASH(0xbe1f8a8)', 'myBlitzer Blitzer 10', 'define') called at fhem.pl line 1229
main::LoadModule('Blitzer', undef) called at fhem.pl line 2039
main::CommandReload(undef, '98_Blitzer', undef) called at fhem.pl line 1982
eval {...} called at fhem.pl line 2592
require ./FHEM/98_Blitzer.pm called at fhem.pl line 2593
eval {...} called at ./FHEM/98_Blitzer.pm line 30
main::BEGIN() called at ./FHEM/98_Blitzer.pm line 30
Can't continue after import errors at ./FHEM/98_Blitzer.pm line 30.
2019.04.04 14:47:16 0: "any" is not exported by the List::Util module

BEGIN failed--compilation aborted at ./FHEM/98_Blitzer.pm line 30.
main::CallFn('WEB_10.0.0.11_49379', 'ReadFn', 'HASH(0xbe1f8a8)') called at fhem.pl line 745
main::FW_Read('HASH(0xbe1f8a8)') called at fhem.pl line 3698
main::FW_answerCall('/fhem&fw_id=6307&cmd=define+myBlitzer+Blitzer+10') called at ./FHEM/01_FHEMWEB.pm line 567
main::FW_fC('define myBlitzer Blitzer 10', '') called at ./FHEM/01_FHEMWEB.pm line 939
main::AnalyzeCommandChain('HASH(0xbe1f8a8)', 'define myBlitzer Blitzer 10') called at ./FHEM/01_FHEMWEB.pm line 2666
main::AnalyzeCommand('HASH(0xbe1f8a8)', 'define myBlitzer Blitzer 10', 'ACC') called at fhem.pl line 1082
main::CommandDefine('HASH(0xbe1f8a8)', 'myBlitzer Blitzer 10', 'define') called at fhem.pl line 1229
main::LoadModule('Blitzer', undef) called at fhem.pl line 2039
main::CommandReload(undef, '98_Blitzer', undef) called at fhem.pl line 1982
eval {...} called at fhem.pl line 2592
require ./FHEM/98_Blitzer.pm called at fhem.pl line 2593
eval {...} called at ./FHEM/98_Blitzer.pm line 30
main::BEGIN() called at ./FHEM/98_Blitzer.pm line 30
Can't continue after import errors at ./FHEM/98_Blitzer.pm line 30.
"any" is not exported by the List::Util module
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM