Re: [vz-dev] jsonp support für vz
Hi, Andreas Goetz, 03.04.2013 08:46: ich hatte den Wunsch, remote (d.h. per iphone-app) auf die mw zuzugreifen. Aus Sicherheitsgründen ist das nur per JsonP, nicht jedoch json möglich. interessante sache irgendwie... es ist doch eigentlich im frontend vorgesehen, kanaele von verschiedenen middlewares abbonieren zu koennen - funktionierte das bisher garnicht?! Kann nicht. Allerdings habe ich auch keinen Platz in rigendeiner Config gefunden wo ich eine zweite MW hätte eintragen können- für's durch JS hacken fehlte mir bisher die Zeit. Wäre aber eine spannende Aufgabe auch daran ein wenig zu basteln. Das ist jetzt auch schon möglich. Kann man einfach selbst testen, indem man in seinem Frontend einen der öffentlichen Kanäle von demo.volkszaehler.org abonniert. https://github.com/volkszaehler/volkszaehler.org/pull/44 Ich paste einfach mal meinen Kommentar von dort: JSONP wird bereits über den Parameter padding unterstützt, siehe http://wiki.volkszaehler.org/development/api/reference?s[]=padding#json Dieser wird auch schon vom frontend benutzt, wenn man eine andere als die lokale middleware ausgewählt hat. Allerdings belässt padding den Content-type auf application/json, das sollte wohl wie bei dir application/javascript sein, das sollten wir noch fixen. In der jetzigen Version ist das allerdings ein potentielles Sicherhitsrisiko- es lassen sich ja nicht nur Daten abfragen sondern auch löschen. Was fehlt ist m.E. eine Konfigurationsoption mit der jsonp standardmäßig erstmal deaktiviert ist. Warum sollte JSONP für die middleware ein Sicherheitsrisiko sein? Wenn man die UUID kennt und die middleware erreichen kann, kann man das auch so über die API machen. Was ich an JSONP skurril finde (zumindest soweit ich das verstanden habe): Wegen der same-origin-policy kann man nicht einfach JSON benutzen. Um das zu umgehen, lädt man sich javascript-code von einem fremden Server!?! Ich habe zumindest nirgendwo gesehen, daß geprüft wird, ob der Server tatsächlich sowas wie callback_methode({daten...}) zurückgibt, oder nicht beliebigen anderen javascript-code, der z.B. die cookies ausliest und für alle Kanäle ein delete macht.
Re: [vz-dev] Alternative Implementierung für vzcompress
Mahlzeit, Am 2013-04-04 06:56, schrieb bernd: [...] PHP Warning: Invalid argument supplied for foreach() in /var/www/volkszaehler.org/misc/tools/vzcompress2.php on line 154 PHP Warning: Could not detect inperpreter for type powersensor in /var/www/volkszaehler.org/misc/tools/vzcompress2.php on line 161 [...] Da hab ich wohl nen Hinweis vergessen - dieser Commit für die EntityDefinition müsste noch rein, sonst verschluckt sich PHP an der JSON-Datei: https://github.com/volkszaehler/volkszaehler.org/pull/43. -- Mit freundlichen Grüßen Florian Knodt
Re: [vz-dev] vzlogger an raspberry tut nicht
Hallo, danke erst mal für Eure tolle Hilfe ! Status neu: Erster Zähler wird erkannt und nach Neuanlage als Strommesser statt Stromzähler auch dargestellt. Zweiter Zähler wird nun nach Umstellung auf Strommesser ebenfalls dargestellt -HURRAAA :-) Allerdings gibt der Raspi nach ca. 2 Stunden w.o. - Meldung im frontend: Unknown middleware command - Darstellung durchgehende gerade Linie Bei allen anderen S0 Eingängen habe ich den String zwischen den entfernt (in der s0vz) Nach Neustart des Raspis gehts für ne Weile wieder gut, aber dann - siehe oben Ist evtl. der Raspi schuld (Bilschrimschoner-wird irgendwas intern abgeschaltet) ? Ist dies evtl. im Image schon berücksichtigt ? Danke nochmal im Voraus ! LG Dietmar Am 02.04.2013 22:08, schrieb Rainer Gauweiler: Hallo Dietmar, Am 02.04.2013 21:41, schrieb Dietmar Spielhofer: Kanäle sind in der s0vz eingetragen. In Tabelle Data sind bereits über 27.000 Einträge und werden sekündlich Einträge hinzugefügt. Vzlogger läuft nicht ! Klingt ja gut, vzlogger kannst Du damit vergessen, der wird gebraucht falls Du sml/d0 über USB nutzt. Das tust Du nicht. Was ist denn dein Problem, was tut nicht? Daten scheinen ja in der DB anzukommen - werden sie im Frontend nicht dargestellt, oder sind sie falsch oder ... ? Gruss Rainer
Re: [vz-dev] Error executing grouped queries
Hi, Andreas Goetz, 03.04.2013 19:50: Ja, die Logik in Interpreter ist da etwas kaputt. Ich hab das jetzt mal gefixt. Wäre Klasse wenn der Fix es in die offizielle Version schaffen würde (mit Update der Doku..)- die Logik ist wirklich krank :/ Das dürfte schon klappen :) Ok, schicke ich per PM hinterher. Hab ich mir angeschaut. Das Problem ist, daß du im März Daten hast, aber nicht im Februar. Die Auswertung läuft aber so, daß mit group die Daten einzelner Monate zusammengefasst werden und dann von processData wie sonst auch verarbeitet werden, d.h. vom ersten Tupel wird nur der timestamp genommen und der Rest verworfen, bei dir eben die zusammengefassten Daten vom März. Ohne mittelgroße Umbauten oder unschöne Hacks ist das aber leider nicht zu fixen.Ich schau's mir evt. nochmal an, aber du solltest nicht darauf warten... Workaround für dich: Einen einzelnen Impuls (mit Wert 0) für Ende Februar einfügen (28.2. 23:59:59).
Re: [vz-dev] Error executing grouped queries
Hallo, so richtig click macht es bei mir noch nicht. Für Gruppierung nach Monaten kann ich das ja nachvollzieren- aber auch bei Gruppierung nach Wochen oder Tagen kommt nix raus- und spätestens hier müsste es ja 2 Tupel geben: http://localhost/vz/middleware.php/data/8f20eb60-60df-11e2-81a1-3d3ab836429e.json?group=dayfrom=1.1.2013to=today Letztlich- fällt mir gerade noch ein- wenn group=monat oder jahr angegeben ist wäre es evtl. auch sinnvoll, das from-to Intervall, falls nicht angegeben, automatisch auf einen sinnvollen Wert, z.B. dieses Jahr zu setzen? vg Andreas On 04.04.2013 18:25, Jakob Hirsch wrote: Hi, Andreas Goetz, 03.04.2013 19:50: Ja, die Logik in Interpreter ist da etwas kaputt. Ich hab das jetzt mal gefixt. Wäre Klasse wenn der Fix es in die offizielle Version schaffen würde (mit Update der Doku..)- die Logik ist wirklich krank :/ Das dürfte schon klappen :) Ok, schicke ich per PM hinterher. Hab ich mir angeschaut. Das Problem ist, daß du im März Daten hast, aber nicht im Februar. Die Auswertung läuft aber so, daß mit group die Daten einzelner Monate zusammengefasst werden und dann von processData wie sonst auch verarbeitet werden, d.h. vom ersten Tupel wird nur der timestamp genommen und der Rest verworfen, bei dir eben die zusammengefassten Daten vom März. Ohne mittelgroße Umbauten oder unschöne Hacks ist das aber leider nicht zu fixen.Ich schau's mir evt. nochmal an, aber du solltest nicht darauf warten... Workaround für dich: Einen einzelnen Impuls (mit Wert 0) für Ende Februar einfügen (28.2. 23:59:59).
Re: [vz-dev] vzlogger an raspberry tut nicht
unsubscrbe On Thu, 04 Apr 2013 18:00:02 +0200 Dietmar Spielhofer dietmar.spielho...@inode.at wrote: Hallo, danke erst mal für Eure tolle Hilfe ! Status neu: Erster Zähler wird erkannt und nach Neuanlage als Strommesser statt Stromzähler auch dargestellt. Zweiter Zähler wird nun nach Umstellung auf Strommesser ebenfalls dargestellt -HURRAAA :-) Allerdings gibt der Raspi nach ca. 2 Stunden w.o. - Meldung im frontend: Unknown middleware command - Darstellung durchgehende gerade Linie Bei allen anderen S0 Eingängen habe ich den String zwischen den entfernt (in der s0vz) Nach Neustart des Raspis gehts für ne Weile wieder gut, aber dann - siehe oben Ist evtl. der Raspi schuld (Bilschrimschoner-wird irgendwas intern abgeschaltet) ? Ist dies evtl. im Image schon berücksichtigt ? Danke nochmal im Voraus ! LG Dietmar Am 02.04.2013 22:08, schrieb Rainer Gauweiler: Hallo Dietmar, Am 02.04.2013 21:41, schrieb Dietmar Spielhofer: Kanäle sind in der s0vz eingetragen. In Tabelle Data sind bereits über 27.000 Einträge und werden sekündlich Einträge hinzugefügt. Vzlogger läuft nicht ! Klingt ja gut, vzlogger kannst Du damit vergessen, der wird gebraucht falls Du sml/d0 über USB nutzt. Das tust Du nicht. Was ist denn dein Problem, was tut nicht? Daten scheinen ja in der DB anzukommen - werden sie im Frontend nicht dargestellt, oder sind sie falsch oder ... ? Gruss Rainer
Re: [vz-dev] Alternative Implementierung für vzcompress
Am Donnerstag, 4. April 2013 um 15:03 schrieb f.kn...@yotaweb.de: Da hab ich wohl nen Hinweis vergessen - dieser Commit für die EntityDefinition müsste noch rein, sonst verschluckt sich PHP an der JSON-Datei: https://github.com/volkszaehler/volkszaehler.org/pull/43. Hab die Zeile geändert und jetzt ein Problem mit den Zugriffsrechten: Processing Sensor ID 7... Compressing datapoints between 06.03.2013 12:39:28 and 28.03.2013 22:00:35 using a 60 second timeframe Processing: 06.03.2013 12:39:28 - 06.03.2013 12:40:28 (0%)... array(3) { [0]= string(5) 42000 [1]= int(1142) [2]= string(63) DELETE command denied to user 'vz'@'localhost' for table 'data' } PHP Fatal error: SQL FAILURE in /home/pi/bin/vzcompress2.php on line 232 Leider ist mir das Script zu hoch, ich versteh kein Stück was da vor sich geht (oder gehen soll). mfg Daniel
Re: [vz-dev] Alternative Implementierung für vzcompress
Hallo, -Ursprüngliche Nachricht- Von: volkszaehler-dev-boun...@lists.volkszaehler.org [mailto:volkszaehler-dev-boun...@lists.volkszaehler.org] Im Auftrag von Daniel Lauckner Gesendet: Donnerstag, 4. April 2013 23:09 An: volkszaehler.org Betreff: Re: [vz-dev]Alternative Implementierung für vzcompress Am Donnerstag, 4. April 2013 um 15:03 schrieb f.kn...@yotaweb.de: Da hab ich wohl nen Hinweis vergessen - dieser Commit für die EntityDefinition müsste noch rein, sonst verschluckt sich PHP an der JSON-Datei: https://github.com/volkszaehler/volkszaehler.org/pull/43. Hab die Zeile geändert und jetzt ein Problem mit den Zugriffsrechten: string(63) DELETE command denied to user 'vz'@'localhost' for table 'data' } PHP Fatal error: SQL FAILURE in /home/pi/bin/vzcompress2.php on line 232 Ich nutze Sudo php vzcompress2.php - da läufts als root... Mein Problem sind angebliche Duplikate: Processing Sensor ID 6... Compressing datapoints between 05.03.2013 22:06:10 and 24.03.2013 16:11:28 using a 60 second timeframe Processing: 08.03.2013 04:35:10 - 08.03.2013 04:36:10 (12%)... array(3) { [0]= string(5) 23000 [1]= int(1062) [2]= string(51) Duplicate entry '6-1362713770632' for key 'ts_uniq' } PHP Fatal error: SQL FAILURE in /var/www/volkszaehler.org/misc/tools/vzcompress2.php on line 226 Kann man solche Fehler nicht einfach überspringen und dennoch weitermachen? Danke und Gruß, Bernd
Re: [vz-dev] Alternative Implementierung für vzcompress
On Thu, 4 Apr 2013 23:15:43 +0200 Bernd Gewehr be...@gewehr.net wrote: Nachtrag: Die angeblichen Duplikate sind nicht von derselben Channel_ID: id channel_id timestamp value 2522215 10 1362713770632 20352394 2522216 6 1362713770632 288.3 Alle nein. in der data tabelle wirst du keine duplikate finden, weil der unique key verhindert, das die eingetragen werden. (doppelte eintraege fuer paare von (channel_id,timestamp). die eintraege dort haben unterschieliche ts. - T. -Ursprüngliche Nachricht- Von: volkszaehler-dev-boun...@lists.volkszaehler.org [mailto:volkszaehler-dev-boun...@lists.volkszaehler.org] Im Auftrag von Bernd Gewehr Gesendet: Donnerstag, 4. April 2013 23:13 An: 'volkszaehler-users'; 'volkszaehler.org' Betreff: Re: [vz-dev]Alternative Implementierung für vzcompress Hallo, -Ursprüngliche Nachricht- Von: volkszaehler-dev-boun...@lists.volkszaehler.org [mailto:volkszaehler-dev-boun...@lists.volkszaehler.org] Im Auftrag von Daniel Lauckner Gesendet: Donnerstag, 4. April 2013 23:09 An: volkszaehler.org Betreff: Re: [vz-dev]Alternative Implementierung für vzcompress Am Donnerstag, 4. April 2013 um 15:03 schrieb f.kn...@yotaweb.de: Da hab ich wohl nen Hinweis vergessen - dieser Commit für die EntityDefinition müsste noch rein, sonst verschluckt sich PHP an der JSON-Datei: https://github.com/volkszaehler/volkszaehler.org/pull/43. Hab die Zeile geändert und jetzt ein Problem mit den Zugriffsrechten: string(63) DELETE command denied to user 'vz'@'localhost' for table 'data' } PHP Fatal error: SQL FAILURE in /home/pi/bin/vzcompress2.php on line 232 Ich nutze Sudo php vzcompress2.php - da läufts als root... Mein Problem sind angebliche Duplikate: Processing Sensor ID 6... Compressing datapoints between 05.03.2013 22:06:10 and 24.03.2013 16:11:28 using a 60 second timeframe Processing: 08.03.2013 04:35:10 - 08.03.2013 04:36:10 (12%)... array(3) { [0]= string(5) 23000 [1]= int(1062) [2]= string(51) Duplicate entry '6-1362713770632' for key 'ts_uniq' } PHP Fatal error: SQL FAILURE in /var/www/volkszaehler.org/misc/tools/vzcompress2.php on line 226 Kann man solche Fehler nicht einfach überspringen und dennoch weitermachen? Danke und Gruß, Bernd
Re: [vz-dev] Alternative Implementierung für vzcompress
On Thu, 4 Apr 2013 23:13:21 +0200 Bernd Gewehr be...@gewehr.net wrote: Hallo, schoen dass du versuchst, zitatantworten zu benutzen, aber das klappt nur wenn das zitat auch durchgehend als solches gekennzeichnet ist, da man sonst deine antwort nicht vom zitat unterscheiden kann. -Ursprüngliche Nachricht- Von: volkszaehler-dev-boun...@lists.volkszaehler.org [mailto:volkszaehler-dev-boun...@lists.volkszaehler.org] Im Auftrag von Daniel Lauckner Gesendet: Donnerstag, 4. April 2013 23:09 An: volkszaehler.org Betreff: Re: [vz-dev]Alternative Implementierung für vzcompress Am Donnerstag, 4. April 2013 um 15:03 schrieb f.kn...@yotaweb.de: Da hab ich wohl nen Hinweis vergessen - dieser Commit für die EntityDefinition müsste noch rein, sonst verschluckt sich PHP an der JSON-Datei: https://github.com/volkszaehler/volkszaehler.org/pull/43. Hab die Zeile geändert und jetzt ein Problem mit den Zugriffsrechten: string(63) DELETE command denied to user 'vz'@'localhost' for table 'data' } PHP Fatal error: SQL FAILURE in /home/pi/bin/vzcompress2.php on line 232 der vz-user hat keine delete-rechte, weil die middleware normalerweise nie daten loescht - sollte man wohl mal weniger restriktiv anlegen. Ich nutze Sudo php vzcompress2.php - da läufts als root... als welcher user das script laeuft ist nicht relevant, sondern welcher mysql-account fuer die db zugriffe verwendet wird. hier ist wohl bei root der mysql root-user hinterlegt, bei 'pi'aber nur der vz-user. Mein Problem sind angebliche Duplikate: Processing Sensor ID 6... Compressing datapoints between 05.03.2013 22:06:10 and 24.03.2013 16:11:28 using a 60 second timeframe Processing: 08.03.2013 04:35:10 - 08.03.2013 04:36:10 (12%)... array(3) { [0]=string(5) 23000 [1]=int(1062) [2]=string(51) Duplicate entry '6-1362713770632' for key 'ts_uniq' } PHP Fatal error: SQL FAILURE in /var/www/volkszaehler.org/misc/tools/vzcompress2.php on line 226 Kann man solche Fehler nicht einfach überspringen und dennoch weitermachen? wenn das denn sinnvoll waehre?! das script fasst ja mehrere eintraege zu einem zusammen, und solle eigentlich die alten loeschen. der fehler kann nur bedeuten, dass die alten noch drinstehen - da muss irgendwas schieflaufen. habe das script nicht im detail angeschaut, muss der autor sagen. Danke und Gruß, Bernd - T.