Re: [vz-users] Datenübertragung in die Datenbank
Folgendes Python Skript habe ich damals geschrieben um die API zu testen. Vielleicht hilft’s dir. Relevant ist ja eigentlich für dich nur die unterste Zeile. #!/usr/bin/env python import httplib, urllib import os import string import requests import re uuid = "abaa4d50----" #Temperatur Aussen w1 = "28-073cd345" def read_sensor(path): value = "U" try: f = open(path, "r") line = f.readline() if re.match(r"([0-9a-f]{2} ){9}: crc=[0-9a-f]{2} YES", line): line = f.readline() m = re.match(r"([0-9a-f]{2} ){9}t=([+-]?[0-9]+)", line) if m: value = str(float(m.group(2)) / 1000.0) f.close() except (IOError), e: print time.strftime("%x %X"), "Error reading", path, ": ", e return value temperature = read_sensor("/sys/bus/w1/devices/"+w1+"/w1_slave") resp = requests.post("http://xxx.xxx.xxx.xx/middleware.php/data/"+uuid+".json?value="+str(temperature)) Gruss Pascal
Re: [vz-users] Datenübertragung in die Datenbank
Hallo Torsten. Mysql verwendet nicht den Port 80. Davon abgesehen... Hast du dir das Beispiel angesehen was ich dir geschickt habe? Torstenschrieb am Mo., 17. Okt. 2016, 00:59: > Hallo zusammen , > besten dank erstmal an alle! > > >>> Woran klemmts denn genau? <<< > > Bezüglich meines Script´´s (direkt in die DB) daran(Script-Auszug): > > mysqlHost = '127.0.0.1' > mysqlPort = 80 > mysqlLogin = 'root' > mysqlPass = 'raspberry' > mysqlDatabase = 'volkszaehler' > > . > > > > > > > > > > > *# Permanente MySQL Verbindung try: > db = MySQLdb.connect(host=mysqlHost, port=mysqlPort, user=mysqlLogin, > passwd=mysqlPass) > cursor = db.cursor() except: > print("Fehler beim verbinden zum MySQL Server") sys.exit() . * > *cursor.execute(* > *"INSERT INTO data (channel_id(34)) (timestamp, value) VALUES (%s, %s);"* > *, (**time**.**time**(), **'1'* > *)) * > Es folgt dann nach ca.2min das: > > pi@raspberrypi:~ $ sudo /test01.py > > Fehler beim verbinden zum MySQL Server > > Wenn ich die Zeile(cursor...) entferne, läuft das Script ohne Fehler. > > Stimmen eventuell die Zugangsdaten nicht? Wenn ich die Zugangsdaten > ändere(z.B.das password), so kommt die Fehlermeldung sofort! > Die Daten (value(0 oder 1)) sollen in die channel_id:34 geschrieben > werden. Wenn ich die Daten von Hand per phpmyadmin eingebe, erhalte ich im > Frondend die gewünschte Darstellung. > > Kann jemand helfen? Baucht es weitere Info´s? > > Besten Dank schonmal - Torsten > > > > Am 16.10.2016 um 17:26 schrieb Daniel Lauckner: > > Hallo Torsten, > > > am Sonntag, 16. Oktober 2016 um 16:58 hast du geschrieben: > > ist es generell möglich, direkt in die DB > (volkszaehler/data/value) Werte aus einem Script zu übertragen ode > gelingt das nur über z.B. Vzclient oder API(zur middleware)? > > > Geht auch direkt. > > Ich verwende in meinen Scripten aber auch API oder vzclient. > > > Mit dem wiki zu vzclient und API komme ich mit meinem > Kenntnissstand leider nicht weiter - bekomme das Zusammenspiel von > meinem PHYTON-Script zu diesen Tool´s nicht hin. > > > Woran klemmts denn genau? > > > mfg Daniel > > > > > -- Von meinem Smartphone versendet
Re: [vz-users] Datenübertragung in die Datenbank
Hallo zusammen , besten dank erstmal an alle! >>> Woran klemmts denn genau? <<< Bezüglich meines Script´´s (direkt in die DB) daran(Script-Auszug): mysqlHost = '127.0.0.1' mysqlPort = 80 mysqlLogin = 'root' mysqlPass = 'raspberry' mysqlDatabase = 'volkszaehler' . /*# Permanente MySQL Verbindung try: db = MySQLdb.connect(host=mysqlHost, port=mysqlPort, user=mysqlLogin, passwd=mysqlPass) cursor = db.cursor() except: print("Fehler beim verbinden zum MySQL Server") sys.exit() . */ /**//**//*cursor.execute(*//*"INSERT INTO data (channel_id(34)) (timestamp, value) VALUES (%s, %s);"*//*, (*//**//**//*time*//*.*//*time*//*(), *//*'1'*//*)) */ Es folgt dann nach ca.2min das: pi@raspberrypi:~ $ sudo /test01.py Fehler beim verbinden zum MySQL Server Wenn ich die Zeile(cursor...) entferne, läuft das Script ohne Fehler. Stimmen eventuell die Zugangsdaten nicht? Wenn ich die Zugangsdaten ändere(z.B.das password), so kommt die Fehlermeldung sofort! Die Daten (value(0 oder 1)) sollen in die channel_id:34 geschrieben werden. Wenn ich die Daten von Hand per phpmyadmin eingebe, erhalte ich im Frondend die gewünschte Darstellung. Kann jemand helfen? Baucht es weitere Info´s? Besten Dank schonmal - Torsten Am 16.10.2016 um 17:26 schrieb Daniel Lauckner: Hallo Torsten, am Sonntag, 16. Oktober 2016 um 16:58 hast du geschrieben: ist es generell möglich, direkt in die DB (volkszaehler/data/value) Werte aus einem Script zu übertragen ode gelingt das nur über z.B. Vzclient oder API(zur middleware)? Geht auch direkt. Ich verwende in meinen Scripten aber auch API oder vzclient. Mit dem wiki zu vzclient und API komme ich mit meinem Kenntnissstand leider nicht weiter - bekomme das Zusammenspiel von meinem PHYTON-Script zu diesen Tool´s nicht hin. Woran klemmts denn genau? mfg Daniel
Re: [vz-users] Datenübertragung in die Datenbank
Hallo Torsten, am Sonntag, 16. Oktober 2016 um 16:58 hast du geschrieben: > ist es generell möglich, direkt in die DB > (volkszaehler/data/value) Werte aus einem Script zu übertragen ode > gelingt das nur über z.B. Vzclient oder API(zur middleware)? Geht auch direkt. Ich verwende in meinen Scripten aber auch API oder vzclient. > Mit dem wiki zu vzclient und API komme ich mit meinem > Kenntnissstand leider nicht weiter - bekomme das Zusammenspiel von > meinem PHYTON-Script zu diesen Tool´s nicht hin. Woran klemmts denn genau? mfg Daniel
Re: [vz-users] Datenübertragung in die Datenbank
Hallo Torsten, was willst Du denn genau machen ? Ich bin auch nicht so der Programmier-Experte, aber schreibe das Meiste über vzclient und ganz einfachen bash-Skripten in Volkszaehler Hier z.B. mal was, wie ich aus FHEM eine Wert auslese und in VZ schreibe: #!/bin/bash test1=`echo 'list boiler temperature1 ' | nc 127.0.0.1 7072 -q 1 2>/dev/null ` ist_temp=`echo $test1| cut -d' ' -f 4` echo "Ist:" $ist_temp vzclient -u 997x-cf56-11e5--cd8a4419bcf9 add data value=$ist_temp echo ende Ich weiss es gibt auch eine VZ-Anbindung in FHEM, ist mir aber lieber so, so habe ich alles unter Kontrolle und es bleibt einfach. Die Timestamps generiert vzclient für mich, mir kommt es nicht auf die Sekunde an Viele Grüße Klaus - Original Message - From: Torsten To: VOLKSZÄHLER Sent: Sunday, October 16, 2016 4:58 PM Subject: [vz-users] Datenübertragung in die Datenbank Hallo zusammen, SORRY - Betreff vergessen! Also nochmal, ist es generell möglich, direkt in die DB (volkszaehler/data/value) Werte aus einem Script zu übertragen ode gelingt das nur über z.B. Vzclient oder API(zur middleware)? Mit dem wiki zu vzclient und API komme ich mit meinem Kenntnissstand leider nicht weiter - bekomme das Zusammenspiel von meinem PHYTON-Script zu diesen Tool´s nicht hin. Deshalb wollte ich direkt aus dem Script in die DB und dort in die id-channel(..) den timestamp und den value schreiben. Hat eventuell jemand eine Beispielanwendung bezüglich Vzclient oder API im Einsatz und kann mir dazu helfen? MfG - Torsten
[vz-users] Datenübertragung in die Datenbank
Hallo zusammen, SORRY - Betreff vergessen! Also nochmal, ist es generell möglich, *direkt* in die DB (volkszaehler/data/value) Werte aus einem Script zu übertragen ode gelingt das nur über z.B. Vzclient oder API(zur middleware)? Mit dem wiki zu vzclient und API komme ich mit meinem Kenntnissstand leider nicht weiter - bekomme das Zusammenspiel von meinem PHYTON-Script zu diesen Tool´s nicht hin. Deshalb wollte ich direkt aus dem Script in die DB und dort in die *id-channel(..)* den /timest//amp/ und den /value/ schreiben. Hat eventuell jemand eine Beispielanwendung bezüglich Vzclient oder API im Einsatz und kann mir dazu helfen? MfG - Torsten