Ik zit met het volgende ik heb een apparaat in het huis met een aantal relais nou kan ik die gewoon netjes via html schakelen maar voor mijn domotica systeem wil ik de status uitlezen. Nou kan ik er prima RSS mee uitlezen maar het probleem is dat er geen guid kenmerk in de xml output zit.
De output is als volgt
Domotica leest dus 1malig de file en ook al veranderen de relay waardes veranderd de weergegeven status niet, wat dus door die guid zou moeten komen.
Om van dat probleem af te komen wou ik dus de data ophalen met een vb.net script om deze daarna via een php get naar een database te laden. Via die zelfde pagina eigenlijk weer de output naar buiten sturen maar dan met een guid in de xml output.
Dat gedeelte van de database en php is al gereed alleen ik loop vast op het .net script
(heb er ook vrij weinig/ geen ervaring mee
Als .net script had ik het volgende:
Regel 10 en 13 zijn puur voor logboek vermelding en niet belangrijk (werken nu ook niet goed omdat het geen string is
)
Regel 9 geeft hier zover ik kan beoordelen het probleem en wat ik via google terug vind is dat wel op te lossen door het volgende stukje code
Maar waar en hoe zet ik dat ertussen
De output is als volgt
XML:
1
2
3
4
5
6
7
8
9
10
11
| <response> <relay0>0</relay0> <relay1>1</relay1> <relay2>1</relay2> <relay3>0</relay3> <relay4>1</relay4> <relay5>0</relay5> <relay6>0</relay6> <relay7>0</relay7> <volts>12</volts> </response> |
Domotica leest dus 1malig de file en ook al veranderen de relay waardes veranderd de weergegeven status niet, wat dus door die guid zou moeten komen.
Om van dat probleem af te komen wou ik dus de data ophalen met een vb.net script om deze daarna via een php get naar een database te laden. Via die zelfde pagina eigenlijk weer de output naar buiten sturen maar dan met een guid in de xml output.
Dat gedeelte van de database en php is al gereed alleen ik loop vast op het .net script
Als .net script had ik het volgende:
Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| Imports System.IO Imports System.Net Imports System.Text sub Main(parm as object) Dim myClient As WebClient = New WebClient() Dim ETH008data As Stream = myClient.OpenRead("http://192.168.1.45/status.xml") Dim ETH008data2 AS String = ETH008data.Replace(vbCr, "").Replace(vbLf, "") hs.WriteLog("ETH008 xml gelezen:",ETH008data) DIM response As Stream = myClient.OpenRead("http://www.ikke.nl/status.php?status=" + ETH008data2) response.Close() hs.WriteLog("ETH008 xml weggeschreven:",ETH008data2) End Sub |
Regel 10 en 13 zijn puur voor logboek vermelding en niet belangrijk (werken nu ook niet goed omdat het geen string is
Regel 9 geeft hier zover ik kan beoordelen het probleem en wat ik via google terug vind is dat wel op te lossen door het volgende stukje code
Visual Basic:
1
2
3
4
5
| using (var reader = new StreamReader(ETH008data, Encoding.UTF8)) { string value = reader.ReadToEnd(); // Do something with the value } |
Maar waar en hoe zet ik dat ertussen
Taal fouten inbegrepen ;)
Mijn AI Art YouTube kanaal