[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