Avläsa Fronius Json till Domoticz hjälp

classic Classic list List threaded Threaded
89 meddelanden Alternativ
12345
Svara | Threaded
Open this post in threaded view
|

Re: Avläsa Fronius Json till Domoticz hjälp

tor_fransson
Jadu, det var ju inte så hjälpsam logg... Är nog inne som Tommy på att man får prova med ett annat skriptspråk än lua, i förhoppning att få lite vettiga felutskrifter. Python, eller möjligtvis php via cron kanske skulle kunna vara ett alternativ tills vidare?
Svara | Threaded
Open this post in threaded view
|

Re: Avläsa Fronius Json till Domoticz hjälp

TommyE
In reply to this post by Davil
Hej, nej det här övergår mitt förstånd. Jag provade nu att skapa en energimätare och tog ut kommandot för att uppdatera den med ett fast värde.
LUA
LUA wrote
commandArray = {}

print ("Uppdaterar min låtsas solarmätare");
    commandArray[#commandArray + 1]={['OpenURL']="http://min.server.här/json.htm?type=command¶m=udevice&idx=336&nvalue=0&svalue=700;9000"};
    print ("Klar");
return commandArray

"}
¶m är fortsatt & param
Enligt Domotics så är kommandot:
/json.htm?type=command& param=udevice&idx=IDX&nvalue=0&svalue=POWER;ENERGY
Så det ser rätt ut iaf i mina ögon :-)

Skriptet körs och inget fel registreras, jag får ut mina två print rader, men mätaren uppdateras inte.
Om jag däremot öppnar urlen i Chrome så uppdateras värdet och JSON.html svarar
{
   "status" : "OK",
   "title" : "Update Device"
}

Mycket konstigt på min ära...


6,0kWp: 8st JA-Solar 290W + 13st JA-Solar 285W. Fronius Symo 5.0-3-M + Smart Meter 63A-3, montage system Renusol Metasol+.
Taklutning 45°. Azimut 190° Ort Kiruna.
Produktionsdata: PVOutput
Svara | Threaded
Open this post in threaded view
|

Re: Avläsa Fronius Json till Domoticz hjälp

Davil
Nu har jag provat allt jag kan komma på utan framgång så nu skiter jag i detta.

Mycket tråkigt att det inte vill fungera 😢.

Det jag mest av allt är intresserad av att läsa av är ström IAC men men...

Tack för allas försök!
Fronius Symo 17,5. Fronius Smartmeter. 18,24kW. 32 x 32st JA-Solar 285w paneler 20Gr lutning riktning Öst/Väst i Glanshammar Närke.
https://www.solarweb.com/Home/GuestLogOn?pvSystemid=26a3723a-9023-45ae-9816-b3d81c12c592 
Svara | Threaded
Open this post in threaded view
|

Re: Avläsa Fronius Json till Domoticz hjälp

TommyE
This post was updated on .
Om du är sugen på att testa med PHP istället, så ser det här ut att fungera.
Inga felkontroller men det går att lösa om det blir problem.
Skapa först en virtuell sensor i Domoticz, en Amphere (1 fas). Jag valde först en 3 fas, men då tar den bara heltal.

<?php
$dataManagerIP = "Ditt.Fronius.Ip.Här";
$domoticzIp = "Ditt.Domotizs.Ip.Här"; //Jag förutsätter port 8080
$IACid ="Ditt SensorID"; //Domotics ID för IAC

// Inverter URL (allt på samma rad)
$inverterDataURL = "http://".$dataManagerIP."/solar_api/v1/GetInverterRealtimeData.cgi?Scope=Device&DeviceID=1&DataCollection=CommonInverterData";
//Till hit.

//Hämta IAC, sleep 5 behövs nog inte, jag läser själv från flera olika JSON, då är den ok.
//sleep(5);
$inverterJSON = file_get_contents($inverterDataURL);
$inverterData = json_decode($inverterJSON, true);
$inverterProduction = $inverterData["Body"]["Data"]["IAC"]["Value"];

