[vz-users] LadereglerWerte aus Morningstar MPPT in Volkszähler
W3ellschmidt
w3llschmidt at googlemail.com
Mon Jan 7 19:47:17 CET 2013
Javascript :-o
Wozu das?
---
Send as roadwarrior.
Am 07.01.2013 um 19:43 schrieb Manfred Frank <info at mmm-frank.de>:
> Hallo
>
> Das ist ja schon mal super
>
> der erste Teil klappt schon mal… (Variable im http Aufruf) , aber halt leider nur in /bin/bash
>
>
> u="f097b770-53ef-11e2-8947-6f64b65c053f"
> x=$Power_out
> curl --silent --data "" http://192.168.2.101/middleware.php/data/$u.json?value=$x
>
> wie krieg ich das Ganze nun noch in ein Java Script rein?
>
> Kann mir Dabei jemand behilflich sein?
>
> Dort gibt’s das ganze Programm:
> http://rosebud.homedns.org/solar/sunsaver.tar.gz
>
> Aber hier mal ein Auszug:
>
> #include <stdio.h>
> #include <stdlib.h>
> #include <errno.h>
> #include <modbus.h>
> #define SUNSAVERMPPT 0x01 /* Default address of the SunSaver MPPT */
> int main(void)
> {
> modbus_t *ctx;
> int rc;
> float adc_vb_f,adc_va_f,adc_vl_f,adc_ic_f,adc_il_f;
> uint16_t data[10];
>
> /* Set up a new MODBUS context */
> ctx = modbus_new_rtu("/dev/ttyUSB0", 9600, 'N', 8, 2);
> if (ctx == NULL) {
> fprintf(stderr, "Unable to create the libmodbus context\n");
> return -1;
> }
> modbus_set_slave(ctx, SUNSAVERMPPT);
>
> /* Open the MODBUS connection to the SunSaver MPPT */
> if (modbus_connect(ctx) == -1) {
> fprintf(stderr, "Connection failed: %s\n", modbus_strerror(errno));
> modbus_free(ctx);
> return -1;
> }
>
> /* Read the first five RAM Registers */
> rc = modbus_read_registers(ctx, 0x0008, 5, data);
> if (rc == -1) {
> fprintf(stderr, "%s\n", modbus_strerror(errno));
> return -1;
> }
>
> /* Convert the results to their proper floating point values */
> adc_vb_f=data[0]*100.0/32768.0;
> printf("adc_vb_f=%.2f\n",adc_vb_f);
>
>
>
> ist ein Auszug aus dem Programmcode
>
> LG
> Manfred
>
>
>
>
> Von: volkszaehler-users-bounces at lists.volkszaehler.org [mailto:volkszaehler-users-bounces at lists.volkszaehler.org] Im Auftrag von W3ll Schmidt
> Gesendet: Montag, 7. Januar 2013 16:58
> An: volkszaehler.org - users
> Betreff: Re: [vz-users] LadereglerWerte aus Morningstar MPPT in Volkszähler
>
> Kannste Dir hier klauen ...
>
> #!/bin/bash
>
> #################################################################################################
>
> # cat /sys/bus/w1/devices/w1_bus_master1/w1_master_slaves
> s="28-0000042b410e"
>
> # Volkszaehler UUID
> u="52196840-2ef9-11e2-853d-fff0722808ce"
> output=$(cat /sys/bus/w1/devices/$s/w1_slave)
>
> echo "$output" | head -n1 | grep -i yes > /dev/null && t=$(echo "$output" | tail -n1 | cut -f2 -d= | awk '{print $1/1000}')
>
> #Komando nur ausfuehren, wenn $t gesetzt ist ($t wird nur gesetzt wenn in erste Zeile auf YES matched)
> test -z "$t" || curl --silent --data "" "http://localhost/middleware.php/data/$u.json?value=$t"
>
>
> #################################################################################################
>
>
> Am 7. Januar 2013 16:29 schrieb Manfred Frank <info at mmm-frank.de>:
> Hallo,
>
> ich möchte ein Script erstellen das es mir ermöglicht, den aktuelle Laderegler Wert „ Power_out“ an den Volkszähler (bei mir 192.168.2.101) zu übermitteln
>
> der crontab startet dieses Programm alles 5 min
>
> leite scheitere ich an 2 Dingen.
>
> curl -sL http://192.168.2.101/middleware.php/data/f097b770-53ef-11e2-8947-6f64b65c053f.json?operation=add&value=1000
>
> wenn ich dies so eintrage, erscheint immer der Wert 1 web frontend
>
>
> 2. wie trag ich grundsätzlich in so eine Befehlszeile eine Variable ein
>
> z.B.
>
> curl -sL http://192.168.2.101/middleware.php/data/f097b770-53ef-11e2-8947-6f64b65c053f.json?operation=add&value=Power_out
>
> Kann mir jemand dabei behilflich sein… Ich stelle dann das “Gesamtwerk” auch gerne zur Verfügung
>
> Danke
>
> Manfred
>
>
>
>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://volkszaehler.org/pipermail/volkszaehler-users/attachments/20130107/19005e74/attachment-0001.html>
More information about the volkszaehler-users
mailing list