// ta bort kommentarerna om du har problem med null värden i Domotics.
//if ($inverterPoduction == null) {
//  $inverterProduction = 0;
//}

//Spara till domoticz
//Allt på samma rad (glöm inte att ta bort mellanslag mellan $ och param
    $result = file_get_contents("http://" .$domoticzIp. ":8080/json.htm?type=command& param=udevice&idx=" .$IACid. "&nvalue=0&svalue=" .$inverterProduction);
//Till hit

//Skriv ut för att spana efter fel. Allt på samma rad.
//echo ("http://" .$domoticzIp. ":8080/json.htm?type=command& param=udevice&idx=" .$IACid. "&nvalue=0&svalue=" .$inverterProduction);
//Till hit

?>

Slut PHP

Nu har du ett php skript som förhoppningsvis fungerar. Jag använder crontab för att köra dessa skript på min maskin

crontab -e
Längst ner lägger du till reden.
 */5  *       *       *       *       php -f /home/pi/domoticz/scripts/jsonIAC.php >/dev/null 2>&1

Avsluta med CTRL-X.
*/5 betyder att den körs var 5e minut, ställ till vad du vill.
Kontrollera att sökvägen till skriptet är rätt.

6,0kWp: 8st JA-Solar 290W + 13st JA-Solar 285W. Fronius Symo 5.0-3-M + Smart Meter 63A-3, montage system Renusol Metasol+.
Taklutning 45°. Azimut 190° Ort Kiruna.
Produktionsdata: PVOutput
Svara | Threaded
Open this post in threaded view
|

Re: Avläsa Fronius Json till Domoticz hjälp

TommyE
Jag gillar att ha det per fas och och det plockar jag också ut via JSON, det finns i SmartMeterns API
6,0kWp: 8st JA-Solar 290W + 13st JA-Solar 285W. Fronius Symo 5.0-3-M + Smart Meter 63A-3, montage system Renusol Metasol+.
Taklutning 45°. Azimut 190° Ort Kiruna.
Produktionsdata: PVOutput
Svara | Threaded
Open this post in threaded view
|

Re: Avläsa Fronius Json till Domoticz hjälp

TommyE
In reply to this post by TommyE
Det ser ut att fungera


Vi hade 0AMP under ca 30 minuter i natt
6,0kWp: 8st JA-Solar 290W + 13st JA-Solar 285W. Fronius Symo 5.0-3-M + Smart Meter 63A-3, montage system Renusol Metasol+.
Taklutning 45°. Azimut 190° Ort Kiruna.
Produktionsdata: PVOutput
Svara | Threaded
Open this post in threaded view
|

Re: Avläsa Fronius Json till Domoticz hjälp

Davil
In reply to this post by TommyE
Wow! Detta är ju vad jag också vill ha!

Synd att mina kunskaper är ytterst begränsade inom detta

Skulle du kunna vara snäll att skriva exakt hur det skall se ut så jag kan "kopiera och klistra in" ?

För mig är min domoticz IP : 192.168.1.41:8080
Min Fronius IP: 192.168.1.39
Min virtuella sensor IAC 1-fas : 679

Ghaa...Jag hatar när jag inte förstår

För att få till det så som du har med watt och Ampere per fas så borde jag behöva totalt 6st virtuella sensorer eller?

Önskar jag var lika vass som dig på detta hehe...
Fronius Symo 17,5. Fronius Smartmeter. 18,24kW. 32 x 32st JA-Solar 285w paneler 20Gr lutning riktning Öst/Väst i Glanshammar Närke.
https://www.solarweb.com/Home/GuestLogOn?pvSystemid=26a3723a-9023-45ae-9816-b3d81c12c592 
Svara | Threaded
Open this post in threaded view
|

Re: Avläsa Fronius Json till Domoticz hjälp

TommyE
This post was updated on .
Hehe, jag har bara övat mycket, så jag har blivit ganska bra på att klippa och klistra ihop sånt som andra redan gjort, men med den funktion som jag vill ha istället :-)

Nu blir det då en "for dummies" hoppas att det inte blir för mycket beskrivet.
Kan du logga in på raspberryn med SSH? Jag använder programmet pytty (laddas ner på https://www.putty.org/)
Starta putty och fyll i ditt raspberry ip under host name, kontrollera att SSH är valt. Klicka sedan på "Open"

Om du inte ändrat lösenord på din PI så logga in med användarnamn "pi" och lösenord "raspberry" (utan ").
Skriv
cd domoticz/scripts och tryck enter, nu bör det se ut som raden nedan.
pi@raspberrypi:~/domoticz/scripts $
skriv nano JSonIAC.php och tryck enter.
Nu kommer du in i en enkel texteditor. I den navigerar du med piltangenterna.
Kopiera skriptet det börja med <?php och ta med allt ner till ?>
Klistra in texten i putty genom att ställa markören högst upp där du vill ha första tecknet, högerklicka sedan så klistras texten in.

<?php
$dataManagerIP = "192.168.1.39";
$domoticzIp = "192.168.1.41"; //Jag förutsätter port 8080
$IACid ="679"; //Domotics ID för IAC

// Inverter URL (allt på samma rad)
$inverterDataURL = "http://".$dataManagerIP."/solar_api/v1/GetInverterRealtimeData.cgi?Scope=Device&DeviceID=1&DataCollection=CommonInverterData";
//Till hit.

//Hämta IAC
//sleep(5);
//äs in json filen från invertern
$inverterJSON = file_get_contents($inverterDataURL);
//Gör om den så php förstår att det är json
$inverterData = json_decode($inverterJSON, true);
//Hämta intressant värde, du känner igen taggarna inom ["Tagg"] om du tittar direkt i filen
$inverterProduction = $inverterData["Body"]["Data"]["IAC"]["Value"];

// ta bort kommentarerna om du har problem med null värden i Domotics.
//if ($inverterPoduction == null) {
//  $inverterProduction = 0;
//}

//Spara till domoticz
//Solcels produktionen
//Se till att allt ligger på samma rad och ta bort mellanslag mellan & param.
    $result = file_get_contents("http://" .$domoticzIp. ":8080/json.htm?type=command& param=udevice&idx=" .$IACid. "&nvalue=0&svalue=".$inverterProduction);
//Ner hit

//Om det blir fel så ta bort // på nästa rad så får du en utskrift på skärmen, ge den till mig.
//Även den här raden ska vara på samma rad. och & param ska vara ihop
//echo ("http://" .$domoticzIp. ":8080/json.htm?type=command& param=udevice&idx=" .$IACid. "&nvalue=0&svalue=".$inverterProduction");
//Till hit
?>

Avsluta genom att trycka CTRL+X samtidigt och svara Ja att du vill spara.
Prova att det fungere.
skriv
php JSonIAC.php
Det är viktigt med stor och liten bokstav.
Kontrollera om din sensor uppdateras. Fungerar det inte, så ta bort // framför raden med echo och kör php JSonIAC.php igen, nu skriver den ut en rad, klistra in den raden här, så kikar jag på den. För att kopiera en rad i putty, så markerar du den bara med musen.
Får du något felmeddelande utskrivet? Klistra in det här också.
Fungerar det inte så logga bara ut igen genom att skriva exit.

Om det fungerar så automatiserar vi körningen med hjälp av crontab. Skriv då
crontab -e
Nu får du fram en lista med kommandon som körs i tidsintervall, vi vill köra den här var 5e minut så gå längst ner i filen, tryck på pil ner till du kommer dit (det går inte att markera med ex musen), lägg in den här raden där
*/5    *       *       *       *       php -f /home/pi/domoticz/scripts/JSonIAC.php >/dev/null 2>&1
Avsluta även den här editorn med CTRL+X och svara ja på om du vill spara.

Om allt nu gått som det ska och alla tecken har hamnat rätt, så ska den uppdatera IAC var 5e minut. Gör den inte det, så är det något mindre fel som vi säkert kan hitta. Fungerar det inte så kör crontab -e igen och sätt ett # först på den nya raden (då blir det en kommentar och körs inte), så slipper du belasta pi:en mer än nödvändigt.

Om du inte har bytt lösenord och din pi på något sätt är åtkomlig från nätet, så passa på att göra det nu.
Skriv passwd och följ prompterna (eg skriv in nuvarande lösenord och sedan det nya och repetera det nya, Linux skriver inte ut lösenord så det syns ingenting när du skriver).

Logga ut från pi genom att skriva exit.

När du fått till det här att fungera så kan vi fixa per fas. Men en sak åt gången :-)

Har du inte använt SSH så har du förmodligen inte uppdaterat pi:en på ett tag heller?
Använd de här kommandona för att ladda ner det senaste. Det tar en stund att göra, så gör klar det andra först.
Börja med
sudo apt-get update
sedan
sudo apt-get upgrade
Klart.
6,0kWp: 8st JA-Solar 290W + 13st JA-Solar 285W. Fronius Symo 5.0-3-M + Smart Meter 63A-3, montage system Renusol Metasol+.
Taklutning 45°. Azimut 190° Ort Kiruna.
Produktionsdata: PVOutput
Svara | Threaded
Open this post in threaded view
|

Re: Avläsa Fronius Json till Domoticz hjälp

Davil
Stort tack!!

Men tyvärr verkar jag helt hopplös!

Jag har gjort fram till testkörningen och det vill inte hitta när jag testar php JSonIAC.php
Så här ser det ut via putty:

pi@raspberrypi:~ $ cd domoticz/scripts
pi@raspberrypi:~/domoticz/scripts $ dir
buienradar_rain_example.pl  dzVents           lua          restart_domoticz
_domoticz_main              JSonIAC.php       lua_parsers  templates
_domoticz_main.bat          JSonIAC.php.save  python       update_domoticz
download_update.sh          logrotate         readme.txt
pi@raspberrypi:~/domoticz/scripts $ php JSonIAC.php
-bash: php: command not found
pi@raspberrypi:~/domoticz/scripts $


och hur det ser ut i den där texteditorn ser du på bifogad bild

suck.
Fronius Symo 17,5. Fronius Smartmeter. 18,24kW. 32 x 32st JA-Solar 285w paneler 20Gr lutning riktning Öst/Väst i Glanshammar Närke.
https://www.solarweb.com/Home/GuestLogOn?pvSystemid=26a3723a-9023-45ae-9816-b3d81c12c592 
Svara | Threaded
Open this post in threaded view
|

Re: Avläsa Fronius Json till Domoticz hjälp

TommyE
Nu är det nära. Du har inte php installerat.
Logga in med putty igen och installera genom att skriva
sudo apt-get install php5
Det spelar ingen roll vilken mapp du står i när du skriver det.
6,0kWp: 8st JA-Solar 290W + 13st JA-Solar 285W. Fronius Symo 5.0-3-M + Smart Meter 63A-3, montage system Renusol Metasol+.
Taklutning 45°. Azimut 190° Ort Kiruna.
Produktionsdata: PVOutput
Svara | Threaded
Open this post in threaded view
|

Re: Avläsa Fronius Json till Domoticz hjälp

Davil
Aha! Ok!

Efter att ha installerat php får jag följade:


pi@raspberrypi:~ $ cd domoticz/scripts
pi@raspberrypi:~/domoticz/scripts $ php JSonIAC.php
PHP Warning:  file_get_contents(http://192.168.1.41:8080/json.htm?type=command¶m=udevice&idx=679&nvalue=0&svalue=4.87): failed to open stream: HTTP request failed! HTTP/1.1 401 Unauthorized
 in /home/pi/domoticz/scripts/JSonIAC.php on line 26

Fronius Symo 17,5. Fronius Smartmeter. 18,24kW. 32 x 32st JA-Solar 285w paneler 20Gr lutning riktning Öst/Väst i Glanshammar Närke.
https://www.solarweb.com/Home/GuestLogOn?pvSystemid=26a3723a-9023-45ae-9816-b3d81c12c592 
Svara | Threaded
Open this post in threaded view
|

Re: Avläsa Fronius Json till Domoticz hjälp

TommyE
Jäklar, Domoticz går in och kontrollerar att du är inloggad (tror jag).
Nästa knep är att flytta skriptet, sätt det direkt i hemkatalogen.
cd domotics/scripts
mv JSonIAC.php ../../
cd
php JSonIAC.php


Om det inte heller fungerar så kanske du behöver apache webbservern också?
sudo apt-get install apache

Funkar det så måste du även ändra sökvägen i crontab
6,0kWp: 8st JA-Solar 290W + 13st JA-Solar 285W. Fronius Symo 5.0-3-M + Smart Meter 63A-3, montage system Renusol Metasol+.
Taklutning 45°. Azimut 190° Ort Kiruna.
Produktionsdata: PVOutput
Svara | Threaded
Open this post in threaded view
|

Re: Avläsa Fronius Json till Domoticz hjälp

Davil
In reply to this post by Davil
Nu gjorde jag om och efter att ha tagit bort // framför echo står följande:

pi@raspberrypi:~/domoticz/scripts $ php JSonIAC.php
PHP Parse error:  syntax error, unexpected '"' in /home/pi/domoticz/scripts/JSonIAC.php on line 31
Fronius Symo 17,5. Fronius Smartmeter. 18,24kW. 32 x 32st JA-Solar 285w paneler 20Gr lutning riktning Öst/Väst i Glanshammar Närke.
https://www.solarweb.com/Home/GuestLogOn?pvSystemid=26a3723a-9023-45ae-9816-b3d81c12c592 
Svara | Threaded
Open this post in threaded view
|

Re: Avläsa Fronius Json till Domoticz hjälp

Davil
In reply to this post by TommyE
oj jag svarade innan jag såg detta svaret av dig. Ska se trixa vidare :)
Fronius Symo 17,5. Fronius Smartmeter. 18,24kW. 32 x 32st JA-Solar 285w paneler 20Gr lutning riktning Öst/Väst i Glanshammar Närke.
https://www.solarweb.com/Home/GuestLogOn?pvSystemid=26a3723a-9023-45ae-9816-b3d81c12c592 
Svara | Threaded
Open this post in threaded view
|

Re: Avläsa Fronius Json till Domoticz hjälp

TommyE
In reply to this post by Davil
Jo det blev en liten typo på den raden. Nästan sist på raden har vi ett " som inte ska vara där.
6,0kWp: 8st JA-Solar 290W + 13st JA-Solar 285W. Fronius Symo 5.0-3-M + Smart Meter 63A-3, montage system Renusol Metasol+.
Taklutning 45°. Azimut 190° Ort Kiruna.
Produktionsdata: PVOutput
Svara | Threaded
Open this post in threaded view
|

Re: Avläsa Fronius Json till Domoticz hjälp

Davil
Hm. Lite av Grekiska för mig men följande hände:

pi@raspberrypi:~ $ cd domoticz/scripts
pi@raspberrypi:~/domoticz/scripts $ mv JSonIAC.php ../../
pi@raspberrypi:~/domoticz/scripts $ cd
pi@raspberrypi:~ $ php JSonIAC.php

PHP Warning:  file_get_contents(http://192.168.1.41:8080/json.htm?type=command&p                                                                                        aram=udevice&idx=679&nvalue=0&svalue=0.89): failed to open stream: HTTP request                                                                                         failed! HTTP/1.1 401 Unauthorized
 in /home/pi/JSonIAC.php on line 27
pi@raspberrypi:~ $ ^C
pi@raspberrypi:~ $ sudo apt-get install apache
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package apache is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'apache' has no installation candidate
pi@raspberrypi:~ $
Fronius Symo 17,5. Fronius Smartmeter. 18,24kW. 32 x 32st JA-Solar 285w paneler 20Gr lutning riktning Öst/Väst i Glanshammar Närke.
https://www.solarweb.com/Home/GuestLogOn?pvSystemid=26a3723a-9023-45ae-9816-b3d81c12c592 
Svara | Threaded
Open this post in threaded view
|

Re: Avläsa Fronius Json till Domoticz hjälp

TommyE
Konstigt, jag tycker att php borde få öppna länken....
Kan du öppna länken i din Chrome eller explorer?

sudo apt-get install apache2
Missade tvåan på slutet - förlåt.
Hoppas att du inte får
apache2 är redan den senaste versionen.
apache2 är satt till manuellt installerad.
6,0kWp: 8st JA-Solar 290W + 13st JA-Solar 285W. Fronius Symo 5.0-3-M + Smart Meter 63A-3, montage system Renusol Metasol+.
Taklutning 45°. Azimut 190° Ort Kiruna.
Produktionsdata: PVOutput
Svara | Threaded
Open this post in threaded view
|

Re: Avläsa Fronius Json till Domoticz hjälp

Davil
Meeen vad tusan är detta haha...

http://192.168.1.41:8080/json.htm?type=command¶m=udevice&idx=679&nvalue=0&svalue=0.89
När jag surfar in på länen så uppdateras sensorn!!

Tyvärr hade jag tydligen senaste versionen av apache2.
Fronius Symo 17,5. Fronius Smartmeter. 18,24kW. 32 x 32st JA-Solar 285w paneler 20Gr lutning riktning Öst/Väst i Glanshammar Närke.
https://www.solarweb.com/Home/GuestLogOn?pvSystemid=26a3723a-9023-45ae-9816-b3d81c12c592 
Svara | Threaded
Open this post in threaded view
|

Re: Avläsa Fronius Json till Domoticz hjälp

TommyE
Hmm, jag återkommer i morgon, måste ta en funderare - vad har jag gjort som du inte gjort? Datorer är mysko
6,0kWp: 8st JA-Solar 290W + 13st JA-Solar 285W. Fronius Symo 5.0-3-M + Smart Meter 63A-3, montage system Renusol Metasol+.
Taklutning 45°. Azimut 190° Ort Kiruna.
Produktionsdata: PVOutput
Svara | Threaded
Open this post in threaded view
|

Re: Avläsa Fronius Json till Domoticz hjälp

Davil
In reply to this post by Davil
Hmm. Flytten gick bra iaf

pi@raspberrypi:~/domoticz/scripts $ cd
pi@raspberrypi:~ $ dir
domoticz  JSonIAC.php  open-zwave-read-only  rpi-clone
pi@raspberrypi:~ $ php JSonIAC.php

PHP Warning:  file_get_contents(http://192.168.1.41:8080/json.htm?type=command¶m=udevice&idx=679&nvalue=0&svalue=0.42): failed to open stream: HTTP request failed! HTTP/1.1 401 Unauthorized
 in /home/pi/JSonIAC.php on line 27
pi@raspberrypi:~ $
Fronius Symo 17,5. Fronius Smartmeter. 18,24kW. 32 x 32st JA-Solar 285w paneler 20Gr lutning riktning Öst/Väst i Glanshammar Närke.
https://www.solarweb.com/Home/GuestLogOn?pvSystemid=26a3723a-9023-45ae-9816-b3d81c12c592 
12345