Cookies op Tweakers

Tweakers is onderdeel van DPG Media en maakt gebruik van cookies, JavaScript en vergelijkbare technologie om je onder andere een optimale gebruikerservaring te bieden. Ook kan Tweakers hierdoor het gedrag van bezoekers vastleggen en analyseren. Door gebruik te maken van deze website, of door op 'Cookies accepteren' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt? Bekijk dan ons cookiebeleid.

Meer informatie

Acties:
  • 0Henk 'm!

  • jmeinders
  • Registratie: december 2012
  • Laatst online: 13-04 20:05

jmeinders

www.jmeinders.nl

@Willie Wortel
PinOnWrite geprogrammeerd deze werkt nu ook. Als de ingestelde wattage wordt overschreden dan gaat de PinOnWrite led continu branden. Als de wattage niet wordt overschreden iedere 10 sec een puls.

Mijn UART zoeken in browser doet het ook, firefox laat het inderdaad niet zien en met Microsoft Edge wel.
All Visible UARTS
0 - \\?\ACPI#BCM2836#0#{86e0d1e0-8089-11d0-9ce4-08003e301f73}
1 - \\?\USB#VID_10C4&PID_EA60#0001#{86e0d1e0-8089-11d0-9ce4-08003e301f73}

PZEM alarm programmeren gaat met [IP]/SetPowerAlarmPZEM: CommPort : SlaveAddress : WATTS.
Is het ook mogelijk om de PZEM alarm in het dalng menu (PZEM) te programmeren, dat je alleen de wattage hoeft in te vullen?

Omnik 3.0 15 Eging panelen 195wp

Je bedoelt dit:




De iedere 10 secs een puls is afhankelijk van de refresh interval.

Als het PowerAlarm wordt overschreden kan met NOW gekeken worden naar de "Alarm" waarde. Ik heb het nog niet kunnen testen.

zal een update maken

[Voor 43% gewijzigd door Willie Wortel op 02-03-2020 09:18]


  • jmeinders
  • Registratie: december 2012
  • Laatst online: 13-04 20:05

jmeinders

www.jmeinders.nl

Ja dat bedoelde ik.

Inderdaad is afhankelijk van je refresh interval.

Omnik 3.0 15 Eging panelen 195wp


  • jmeinders
  • Registratie: december 2012
  • Laatst online: 13-04 20:05

jmeinders

www.jmeinders.nl

@Willie Wortel
Ik kan mijn container niet laden.
Deploy gaat goed.

1>------ Deploy started: Project: DaL_NG, Configuration: Debug ARM ------
Creating a new clean layout...
Copying files: Total 27 mb to layout...
Checking whether required frameworks are installed...
Registering the application to run from layout...
Deployment complete (0:00:26,6). Full package name: "DaL-uwp_3.0.0.0_arm__prq6phnr434a8"
========== Deploy: 1 succeeded, 0 failed, 0 skipped ==========

Krijg telkens deze foutmelding.


Wanneer ik de vorige versie (3.0) terug zet gaat het in een keer goed, meerdere malen geprobeerd en op gestart.
In Windows iot core dashboard staat dal ook aan.

https://tweakers.net/i/ZxTbV7hJuxf7GngXuTeEu_TBudU=/800x/f/image/usBl8VojrnWE1MHgPuEDM2kR.png?f=fotoalbum_large

Omnik 3.0 15 Eging panelen 195wp

@jmeinders dit is vrijwel altijd het gevolg dat de Port instellingen niet overeen komen.
Ik zie je voorbeeld en je geeft port 65333 in. Kijk ik in de source code dan zie ik port 65233



Ik heb zelf meerdere Rasps draaien en voor het testen gebruik ik een andere port 65233 dus. Dit is mijn fout, had dit moeten veranderen alvorens de code vrij te geven.

Hoe kun je dit veranderen?, eenvoudig... ga naar map Properties, StartupJSON_properties en verander het port nummer.
Dit is natuurlijk ook van toepassing op anderen die de update hebben ontvangen.

Ik probeer altijd alles zo eenvoudig mogelijk te maken, het leven is al complex genoeg.
Bij het opstarten komt alle essentiële info in het immediate venster.


Nu heb ik het handmatig veranderd:


en de uitkomst na deployen zichtbaar in het venster

[Voor 12% gewijzigd door Willie Wortel op 04-03-2020 08:39]


  • jmeinders
  • Registratie: december 2012
  • Laatst online: 13-04 20:05

jmeinders

www.jmeinders.nl

@Willie Wortel
Poort nummer aangepast en werkt in een keer.
Power alarm Watts werkt ook goed, het is wel handiger om het op deze manier in te stellen.
Nog bedankt voor je ondersteuning.

Omnik 3.0 15 Eging panelen 195wp


  • klump4u
  • Registratie: februari 2008
  • Niet online
@Willie Wortel
De nieuwe moet met visual studio 2019? kan de oude versie ook met 2019 of alleen met 2017

3020wp-ZW Live 1960wp-ZZW Live Altantic Explorer 270 Live

klump4u schreef op woensdag 4 maart 2020 @ 19:51:
@Willie Wortel
De nieuwe moet met visual studio 2019? kan de oude versie ook met 2019 of alleen met 2017
klump, met vs 2017. Voor 2019 moet er nog heel wat worden aangepast.

  • klump4u
  • Registratie: februari 2008
  • Niet online
Willie Wortel schreef op woensdag 4 maart 2020 @ 20:20:
[...]

klump, met vs 2017. Voor 2019 moet er nog heel wat worden aangepast.
Ok, kan ik die download en installatie van een uur afbreken.👍🏻

3020wp-ZW Live 1960wp-ZZW Live Altantic Explorer 270 Live


  • klump4u
  • Registratie: februari 2008
  • Niet online
Heb de 3.0 erop gezet, ben benieuwd of het nu beter gaat met de P1 poort.

3020wp-ZW Live 1960wp-ZZW Live Altantic Explorer 270 Live


  • jmeinders
  • Registratie: december 2012
  • Laatst online: 13-04 20:05

jmeinders

www.jmeinders.nl

klump4u schreef op donderdag 5 maart 2020 @ 20:10:
Heb de 3.0 erop gezet, ben benieuwd of het nu beter gaat met de P1 poort.
@klump4u
Heb jij ook voltage fase 1 2 en 3 als je de commando NOW geeft ? Bij mij zie ik niets.
Kan wel in dashboard designer voltage fase 1 2 en 3 selecteren maar er komt geen waarde uit.
En wat voor slimme meter had je ook al weer, die van mij is iskra AM550 3fase

Omnik 3.0 15 Eging panelen 195wp


  • klump4u
  • Registratie: februari 2008
  • Niet online
@jmeinders
Ik heb een Sagemcom 3 fase meter, dit is het commando now,

Geen voltage inderdaad maar nou weet ik niet of dat bij de vorige versie wel was, moet ik even opzoeken maar ik kan nu niet op de pc en moet zo naar het werk, laat het gauw weten.

Edit,
Bij de vorige versie geen voltage.

[Voor 4% gewijzigd door klump4u op 07-03-2020 22:14]

3020wp-ZW Live 1960wp-ZZW Live Altantic Explorer 270 Live


Acties:
  • 0Henk 'm!

  • jmeinders
  • Registratie: december 2012
  • Laatst online: 13-04 20:05

jmeinders

www.jmeinders.nl

klump4u
Dankjewel, dacht dat het aan mij slimme meter lag.

Omnik 3.0 15 Eging panelen 195wp

klump4u schreef op vrijdag 6 maart 2020 @ 20:41:
@jmeinders
Ik heb een Sagemcom 3 fase meter, dit is het commando now,
[Afbeelding]
Geen voltage inderdaad maar nou weet ik niet of dat bij de vorige versie wel was, moet ik even opzoeken maar ik kan nu niet op de pc en moet zo naar het werk, laat het gauw weten.

Edit,
Bij de vorige versie geen voltage.
Ik ben niet thuis.

@klump4u ik ben niet thuis. Als je voltage op 0 blijft dan zal de scheidingstekens niet juist zijn. Je weet wel, de pre en post van de slimme meter voltage, jij moet nl wel de voltage kunnen zien. Hoe staat het met vastlopen? Ben benieuwd.

  • klump4u
  • Registratie: februari 2008
  • Niet online
Willie Wortel schreef op donderdag 12 maart 2020 @ 11:37:
[...]

Ik ben niet thuis.

@klump4u ik ben niet thuis. Als je voltage op 0 blijft dan zal de scheidingstekens niet juist zijn. Je weet wel, de pre en post van de slimme meter voltage, jij moet nl wel de voltage kunnen zien. Hoe staat het met vastlopen? Ben benieuwd.
Vastgelopen nog niet maar de software heeft zichzelf de afgelopen week al wel 2 keer gereset, hoe dat kan weet ik ook niet.

3020wp-ZW Live 1960wp-ZZW Live Altantic Explorer 270 Live

klump4u schreef op donderdag 12 maart 2020 @ 13:18:
[...]

Vastgelopen nog niet maar de software heeft zichzelf de afgelopen week al wel 2 keer gereset, hoe dat kan weet ik ook niet.
De reset kan zijn dat Microsoft een nieuwe core versie op je Raspberry zet, er was nl een nieuwe versie uit. De reset zelf had ik eruit gehaald zoals je gezien had.
Je kan je voltage ook zien als je met de designer een voltage meter maakt.
Als ik terug ben zal ik ernaar kijken. Het voltage werkt alleen met 5.0 meters.

  • klump4u
  • Registratie: februari 2008
  • Niet online
Willie Wortel schreef op zondag 15 maart 2020 @ 11:06:
[...]

De reset kan zijn dat Microsoft een nieuwe core versie op je Raspberry zet, er was nl een nieuwe versie uit. De reset zelf had ik eruit gehaald zoals je gezien had.
Je kan je voltage ook zien als je met de designer een voltage meter maakt.
Als ik terug ben zal ik ernaar kijken. Het voltage werkt alleen met 5.0 meters.
Als ik het terugkijk is het inderdaad een update van Microsoft geweest dus die uitgezet(als dat nog werkt?)
Voltage de pre en post fix nagekeken maar ik krijg geen voltage in de now pagina en ook niet in de dashboarddesigner.

3020wp-ZW Live 1960wp-ZZW Live Altantic Explorer 270 Live


  • jmeinders
  • Registratie: december 2012
  • Laatst online: 13-04 20:05

jmeinders

www.jmeinders.nl

Klopt komt inderdaad geen voltage, je kunt wel meters aanmaken in dashboard designer maar je ziet geen voltage waarden.

Omnik 3.0 15 Eging panelen 195wp


  • klump4u
  • Registratie: februari 2008
  • Niet online
Vanmiddag een reboot, een foutmelding in de error map,
P1poort.
@jmeinders bij jou nog niet natuurlijk ;) , heb je ok de updates uit staan?
code:
1
2
3
4
5
6
7
8
9
DateTime: Tuesday, 17 Mar 2020 - 13:45:53
Detail: error in P1 loop
Message: No mapping for the Unicode character exists in the target multi-byte code page.

No mapping for the Unicode character exists in the target multi-byte code page.

Stack:    at Windows.Storage.Streams.DataReader.ReadString(UInt32 codeUnitCount)
   at StartupDaL.ReadSerialP1poort.VB$StateMachine_5_readOutP1port.MoveNext()
Type: System.ArgumentOutOfRangeException

3020wp-ZW Live 1960wp-ZZW Live Altantic Explorer 270 Live


  • jmeinders
  • Registratie: december 2012
  • Laatst online: 13-04 20:05

jmeinders

www.jmeinders.nl

klump4u schreef op dinsdag 17 maart 2020 @ 19:19:
Vanmiddag een reboot, een foutmelding in de error map,
P1poort.
@jmeinders bij jou nog niet natuurlijk ;) , heb je ok de updates uit staan?
code:
1
2
3
4
5
6
7
8
9
DateTime: Tuesday, 17 Mar 2020 - 13:45:53
Detail: error in P1 loop
Message: No mapping for the Unicode character exists in the target multi-byte code page.

No mapping for the Unicode character exists in the target multi-byte code page.

Stack:    at Windows.Storage.Streams.DataReader.ReadString(UInt32 codeUnitCount)
   at StartupDaL.ReadSerialP1poort.VB$StateMachine_5_readOutP1port.MoveNext()
Type: System.ArgumentOutOfRangeException
Nee nog niet draait nu 17 dagen onafgebroken. Bij de vorige versie was het zeker binnen 14 dagen een error in p1 loop, en na opnieuw opstarten ging het plus/min 14 dagen goed. De puls p1 komt nu iedere 7 sec bij mij binnen, daarvoor iedere seconde. En de update staat bij mij ook uit. Als het nu nog een week goed gaat dan heb ik er wel vertrouwen in.

Omnik 3.0 15 Eging panelen 195wp

Ik heb even nagekeken, er stond idd geen voltage in de now pagina. (nu wel). Echter je kan met de designer een widget aanmaken met de fasevoltage as stream.
Je kan ook altijd met de HTML pagina "livedata" even je systeem monitoren. (een ondergeschoven kindje)
Uiteraard is alleen het voltage te monitoren met een 5.0 of later slimme meter. Dus die van mij (4.2) doet dat niet. Wil je het voltage monitoren zonder slimme meter data is een PZEM module een oplossing.

  • klump4u
  • Registratie: februari 2008
  • Niet online
Willie Wortel schreef op zondag 22 maart 2020 @ 10:33:
Ik heb even nagekeken, er stond idd geen voltage in de now pagina. (nu wel). Echter je kan met de designer een widget aanmaken met de fasevoltage as stream.
Je kan ook altijd met de HTML pagina "livedata" even je systeem monitoren. (een ondergeschoven kindje)
Uiteraard is alleen het voltage te monitoren met een 5.0 of later slimme meter. Dus die van mij (4.2) doet dat niet. Wil je het voltage monitoren zonder slimme meter data is een PZEM module een oplossing.
Ik heb dit in de dashboard designer geprobeerd, kan voltage van de fase kiezen maar op de webpagina dan geen gegevens.
edit, in de livedata pagina wel te zien.

3020wp-ZW Live 1960wp-ZZW Live Altantic Explorer 270 Live


  • klump4u
  • Registratie: februari 2008
  • Niet online
@jmeinders wordt bij jou de gas stand ook niet bijgewerkt nu na de ingang van zomertijd? had je al eens gemeld dacht ik?

3020wp-ZW Live 1960wp-ZZW Live Altantic Explorer 270 Live


  • jmeinders
  • Registratie: december 2012
  • Laatst online: 13-04 20:05

jmeinders

www.jmeinders.nl

klump4u schreef op zondag 29 maart 2020 @ 09:42:
@jmeinders wordt bij jou de gas stand ook niet bijgewerkt nu na de ingang van zomertijd? had je al eens gemeld dacht ik?
Inderdaad ik had het al een keer gemeld, bij mij ook niet op zomertijd S)( handmatig veranderd. Ik had begrepen dat het nu aangepast is in deze versie.

P.S. Ik heb nog geen foutmelding of weigering in de p1 poort gehad sinds nieuwe software.

Omnik 3.0 15 Eging panelen 195wp

Het gas bijwerken zomer/wintertijd is er uitgehaald sinds de nieuwe driver, om de programma code zo zuiver mogelijk te houden en oorzaken te achterhalen maar gaat er weer in. Zal asap een nieuwe versie geven.

NB dat DaL een foutmelding in een loop geeft hoeft niet fataal te zijn voor het loggen in het algemeen. Als het programma daarna door hobbelt is toch goed. Even afkloppen maar DaL draait bij mij al jaren door zonder vastloper. Ik stop de software af en toe voor een update maar dat is het wel, daarnaast draait DaL bij mij meer dan 100 ! taken simultaan, heb ik nog nooit enig ander logging programma zien doen.
Ik heb een nieuw speeltje geprogrammeerd, de ESP866 icm een slimme meter.
in het kort how to: programmeer de ESP met het meegeleverde progje, geef je SSID en password in en flash het naar de ESP.

[Voor 79% gewijzigd door Willie Wortel op 18-05-2020 09:49]


  • klump4u
  • Registratie: februari 2008
  • Niet online
Willie Wortel schreef op woensdag 22 april 2020 @ 09:44:
Ik heb een nieuw speeltje geprogrammeerd, de ESP8622 icm een slimme meter.
in het kort how to: programmeer de ESP met het meegeleverde progje, geef je SSID en password in en flash het naar de ESP.

Verder gaat alles automatisch, DaL programmeert de ESP als deze gevonden wordt op het netwerk.


Ga naar je options HTML en vul in:
[Afbeelding]

voorlopig alleen deze 3:
[Afbeelding]

Nu alles netjes in DaL programmeren.
Mooi, de DS18b20 draait geweldig op de esp.

3020wp-ZW Live 1960wp-ZZW Live Altantic Explorer 270 Live

klump4u schreef op woensdag 22 april 2020 @ 14:21:
[...]

Mooi, de DS18b20 draait geweldig op de esp.
Klump,... De slimme meter ook. :) Heb jij daar toevallig ook code van, aansluitschema etc? Ik sloop overal alle code uit, scheelt mij tijd, alle code is welkom.

  • klump4u
  • Registratie: februari 2008
  • Niet online
Willie Wortel schreef op woensdag 22 april 2020 @ 14:33:
[...]

Klump,... De slimme meter ook. :) Heb jij daar toevallig ook code van, aansluitschema etc? Ik sloop overal alle code uit, scheelt mij tijd, alle code is welkom.
Ik draai ze via Espeasy en espmega.

3020wp-ZW Live 1960wp-ZZW Live Altantic Explorer 270 Live

klump4u schreef op woensdag 22 april 2020 @ 15:25:
[...]

Ik draai ze via Espeasy en espmega.
Ja, dat had ik al voorbij zien komen. Ik wil het zo simpel mogelijk houden, voor mezelf en voor anderen. Voor je het weet heb je een hele kerstboom met allemaal toeters. :)
@klump4u heb jij de P1 + pulsemeter op 1 ESP aangesloten?

  • klump4u
  • Registratie: februari 2008
  • Niet online
Willie Wortel schreef op woensdag 29 april 2020 @ 10:52:
@klump4u heb jij de P1 + pulsemeter op 1 ESP aangesloten?
Nee dat heb ik niet, mijn P1 zit nu via de usb.

3020wp-ZW Live 1960wp-ZZW Live Altantic Explorer 270 Live


  • kaboutertjes
  • Registratie: augustus 2009
  • Laatst online: 07-06-2020
@Willie Wortel Ik heb de P1 + pulsmeter op een ESP aangesloten met de Mega software en dit werkt als een trein.
momenteel werk ik met de Release mega-20200426 maar de versie die eerder uitgebracht zijn werkt het ook goed.

Ik zou graag ook de nieuwe Dal software willen uitproberen want ik ben er een tijdje geleden ermee gestopt.
Helaas weet ik niet hoe ik hieraan kan komen om het weer op te pakken.

Acties:
  • 0Henk 'm!
@kaboutertjes De ESP software is nog niet klaar, die moet ik nog uittesten. De huidige DaL software, ik ben op het moment niet thuis om een kopie te draaien, misschien kan een andere tweaker je even verder helpen.

Acties:
  • 0Henk 'm!

  • klump4u
  • Registratie: februari 2008
  • Niet online
Willie Wortel schreef op zaterdag 2 mei 2020 @ 10:20:
@kaboutertjes De ESP software is nog niet klaar, die moet ik nog uittesten. De huidige DaL software, ik ben op het moment niet thuis om een kopie te draaien, misschien kan een andere tweaker je even verder helpen.
Ik zal hem sturen naar @kaboutertjes

3020wp-ZW Live 1960wp-ZZW Live Altantic Explorer 270 Live


Acties:
  • 0Henk 'm!

  • kaboutertjes
  • Registratie: augustus 2009
  • Laatst online: 07-06-2020
Bedankt hiervoor zal het zo spoedig mogelijk oppakken.

Acties:
  • +1Henk 'm!
Ik heb hier de .INO klaar voor de slimme meter ESP6288

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
#include <SoftwareSerial.h>
#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>


#ifndef DEBUG 
#define DEBUG 1 // set debug mode
#endif

// LEDsignal 2x = all oké.
// LEDsignal 4x = Received detected but no begin or end marker received.
// LEDsignal 6x = No received on gpio pin. 


const char* ssid = "HERE YOUR SSID";
const char* password = "HERE YOUR PASSWORD";

const int period = 9800;  // wait for next telegram

String thisTelegram = ""; // telegram text holder

const int Port = 80;  // port of the ESP6288

ESP8266WebServer server(Port);

SoftwareSerial mySerial; 


constexpr int BUFSIZE = 1024; 
char buffer[BUFSIZE];  

void readTelegram() {
    
    if (mySerial.available()) {

        int bufpos = 0;
        bool bStartMarker = false;
        bool bEndMarker = false;

        memset(buffer, 0, BUFSIZE);

        while (mySerial.available()) {

            char c = mySerial.read();

            if (c == '!') {
                bEndMarker = true;
            }
            if (c == '/') {
                bStartMarker = true;
            }
            if (bStartMarker) {
                buffer[bufpos++] = c;
            }
            if (bufpos == BUFSIZE) { //overflow detection
                break;
            }

            yield();
        }

        // for debug only
#if DEBUG
        Serial.println(String(buffer));
#endif

        if (bStartMarker && bEndMarker) {

            LEDsignal(2, 100, 30, "All Oké, Markers Detected");

            // CRC check in DaL
            // copy buffer in telegram to send to DaL 
            thisTelegram = String(buffer);
        }
        else {

            LEDsignal(4, 200, 30, "NO Markers Detected");
        }

        mySerial.flush();
    }
    else {
        LEDsignal(6, 400, 30, "No Signal Detected");
    }
}

void LEDsignal(int counter, int delayON, int delayOFF, char *message) {
    for (int i = 0; i < counter; i++)
    {
        digitalWrite(BUILTIN_LED, LOW);
        delay(delayON);
        digitalWrite(BUILTIN_LED, HIGH);
        delay(delayOFF);
#if DEBUG
        Serial.println(message);
#endif
    }
}



void setup(void) {
    
    //P1 smart meter
    mySerial.begin(115200, SWSERIAL_8N1, D5, -1, true, 1024, 0);

    pinMode(BUILTIN_LED, OUTPUT);
    digitalWrite(BUILTIN_LED, HIGH);
        

    WiFi.mode(WIFI_STA);
    WiFi.begin(ssid, password);

    Serial.begin(115200);
    Serial.println("");

    // Wait for connection
    while (WiFi.status() != WL_CONNECTED) {
        delay(500);
        Serial.print(".");
    }

#if DEBUG 
    
    Serial.println("");
    Serial.print("Connected to ");
    Serial.println(ssid);
    Serial.print("IP address: ");
    Serial.println(WiFi.localIP());
#endif
  
    server.on("/myTelegram&&&=", []() {
         server.send(200, "text/txt", thisTelegram);
        });

 server.on("/myTelegram", []() {
         server.send(200, "text/plain", thisTelegram);
        });
    
    server.begin();

#if DEBUG 
    Serial.println("HTTP server started");
#endif
}


unsigned long nowPlusPeriod = 0;

void loop(void) {

    if (millis() > nowPlusPeriod) { 
        
        // wait approx.[period] ms
        nowPlusPeriod = millis() + period;
        readTelegram();
    }

    server.handleClient();
}


En hier de HttpListener in DaL, zo simpel:
Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Private Async Function myHTTPlistener(ByVal Uri As String, ByVal Port As Integer, ByVal Command As String) As Task(Of String)
            Try
                Dim client As New Http.HttpClient

                Dim response As Http.HttpResponseMessage = Await client.GetAsync("http://" & Uri & ":" & Port.ToString & "/" & Command)
                response.EnsureSuccessStatusCode()

                Dim responseBody As String = Await response.Content.ReadAsStringAsync()

                Return responseBody

            Catch ex As Exception
                Debug.WriteLine("error in HTTP Listener with Uri: " & Uri)
            End Try

            Return ""
        End Function

[Voor 6% gewijzigd door Willie Wortel op 18-05-2020 09:45]


  • klump4u
  • Registratie: februari 2008
  • Niet online
Willie Wortel schreef op donderdag 7 mei 2020 @ 11:59:
Ik heb hier de .INO klaar voor de slimme meter ESP6288

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
#include <SoftwareSerial.h>
#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>


#ifndef DEBUG 
#define DEBUG 1 // set debug mode
#endif

// LEDsignal 2x = all oké.
// LEDsignal 4x = Received detected but no begin or end marker received.
// LEDsignal 6x = No received on gpio pin. 


const char* ssid = "HERE YOUR SSID";
const char* password = "HERE YOUR PASSWORD";

const int period = 9800;  // wait for next telegram

String thisTelegram = ""; // telegram text holder

const int Port = 80;  // port of the ESP6288

ESP8266WebServer server(Port);

SoftwareSerial mySerial; 


constexpr int BUFSIZE = 1024; 
char buffer[BUFSIZE];  

void readTelegram() {
    
    if (mySerial.available()) {

        int bufpos = 0;
        bool bStartMarker = false;
        bool bEndMarker = false;

        memset(buffer, 0, BUFSIZE);

        while (mySerial.available()) {

            char c = mySerial.read();

            if (c == '!') {
                bEndMarker = true;
            }
            if (c == '/') {
                bStartMarker = true;
            }
            if (bStartMarker) {
                buffer[bufpos++] = c;
            }
            if (bufpos == BUFSIZE) { //overflow detection
                break;
            }

            yield();
        }

        // for debug only
#if DEBUG
        Serial.println(String(buffer));
#endif

        if (bStartMarker && bEndMarker) {

            LEDsignal(2, 100, 30, "All Oké, Markers Detected");

            // CRC check in DaL
            // copy buffer in telegram to send to DaL 
            thisTelegram = String(buffer);
        }
        else {

            LEDsignal(4, 200, 30, "NO Markers Detected");
        }

        mySerial.flush();
    }
    else {
        LEDsignal(6, 400, 30, "No Signal Detected");
    }
}

void LEDsignal(int counter, int delayON, int delayOFF, char *message) {
    for (int i = 0; i < counter; i++)
    {
        digitalWrite(BUILTIN_LED, LOW);
        delay(delayON);
        digitalWrite(BUILTIN_LED, HIGH);
        delay(delayOFF);
#if DEBUG
        Serial.println(message);
#endif
    }
}



void setup(void) {
    
    //P1 smart meter
    mySerial.begin(115200, SWSERIAL_8N1, D5, -1, true, 1024, 0);

    pinMode(BUILTIN_LED, OUTPUT);
    digitalWrite(BUILTIN_LED, HIGH);
        

    WiFi.mode(WIFI_STA);
    WiFi.begin(ssid, password);

    Serial.begin(115200);
    Serial.println("");

    // Wait for connection
    while (WiFi.status() != WL_CONNECTED) {
        delay(500);
        Serial.print(".");
    }

#if DEBUG 
    
    Serial.println("");
    Serial.print("Connected to ");
    Serial.println(ssid);
    Serial.print("IP address: ");
    Serial.println(WiFi.localIP());
#endif
  
    server.on("/myTelegram", []() {
         server.send(200, "text/txt", thisTelegram);
        });
    
    server.begin();

#if DEBUG 
    Serial.println("HTTP server started");
#endif
}


unsigned long nowPlusPeriod = 0;

void loop(void) {

    if (millis() > nowPlusPeriod) { 
        
        // wait approx.[period] ms
        nowPlusPeriod = millis() + period;
        readTelegram();
    }

    server.handleClient();
}


En hier de HttpListener in DaL, zo simpel:
Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Private Async Function myHTTPlistener(ByVal Uri As String, ByVal Port As Integer, ByVal Command As String) As Task(Of String)
            Try
                Dim client As New Http.HttpClient

                Dim response As Http.HttpResponseMessage = Await client.GetAsync("http://" & Uri & ":" & Port.ToString & "/" & Command)
                response.EnsureSuccessStatusCode()

                Dim responseBody As String = Await response.Content.ReadAsStringAsync()

                Return responseBody

            Catch ex As Exception
                Debug.WriteLine("error in HTTP Listener with Uri: " & Uri)
            End Try

            Return ""
        End Function
Welke ESP heb je gebruikt? En welke software draait erop?

3020wp-ZW Live 1960wp-ZZW Live Altantic Explorer 270 Live


Acties:
  • 0Henk 'm!
Ik ben bezig met een WEMOS D1 mini ESP8266 kloon a 2 euro. Programmeren werkt simpel via een USB.
Sluit de esp pin D5 aan op je datadraad van je P1 met een pullup van 300 ohm (bij mij), dan kan je het telegram op je netwerk bekijken met IP/myTelegram

Maar wat bedoel precies je met welke software?
Uitleg en schema volgt.


https://tweakers.net/i/5XuIAQNETGSpZQSHquCQbrrhUDU=/800x/filters:strip_icc():strip_exif()/f/image/bKxASDJ6hPP02VX1v2JJemca.jpg?f=fotoalbum_large

[Voor 55% gewijzigd door Willie Wortel op 08-05-2020 10:40]


Acties:
  • 0Henk 'm!

  • klump4u
  • Registratie: februari 2008
  • Niet online
Willie Wortel schreef op vrijdag 8 mei 2020 @ 10:34:
Ik ben bezig met een WEMOS D1 mini ESP8266 kloon a 2 euro. Programmeren werkt simpel via een USB.
Sluit de esp pin D5 aan op je datadraad van je P1 met een pullup van 300 ohm (bij mij), dan kan je het telegram op je netwerk bekijken met IP/myTelegram

Maar wat bedoel precies je met welke software?
Uitleg en schema volgt.


[Afbeelding]
Ik draai op een Wemos de esp easy mega software van daaruit kun je middels een Rule de gegevens van een sensor doorsturen naar een ander device. Die Wemos kun je dan via een browser bedienen en commando’s ingeven. Hoef je misschien niets met die .ino te doen.

[Voor 3% gewijzigd door klump4u op 08-05-2020 15:29]

3020wp-ZW Live 1960wp-ZZW Live Altantic Explorer 270 Live


Acties:
  • +1Henk 'm!
Nee, de ESP gebruik ik als draadloze sensors (of hulpjes) voor DaL, niks meer en niks minder. Kijk men moet ook niet overdrijven over de mogelijkheden van een ESP, het is leuk voor een thuis hobby. De ESP wordt aangeroepen door DaL (dataRequest) om gegevens, verder moet ik een ESP zo dom mogelijk houden.

Kijk, nu in DaL kan ik dus iedere ESP en Raspberry uitlezen met deze code, in dit geval de slimme meter, ik ben van mening dat alles makkelijk te onderhouden moet zijn.:

Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Private Async Sub readOutP1External()

        Do While True

            WritePin(DaL.P1config.pinOnWrite, True)

            Dim response As String = Await myHTTPlistener(DaL.P1config.UriPort, "myTelegram")

            If response.Length > 0 Then
                DaL.strTelegram = response

                SmartMeter.ParseValues()

                Task.Delay(50).Wait()

                '* Every time the day will change, reset the historic vars  * 
                '* and start the new day with daily totals on zero.         * 
                isHistoric()

            End If

            WritePin(DaL.P1config.pinOnWrite, False)

            Task.Delay(7000).Wait()
        Loop

    End Sub


zo is de nieuwe ingave:


Als het IP is ingegeven wordt de UART genegeerd.
Visual Basic:
1
2
3
4
5
6
7
Public Sub New()
        If DaL.P1config.UriAndPort.Length > 0 Then
            _p1Task = New Task(AddressOf readOutP1External)
        Else
            _p1Task = New Task(AddressOf readOutP1UARTport)
        End If
End Sub

en om fouten te voorkomen wordt de UART comm port leeggemaakt indien IP is ingevuld:


Aansluitschema ESP8622:



C:
1
2
3
4
5
6
7
8
9
// Hier wordt de software geinitialiseerd met de juiste parameters.
    //Baudrate
    //DataBitsParityStopBit
    //GPIOPIN RX
    //GPIOPIN TX
    //INVERT data
    //BUFFER capacity 
    //BUFFER isrCapacity
myTelegramSerial.begin(115200, SWSERIAL_8N1, D5, -1, true, 1024, 0);


[Voor 99% gewijzigd door Willie Wortel op 11-05-2020 12:17]

De DS18B20 icm een ESP8266 in DaL software.

Te benaderen met een web browser:
[IP:port]/mytempsensors




Ik heb het maar uitgesplitst dan is alles wat overzichtelijker in gebruik.

interface


sensors


alle sketches voor de ESP 8266 staan in de web dir:




de sketch voor de ESP8266 icm met DaL software.
C++:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
//  [ip:port]/mytempsensors geeft alle gevonden DALLAS sensors retour in de webbrowser.
// aanroep van ESP8266 vanuit een webbrowser welke toegang heeft tot het netwerk.
// voorbeeld                 : 192.168.1.112:65444/mytempsensors
// voorbeeld (indien port=80): 192.168.1.112/mytempsensors

#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>
#include <OneWire.h>
#include <DallasTemperature.h>

#ifndef DEBUG 
#define DEBUG 1 // set debug mode
#endif

// Data wire is plugged into GPIO D5 on the ESP8266 WEMOS mini
#define ONE_WIRE_BUS D5

// Setup a oneWire instance to communicate with any OneWire devices (not just Maxim/Dallas temperature ICs)
OneWire oneWire(ONE_WIRE_BUS);

// Pass our oneWire reference to Dallas Temperature. 
DallasTemperature sensors(&oneWire);

// Dallas DS18B20 info temperature and ROMid text holder.
String thisDallasInfo = ""; 


// fill in your password and ssid.
const char* ssid = "SSID";
const char* password = "PASSWORD";

// port of the ESP8266
const int Port = 80;  

ESP8266WebServer server(Port);

void setup(void)
{
    // Start up the library
    sensors.begin();
      
    WiFi.mode(WIFI_STA);
    WiFi.begin(ssid, password);

    Serial.begin(115200);
    Serial.println("");

    // Wait for connection
    while (WiFi.status() != WL_CONNECTED) {
        delay(500);
        Serial.print(".");
    }

#if DEBUG 
    Serial.println("");
    Serial.print("Connected to ");
    Serial.println(ssid);
    Serial.print("IP address: ");
    Serial.println(WiFi.localIP());
#endif

    // this is for the DaL software listner
    server.on("/myDS18B20&&&=", []() {
        server.send(200, "text/txt", thisDallasInfo);
        });

    server.on("/mytempsensors", []() {
        server.send(200, "text/plain", thisDallasInfo);
        });

    server.begin();

#if DEBUG 
    Serial.println("HTTP server started");
#endif
}

// loop wait to get next DS18B20 info.
const int period = 9800;
unsigned long nowPlusPeriod = 0;

void loop(void) {

    if (millis() > nowPlusPeriod) {

        // wait approx.[period] ms
        nowPlusPeriod = millis() + period;
        storeDallasSensorsInfo();
    }
    server.handleClient();
}


// We'll use this variable to store a found device address
DeviceAddress tempDeviceAddress; 

void  storeDallasSensorsInfo(void) {

    // Grab a count of devices on the wire
    int numberOfDevices = sensors.getDeviceCount();

    sensors.requestTemperatures();

    String tmpSensorsInfo = "";

    for (int i = 0; i < numberOfDevices; i++)
    {
        if (sensors.getAddress(tempDeviceAddress, i)) {
            if (i > 0)  tmpSensorsInfo += '\n';

            for (uint8_t s = 0; s < 8; s++) {
                if (tempDeviceAddress[s] < 16) tmpSensorsInfo += "0";

                char hex[4];
                itoa(tempDeviceAddress[s], hex, 16);
                tmpSensorsInfo += hex;
            }

            float tempC = sensors.getTempC(tempDeviceAddress);

            tmpSensorsInfo += ";" + String(tempC);
        }
        else {
            tmpSensorsInfo += "Found ghost device; could not detect address. Check power and cabling\n";
        }
    }
    tmpSensorsInfo.toUpperCase();
    thisDallasInfo = tmpSensorsInfo;

#if DEBUG 
    Serial.println(thisDallasInfo);
#endif
}

[Voor 147% gewijzigd door Willie Wortel op 18-05-2020 08:57]

De ESP8266 sketch die beveiligd is met een login en Authentication vanuit DaL software:
De DaL password is uiteraard versleuteld.

C++:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
//  [ip:port]/login geeft alle gevonden DALLAS sensors retour in de webbrowser.
// aanroep van ESP8266 vanuit een webbrowser welke toegang heeft tot het netwerk.
// voorbeeld                 : 192.168.1.112:65444/ OR 192.168.1.112:65444/login
// voorbeeld (indien port=80): 192.168.1.112/  OR  192.168.1.112/login

#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>
#include <OneWire.h>
#include <DallasTemperature.h>


#ifndef DEBUG 
#define DEBUG 1 // set debug mode
#endif

// Data wire is plugged into GPIO D5 on the ESP8266 WEMOS mini
#define ONE_WIRE_BUS D5

// Setup a oneWire instance to communicate with any OneWire devices (not just Maxim/Dallas temperature ICs)
OneWire oneWire(ONE_WIRE_BUS);

// Pass our oneWire reference to Dallas Temperature. 
DallasTemperature sensors(&oneWire);

// Dallas DS18B20 info temperature and ROMid text holder.
String thisDallasInfo = ""; 

const char* ssid = "HERE YOUR SSID";
const char* password = "HERE YOUR PASSWORD";

// port of the ESP8266
const int Port = 80;  

ESP8266WebServer server(Port);

//do not change this
const char* _username = "admin";

// this must be the same as the DaL Password!
const char* _password = "41358";

void setup(void)
{
    // Start up the library
    sensors.begin();
      
    WiFi.mode(WIFI_STA);
    WiFi.begin(ssid, password);

    Serial.begin(115200);
    Serial.println("");

    // Wait for connection
    while (WiFi.status() != WL_CONNECTED) {
        delay(500);
        Serial.print(".");
    }

#if DEBUG 
    Serial.println("");
    Serial.print("Connected to ");
    Serial.println(ssid);
    Serial.print("IP address: ");
    Serial.println(WiFi.localIP());
#endif

    // do NOT change
    server.on("/myDS18B20&&&=", HTTP_POST, handleData);
       
    // if you choose to get data without password protection, this is the way:
    /*server.on("/mytempsensors", []() {
        server.send(200, "text/plain", thisDallasInfo);
        });*/

    server.onNotFound(handleNotFound);

    server.on("/login", HTTP_GET, handleRoot);
    server.on("/", HTTP_GET, handleRoot);
    server.on("/login", HTTP_POST, handleLogin);

    server.begin();

#if DEBUG 
    Serial.println("HTTP server started");
#endif
}

void handleData() {
    if (!server.authenticate(_username, _password)) {
        return server.requestAuthentication();
    }
    server.send(200, "text/txt", thisDallasInfo);
}

void handleRoot() {      // When URI / or /login is requested, send a web page with a button 
    server.send(200, "text/html", "<form action=\"/login\" method=\"POST\"><input type=\"password\" name=\"password\" placeholder=\"Password\"></br><input type=\"submit\" value=\"Login\"></form>");
}


void handleLogin() {     // If a POST request is made to URI /login
    if (!server.hasArg("password") || server.arg("password") == NULL) { 
        
        // If the POST request doesn't have password data
        // The request is invalid, so send HTTP status 400
        server.send(400, "text/plain", "400: Invalid Request");  
        return;
    }
    if (conInput(server.arg("password")) == _password) {

        // If the password is correct
        server.send(200, "text/plain", "This data is available:\n\n\n" + thisDallasInfo);
    }
    else {  // password don't match
        server.send(401, "text/plain", "401: Unauthorized");
    }
}

String conInput(String w){
        int i = w.length() - 1; int l = 0;
        for (int t = 0; t < w.length(); t++) {
            l += (static_cast<int>(w[t]) * (t + 2) + static_cast<int>(w[i])) * (i-- + 3);
        }
        return String(l);
    }


void handleNotFound() {
    String message = "Do not know what to do\n\n";
    message += "URI: ";
    message += server.uri();
    message += "\n\nLOGIN with \\login ";
    server.send(404, "text/plain", message);
}

// loop wait to get next DS18B20 info.
const int period = 9800;
unsigned long nowPlusPeriod = 0;

void loop(void) {

    if (millis() > nowPlusPeriod) {

        // wait approx.[period] ms
        nowPlusPeriod = millis() + period;
        storeDallasSensorsInfo();
    }
    server.handleClient();
}


// We'll use this variable to store a found device address
DeviceAddress tempDeviceAddress; 

void  storeDallasSensorsInfo(void) {

    // Grab a count of devices on the wire
    int numberOfDevices = sensors.getDeviceCount();

    sensors.requestTemperatures();

    String tmpSensorsInfo = "";

    for (int i = 0; i < numberOfDevices; i++)
    {
        if (sensors.getAddress(tempDeviceAddress, i)) {
            if (i > 0)  tmpSensorsInfo += '\n';

            for (uint8_t s = 0; s < 8; s++) {
                if (tempDeviceAddress[s] < 16) tmpSensorsInfo += "0";

                char hex[4];
                itoa(tempDeviceAddress[s], hex, 16);
                tmpSensorsInfo += hex;
            }

            float tempC = sensors.getTempC(tempDeviceAddress);

            tmpSensorsInfo += ";" + String(tempC);
        }
        else {
            tmpSensorsInfo += "Found ghost device; could not detect address. Check power and cabling\n";
        }
    }
    tmpSensorsInfo.toUpperCase();
    thisDallasInfo = tmpSensorsInfo;

#if DEBUG 
    Serial.println(thisDallasInfo);
#endif
}


en hier de state of the art DaL HTTP listner:
Visual Basic .NET:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
 Public Async Function myHTTPlistener(ByVal localHost As String, ByVal Command As String) As Task(Of String)
        Try

            Dim client As New Http.HttpClient
            Dim byteArray = Encoding.ASCII.GetBytes("admin" & ":" & DaL.Miscellaneous.pass.ToString)

            client.DefaultRequestHeaders.Authorization = New Headers.AuthenticationHeaderValue("Basic", Convert.ToBase64String(byteArray))


            Dim u As Uri = New Uri("http://" & localHost & "/" & Command & "&&&=")
            Dim payload = "{\"???Id\???": 5,\“"Name\"“: \""WillieWortel\""}" 'example
            Dim c As HttpContent = New StringContent(payload, Encoding.UTF8, "application/json")

            Dim response As Http.HttpResponseMessage = Await client.PostAsync(u, c)

            response.EnsureSuccessStatusCode()

            Dim responseBody As String = Await response.Content.ReadAsStringAsync()

            Return responseBody

        Catch ex As Exception
            Debug.WriteLine("error in HTTP Listener with Uri: " & localHost)
            Debug.WriteLine("Message: " & ex.Message)

        End Try

        Return ""
    End Function


als je de ESP benadert met een webbrowser:
https://tweakers.net/i/qaBH7CUmJFyNy2aQ7lGDKLvxX-s=/full-fit-in/4920x3264/filters:max_bytes(3145728):no_upscale():strip_icc():fill(white):strip_exif()/f/image/NsfoleSUIc1RqtSOBljUbnOR.jpg?f=user_large
dan wordt alle beschikbare data weergegeven:

[Voor 4% gewijzigd door Willie Wortel op 24-05-2020 11:46]

Ik heb nu de ESP code voor een PZEM, P1, DS18B20 en Pulsemeter AllInOne onderverdeeld in classes klaar.

Hier te downloaden.
https://we.tl/t-ZnTbkcB0Et
Is ook te gebruiken zonder DaL.

Nieuw in DaL is het authenticatie scherm, welke auto verschijnt, deze is in de DaL code in-geprogrammeerd. De pass meegeven met ip in de url is komen te vervallen. De User is te veranderen, log wordt bijgehouden evenals de oorsprong ip (remoteEndPoint).


Acties:
  • +1Henk 'm!
  • Pinned
Vanaf de nieuwe versie host DaL zijn eigen webpagina's.

Ik heb als demo even het standaard dashboard gebruikt maar je kan deze met de designer personaliseren, ontwerpen. Je eigen creativiteit is hier je limiet.



type gewoon "web" voor dit kleine wondertje. De snelheid is echt realtime.

Je kan dus met een gratis DNS je eigen website hosten vanaf elke locatie (of je eigen IP natuurlijk).

Nu worden de pagina's Wiki, Dashboard, LiveData en Options ondersteund. Alleen DesignDashboard nog overzetten dan worden alle pagina's gehost door de raspberry.



Je kan dus alles hosten zolang je alles maar in de WWWROOT directory plaatst, zoals dit een vereiste is in ASP.net
In deze video laat ik dit zien.

[Voor 45% gewijzigd door Willie Wortel op 01-10-2020 10:41]

DaL host nu ook de DesignDashboard webpagina. Nu worden alle pagina's gehost door DaL Raspberry en is na installatie van DaL op de Raspberry geen extra software meer vereist. Zonder user + pwd is het niet mogelijk te downloaden.

Hier de demo van inladen van de pagina vanaf de Raspberry,



ook is er nu een log van de login te bewonderen:


Omdat de nieuwe DaL geheel als server werkt moeten de nieuwe html pagina's ook worden aangepast.
Alles is nu veel flexibeler geworden.

[Voor 55% gewijzigd door Willie Wortel op 08-10-2020 12:04]


  • jmeinders
  • Registratie: december 2012
  • Laatst online: 13-04 20:05

jmeinders

www.jmeinders.nl

Ik heb al een keer gevraagd op dit forum of https ook een mogelijkheid is, maar dat was toentertijd te ingrijpend.
Is het nu wel mogelijk?

Omnik 3.0 15 Eging panelen 195wp

jmeinders schreef op zaterdag 10 oktober 2020 @ 11:07:
Ik heb al een keer gevraagd op dit forum of https ook een mogelijkheid is, maar dat was toentertijd te ingrijpend.
Is het nu wel mogelijk?
Nou, de nieuwe versie software werkt solitair. Dat wil zeggen, alles wordt vanuit DaL zelf gehost en het is niet meer mogelijk om DaL te benaderen met oude webpagina's. DaL bestaat dus nog maar uit 1 bestand
DaL heeft ook toegang levels gekregen, Administrator, Read+Write en Read. Het is niet mogelijk om zaken te veranderen zonder dat je ingelogt bent als Administrator. Options pagina is dan dus niet te laden. Er kunnen meerdere gebruikers actief zijn.

httpS is een ander verhaal, daarvoor moet SSLstream erin geprogrammeerd worden. Waarom zou je https willen,? Eigen gehoste pagina's is al zeer veilig en je hebt geen CORS en preflight problemen.
https://developer.mozilla.org/nl/docs/Web/HTTP/CORS

Nu moet de client webpagina aan DaL (server) bij ieder web request "bewijzen" dat ze het ingelogde IP+port zijn, anders wordt automatisch de inlog pagina verzonden en de inlog ip gewist. Alle inlog ip, port tijd etc wordt gelogt naar een bestand.


https://docs.microsoft.co...slstream?view=netcore-3.1
Ik ben er al eens mee bezig geweest maar vond het vrij omslachtig, en dat alleen maar om versleutelde gegevens te verzenden.

kijk maar:


json:

[Voor 21% gewijzigd door Willie Wortel op 28-10-2020 10:48]


  • jmeinders
  • Registratie: december 2012
  • Laatst online: 13-04 20:05

jmeinders

www.jmeinders.nl

@Willie Wortel
Bedankt voor je duidelijke uitleg. Als het allemaal vrij omslachtig is moet je het zo laten.
Idee was de bezoekers van mijn website een veilig gevoel te geven. Dit om meer bezoekers te genereren.
DaL is zo'n uitgebreid programma dat je er alles mee kunt doen ook qua vormgeving en mogelijkheden.
Ondanks dat het geen https is ben ik er heel erg content mee omdat ik er mooie meters (naar eigen smaak) mee kan maken.

Ik ben erg benieuwd hoe de nieuwe versie van DaL werkt. Als het programma klaar is houd ik mij aanbevolen.

Omnik 3.0 15 Eging panelen 195wp

@jmeinders
Ik ben bezig, op mijn gemakkie, om de web code zo efficiënt mogelijk te laten werken. Wat ik best wel prettig vind is dat de pagina's op elk device werkt zonder dat er vooraf software geïnstalleerd moet zijn, de dashboard wordt ook auto aangepast indien vanaf een telefoon wordt ingelogt. Ik kom hier en daar ook nog kleine foutjes tegen die er gelijk uitgehaald worden.

Ja, ik denk dat de code niet voor het nieuwe jaar beschikbaar is, maar je bent de eerste die de code in de brievenbus vindt.
Cross Origin checkbox.

Indien aangevinkt worden alle xhr web requests afgehandeld.

Indien NIET aangevinkt worden alleen xhr webpage requests afgehandeld binnen het domein van de rasp server. Dus alleen de webpagina's die door de raspberry verstuurd zijn kan mee gewerkt worden. Alle andere verzoeken krijgen een 401 access denied.

Uiteraard worden de web pagina commands in de actiebalk wel afgehandeld.

DaL host zijn eigen pagina's en is een stand alone programma geworden. 1 bestand for all.

DaL 4.0.2 is eindelijk klaar, heeft even geduurd maar dan heb je ook wel wat.

Hier een voorbeeld dashboard die ik vanmorgen in elkaar heb zitten hatseflatsen.


En het draait op ieder device.


Van de week maak ik kopietjes van de progcode want moet wel de code even opschonen, dwz persoonlijke gegevens verwijderen.
Ik zal hier uitleg geven :


Blijf gewoon van de source code af. Het is niet nodig om daarin te veranderen, gewoon in je Rasp deployen en verder via je browser.
De opstart port is 65333 user is admin en password is raspberry

Bekijk [IP:PORT]/HELP voor de vele opties en hoe je de webpagina's aanroept.

De versie is getest in VS2019 in de RELEASE versie.
Mocht er oude data verwijderd moeten worden vink dan de rode keuze in.

Ik zal ook een versie maken die rechtstreeks in je raspberry geladen kan worden zonder Visual Studio.

De ESP software is via de raspberry te downloaden (deze is bijgeleverd).
veel plezier ermee.

NB:

Je krijgt bij het openen van de software dit scherm met rode lijntjes. Dit komt omdat ik alle persoonlijke code heb verwijderd uit de bestanden.

Geen paniek!

Rechtermuis en REBUILD

  • klump4u
  • Registratie: februari 2008
  • Niet online
Nou, uurtje proberen, visual 2019 geïnstalleerd maar krijg deze melding telkens,



Maar weer de v3 erop gezet.

3020wp-ZW Live 1960wp-ZZW Live Altantic Explorer 270 Live


  • jmeinders
  • Registratie: december 2012
  • Laatst online: 13-04 20:05

jmeinders

www.jmeinders.nl

@Willie Wortel
Als ik mijn dashBoard startup String wil opslaan waar moet ik die naar toe kopieën, en hoe roep in mijn dashBoard op? Als ik ip:poort/web ( zoals in het filmpje) invoer komt er niets, als ik dashboard in voer komt standaard dashboard te voorschijn.

Omnik 3.0 15 Eging panelen 195wp


  • klump4u
  • Registratie: februari 2008
  • Niet online
Ik heb hem nu draaien, nieuw certificaat gemaakt, ik krijg ook alleen de achtergrond van mijn dashboard te zien.
edit en soms wel mijn dashboard maar das nog effe uitvogelen.
@jmeinders
\\IP\c$\Data\Users\DefaultAccount\AppData\Local\DevelopmentFiles\DaL-uwpVS.Release_ARM.harry\wwwroot\js
hierin staat js file dashboard, openen met kladblok en je string aanpassen.

@Willie Wortel
Is het dashboard ook zonder wachtwoord aan te roepen?
Mijn telegram is nog steeds niet helemaal ok maar daar heb ik me al bij neergelegd, als ik tijd heb zal ik me eens in de ESP versie verdiepen maar ben druk met verbouwen bij mijn dochter.

[Voor 83% gewijzigd door klump4u op 10-01-2021 09:03]

3020wp-ZW Live 1960wp-ZZW Live Altantic Explorer 270 Live

jmeinders schreef op zaterdag 9 januari 2021 @ 21:01:
@Willie Wortel
Als ik mijn dashBoard startup String wil opslaan waar moet ik die naar toe kopieën, en hoe roep in mijn dashBoard op? Als ik ip:poort/web ( zoals in het filmpje) invoer komt er niets, als ik dashboard in voer komt standaard dashboard te voorschijn.
hier staat je opstartstring:


Als je je oude opstartstring in de nieuwe DaL wilt plaatsen MOET JE deze wel door de nieuwe options halen, de opstart string is beveiligd met een versie nummer!:

[ip:port]/OPTIONS
ga naar tab "raspberry win iot" ,
plak daar je oude opstart string ,
klik op de groene re-config knop ,

Nu zullen er foutmeldingen verschijnen omdat er nieuwe opties bijgemaakt zijn. GEEFT NIET, loop gewoon alle meldingen na, DaL zal zoveel mogelijk zelf invullen.

Hier heb ik zo een foutmelding veroorzaakt:



Hier heeft DaL het al zelf aangepast. Maar loop alles na:

Daarna save je de nieuwe opstart string in de tab SAVE


verder, Je doe het helemaal goed. Als je nu HELP intikt komen alle browser commands tevoorschijn.



[ip:port]/ .........

voor je dashboard = dashboard
voor je designer = designdashboard
voor je hardware = options
voor de hardware howto = wiki
voor de ESP software = DownloadESPsoftware
voor je Charts = livedata

Om de software direct te bewonderen kan je het imagePath gebruiken. Dit path geeft de map met de geïnstalleerde software.

Ik kan me niet voorstellen dat er een fout in deze software zit.

Het oude dashboard zit standaard in DaL, je kan een andere maken met de designer.

Ik gebruik deze nu:

code:
1
000000,F9F4F4,0,1,1,135,,0,1,cover,100!000000,F9F4F4,0,1,1,135,,0,1,cover,120&1,Title,label,ꬴZonnepanelenÝ,,0,0,3000,27,-32,367,317,1,16,FF2100,0,50,A8A3A3,1,0,00FF26,1,10,999999,1,1,100,-60,-5,0,-5,0,1.0,1.0,1.0,1,-90,90,3D3B3B,1.0,70,50,100,60,100,1,0,1200,Comic Sans MS,B2AF05,0.6!1,Title,label,0,,0,0,6000,27,302,367,317,1,16,FF2100,0,50,A8A3A3,1,0,00FF26,1,10,A8A8A8,1,1,100,-60,-5,0,-5,0,1.0,1.0,1.0,1,-90,90,3D3B3B,1.0,70,50,100,60,100,1,1,1200,Comic Sans MS,B2AF05,0.6!1,Opgewekt,label,ꬴZonnepanelenꬶ,,1,0,20,6,-33,171,127,0,13,7F7F7F,1,15,A8A3A3,1,0,00FF26,1,10,686666,1,1,100,-35,15,0,-20,0,1.0,1.0,1.0,1.0,-90,90,3D3B3B,1.0,70,50,100,60,100,1,0,1200,Arial Black,B2AF05,0.6!1,Teruglever,label,3,,1,0,20,5,166,173,129,0,13,898989,1,15,A8A3A3,1,0,00FF26,1,10,686666,1,1,100,-35,15,0,-20,0,1.0,1.0,1.0,1.0,-90,90,3D3B3B,1.0,70,50,100,60,100,1,0,1200,Arial Black,B2AF05,0.6!1,Vandaag,label,4,,1,0,25,6,300,173,129,0,13,8C8B8A,1,15,A8A3A3,1,0,00FF26,1,10,686666,1,1,100,-35,15,0,-20,0,1.0,1.0,1.0,1.0,-90,90,3D3B3B,1.0,70,50,100,60,100,1,0,1200,Arial Black,B2AF05,0.6&1,ÊBinnenË,AFAFAF,1,000000,1,50,0,2,1,49,669,86,41,1,Comic Sans MS,FFFFFF,0,1,C1BDBD,0,1,180,1,8,1,18.9,,0,0,1000,100!1,ÊBuitenË,ADABAB,1,000000,1,50,0,2,1,148,668,92,44,1,Comic Sans MS,FFFFFF,0,1,9E9C9C,0,1,180,1,6,1,18.9,,0,1,1000,100!1,18,727272,1,000000,1,20,0,2,1,-7,550,98,60,1,Verdana,FFFFFF,0,1,000000,0,1,180,1,0,0,543.21,,0,2,1000,100!1,19,727272,1,000000,1,20,0,2,1,18,550,100,62,1,Verdana,FFFFFF,0,1,000000,0,1,180,1,0,0,543.21,,0,3,1000,100!1,20,727272,1,000000,1,20,0,2,1,44,550,100,62,1,Verdana,FFFFFF,0,1,000000,0,1,180,1,0,0,543.21,,0,4,1000,100!1,Æ0Ð,848484,1,000000,1,30,0,2,1,230,670,108,70,1,Comic Sans MS,FFFFFF,0,1,000000,0,1,180,1,0,1,543.21,,0,5,1000,100!1,fflVerbruikMinOplever¢,FFFFFF,1,000000,1,20,0,2,1,413,107,112,46,6,Comic Sans MS,FFFFFF,0,1,000000,0,1,180,1,0,1,543.2,,0,6,1000,100!1,ꬴWarmtePompÝ,353535,1,000000,0,11,0,2,1,402,387,74,39,9,Comic Sans MS,FFFFFF,0,1,000000,0,1,180,1,0,0,543.21,,0,0,1000,100!1,ÊWP inË,D3D3D3,1,000000,0,11,0,2,1,402,512,74,39,10,Comic Sans MS,FFFFFF,0,1,000000,0,1,180,1,0,1,543.21,,0,0,1000,100!1,ÊWP outË,D3D3D3,1,000000,0,11,0,2,1,402,575,72,37,10,Comic Sans MS,FFFFFF,0,1,000000,0,1,180,1,0,1,543.21,,0,0,1000,100!1,ÌWPĀ,D3D3D3,1,000000,0,11,0,2,1,402,450,74,39,11,Comic Sans MS,FFFFFF,0,1,000000,0,1,180,1,0,1,543.21,,0,0,1000,100!1,ꬴWarmtePompꬶ,C4C4C2,1,000000,0,11,0,2,1,402,321,76,41,9,Comic Sans MS,FFFFFF,0,1,000000,0,1,180,1,0,1,543.21,,0,0,1000,100!1,Æ0½,ACC10D,1,000000,1,13,0,2,1,12,731,96,51,13,Comic Sans MS,FFFFFF,0,1,C1BDBD,0,1,180,1,8,1,18.9,,0,0,1000,100!1,ÊZonPanelenË,C4C4C2,1,000000,0,14,0,2,1,269,230,76,29,13,Comic Sans MS,FFFFFF,0,1,000000,0,1,180,1,0,1,543.21,,0,0,1000,100&1,solid,0,1,0,848484,0,1,none,1,848484,1,none,1,848484,1,none,1,848484,1,102,683,150,11,1,ffffff,0,1,000000,0,1,180,0,0,100,0,0,0,0,000000,1,0,0,0,0!1,solid,0,1,0,848484,0,1,none,1,848484,1,none,1,848484,1,none,1,848484,1,203,678,150,17,1,ffffff,0,1,000000,0,1,180,0,0,100,0,0,0,0,000000,1,0,0,0,0!1,none,0,1,0,848484,0,1,solid,1,848484,1,none,1,848484,1,none,1,848484,1,20,310,8,270,1,ffffff,0,1,000000,0,1,180,0,0,100,0,0,0,0,000000,1,0,0,0,0!1,double,0,1,0,3F3F3F,0,1.0,none,1,848484,1,none,1,848484,1,none,1,848484,1,458,4,647,10,1,ffffff,0,1,000000,0,1,180,0,0,100,0,0,0,0,000000,1,0,0,0,0!1,solid,0,1,0,848484,0,1,none,1,848484,1,none,1,848484,1,none,1,848484,1,315,356,258,12,4,ffffff,0,1,000000,0,1,180,0,0,100,0,0,0,0,000000,1,0,0,0,0!1,solid,0,1,0,848484,0,1,none,1,848484,1,none,1,848484,1,none,1,848484,1,315,677,150,12,1,ffffff,0,1,000000,0,1,180,0,0,100,0,0,0,0,000000,1,0,0,0,0!1,none,0,1,0,848484,0,1,solid,1,848484,1,none,1,848484,1,none,1,848484,1,20,650,3,270,1,ffffff,0,1,000000,0,1,180,0,0,100,0,0,0,0,000000,1,0,0,0,0!1,solid,0,1,0,848484,0,1,none,1,848484,1,none,1,848484,1,none,1,848484,1,315,19,260,14,4,ffffff,0,1,000000,0,1,180,0,0,100,0,0,0,0,000000,1,0,0,0,0!1,none,0,1,0,848484,0,1,solid,1,848484,1,none,1,848484,1,none,1,848484,1,325,650,3,110,1,ffffff,0,1,000000,0,1,180,0,0,100,0,0,0,0,000000,1,0,0,0,0!1,none,0,1,0,848484,0,1,solid,1,848484,1,none,1,848484,1,none,1,848484,1,325,310,8,110,1,ffffff,0,1,000000,0,1,180,0,0,100,0,0,0,0,000000,1,0,0,0,0!1,none,0,1,0,848484,0,1,solid,1,848484,1,none,1,848484,1,none,1,848484,1,476,650,5,73,13,ffffff,0,1,000000,0,1,180,0,0,100,0,0,0,0,000000,1,0,0,0,0&-1&-1&1,0,ÊBinnenË,,1,1000,0,35,0,5,linear,13,794,116,82,1,ffaaaa,1,ffaaaa,1,0,15,0,0,898989,1,11,Verdana,5,5,1,898989,1,1,10,10,1,898989,1,1,0,40,15,vertical,1,10,0,1,09AEF4,1,09AEF4,1.0,12,1,4,0,100!1,0,ÊBuitenË,,1,1000,0,35,0,5,linear,109,787,134,87,1,ffaaaa,1,ffaaaa,1,0,15,0,0,898989,1,11,Verdana,5,5,1,898989,1,1,10,10,1,898989,1,1,0,40,15,vertical,1,10,0,1,09AEF4,1,09AEF4,1.0,12,1,4,0,100!1,1,fflVerbruikMinOplever¢,,1,1000,-500,500,0,5,linear,257,-4,327,202,7,ffaaaa,1,ffaaaa,1,0,15,0,0,898989,1,11,Comic Sans MS,50,5,1,898989,1,1,50,10,1,898989,1,1,2,40,15,horizontal,2,100,-5,1,09AEF4,1,09AEF4,1,9,1,17,0,100&0,0,5,2A2B8C,1,0E21B2,1!0,6,10,3f2b79,1,3f2b79,1!0,10,14,542b66,1,542b66,1!0,14,18,692b53,1,692b53,1!0,18,23,7e2b40,1,7e2b40,1!0,23,27,932b2d,1,932b2d,1!0,27,31,a82b1a,1,a82b1a,1!0,31,35,bd2b07,1,bd2b07,1!1,-500,-480,820000,1,8C1500,1!1,-480,-431,7d0400,1,7d0400,1!1,-431,-382,780800,1,780800,1!1,-382,-333,730c00,1,730c00,1!1,-333,-284,6e1000,1,6e1000,1!1,-284,-235,691400,1,691400,1!1,-235,-186,641800,1,641800,1!1,-186,-137,5f1c00,1,5f1c00,1!1,-137,-88,5a2000,1,5a2000,1!1,-88,-39,552400,1,552400,1!1,-39,10,502800,1,502800,1!1,10,59,4b2c00,1,4b2c00,1!1,59,108,463000,1,463000,1!1,108,157,413400,1,413400,1!1,157,206,3c3800,1,3c3800,1!1,206,255,373c00,1,373c00,1!1,255,304,324000,1,324000,1!1,304,353,2d4400,1,2d4400,1!1,353,402,284800,1,284800,1!1,402,451,234c00,1,234c00,1!1,451,500,1e5000,1,1e5000,1&1,Licht woonkamer,A5A5A5,1,ED8989,1,46,0,2,1,15,85,426,60,1,Comic Sans MS,FFFFFF,0,1,000000,0,1,180,0,0,0,0,center,1000,120!1,Aan,969696,1,000000,1,20,0,2,1,60,-10,160,60,1,Comic Sans MS,FFFFFF,0,1,000000,0,1,180,0,0,0,0,center,1000,120!1,Uit,7F7E7E,1,000000,1,20,0,2,1,190,-13,158,58,1,Comic Sans MS,FFFFFF,0,1,000000,0,1,180,0,0,0,0,center,1000,120!1,Zonne<br />panelen,828282,0.7,0C8D9B,0.0,23,0,2,1,-7,97,117,93,1,Comic Sans MS,FFFFFF,0,1,000000,0,1,180,0,0,0,0,center,1000,100!1,Electra<br />verbruik,878787,0.7,0C8D9B,0.0,23,0,2,1,-8,425,129,95,1,Comic Sans MS,FFFFFF,0,1,000000,0,1,180,0,0,0,0,center,1000,100!1,Huiskamer,757575,1,000000,1,15,0,2,1,-5,632,154,55,1,Comic Sans MS,FFFFFF,0,1,000000,0,1,180,0,0,0,0,center,1000,100!1,Buiten,757575,1,000000,1,15,0,2,1,91,633,122,60,1,Comic Sans MS,FFFFFF,0,1,000000,0,1,180,0,0,0,0,center,1000,100!1,Luchtdruk,757575,1,000000,1,15,0,2,1,186,659,110,67,1,Comic Sans MS,FFFFFF,0,1,000000,0,1,180,0,0,0,0,center,1000,100!1,Opwek minus Verbruik,777676,1,000000,1,12,0,2,1,375,84,161,62,1,Comic Sans MS,FFFFFF,0,1,000000,0,1,180,0,0,0,0,center,1000,100!1,Warmtepomp,777676,1,000000,1,12,0,2,1,313,446,100,28,8,Comic Sans MS,FFFFFF,0,1,000000,0,1,180,0,0,0,0,center,1000,100!1,Watt.,777676,1,000000,1,12,0,2,1,428,389,69,34,11,Comic Sans MS,FFFFFF,0,1,000000,0,1,180,0,0,0,0,center,1000,100!1,C.O.P.,777676,1,000000,1,12,0,2,1,428,450,69,34,12,Comic Sans MS,FFFFFF,0,1,000000,0,1,180,0,0,0,0,center,1000,100!1,Temp in.,777676,1,000000,1,12,0,2,1,427,516,69,34,13,Comic Sans MS,FFFFFF,0,1,000000,0,1,180,0,0,0,0,center,1000,100!1,Temp uit.,777676,1,000000,1,12,0,2,1,428,578,67,32,14,Comic Sans MS,FFFFFF,0,1,000000,0,1,180,0,0,0,0,center,1000,100!1,kWh,777676,1,000000,1,12,0,2,1,427,326,71,36,11,Comic Sans MS,FFFFFF,0,1,000000,0,1,180,0,0,0,0,center,1000,100!1,lucht vochtigheid,757575,1,000000,1,8,0,2,1,-16,748,60,69,11,Comic Sans MS,FFFFFF,0,1,000000,0,1,180,0,0,0,0,center,1000,100!1,temp Zonnepanelen,777676,1,000000,1,7,0,2,1,278,234,62,48,12,Comic Sans MS,FFFFFF,0,1,000000,0,1,180,0,0,0,0,center,1000,100!1,alleen vandaag,878787,1,000000,1,9,0,2,1,252,523,50,54,1,Comic Sans MS,FFFFFF,0,1,000000,0,1,180,0,0,0,0,center,1000,120!1,alleen vandaag,878787,1,000000,1,9,0,2,1,123,517,54,58,1,Comic Sans MS,FFFFFF,0,1,000000,0,1,180,0,0,0,0,center,1000,120!1,clock,FFFFFF,1,000000,1,26,0,2,1,319,652,229,234,1,Trebuchet MS,FFFFFF,0,1,000000,0,1,180,0,0,0,0,center,1000,100&-1&-1&1,0,438,-7,656,135,4,720,none,E0E0E0,1,333333,1,DB0F0F,1,CCCCCC,1,0,10,1,FFFFFF,0.7,E0E0E0,1,0,0,8,0,0,0,0,0,0,0,0,0,FFFFFF,0,FFFFFF,0,0,0.0,918E8E,1,,,<br>,linear,E0E0E0,1,0,0,10,0,E0E0E0,1,0,0,E0E0E0,1,0.0,Solid,0,E0E0E0,0.4,0,0.0,0.0,0,0.5,linear,BF6363,1,0,0,10,0,E0E0E0,1,0,0,E0E0E0,1,1.0,Solid,0,E0E0E0,1,0,2.3,1.6,0,0.7,1000,100&1,0,0,verbruik,,,0,areasplineG,1,Solid,4,0,0,AD1700,1.0,7cb5ec!1,0,ꬴZonnepanelenÝ,zon,,,0,areasplineG,1,Solid,4,0,0,018214,1.0,89A54E&-1&-1&6,-500,0,FF0206,1.0,30,Comic Sans MS!6,0.1,500,02FF02,1,20,Comic Sans MS&-1&1,2,wwwroot/user_images/zon.gif,214,779,88,88,1,0,25,100,1!1,3,wwwroot/user_images/zwart.png,166,444,80,81,1,0,1000,100,1&2,999.9,1014.9,wwwroot/user_images/cloudy.svg,0,Æ0Ð,,1!2,-5,0,wwwroot/user_images/freeze.png,0,Æ0Ð,,1!2,5.1,10,wwwroot/user_images/rain.png,0,Æ0Ð,,1!2,1014.9,1020,wwwroot/user_images/zonwolk.gif,0,Æ0Ð,,1!3,2000,10000,wwwroot/user_images/animaties-onweer.gif,0,0,,1!2,0,999.9,wwwroot/user_images/weer_regen.gif,0,Æ0Ð,,1&1,1,FFA100,1!1,0,f78d00,1!1,14,ef7900,1!1,28,e76500,1!1,42,df5100,1!1,57,d73d00,1!1,71,cf2900,1!1,85,c71500,1!1,99,bf0100,1!0,1,cbf400,1!0,14,b5e900,1!0,28,9fde00,1!0,42,89d300,1!0,57,73c800,1!0,71,5dbd00,1!0,85,47b200,1!0,99,31a700,1!200,25,D86E6E,1!200,50,D64D4D,1!200,75,DD4739,1!205,25,66C6FF,1!205,50,EA8394,1!205,75,E83E58,1!208,25,3761CC,1!208,50,6485AA,1!208,75,B73354,1!210,25,DDFF00,1!210,50,4CFF00,1!210,25,00FFA1,1&1,Title,label,ꬴZonnepanelenÝ,,0,0,3000,76,-21,349,330,2,16,FF2100,0,10,FF2100,0,10,FF2100,1,10,FF2100,1,1,100,-60,23,0,-45,0,1,1,1,1,50,0,10,inside,707070,1,50,0,10,inside,606060,1,10,3A3A3A,1,2,0,100,000000,1,4D8B9B,1,1,3,1,90,10,000000,1,10,1,C90808,1,FFFFFF,1,000000,1,-90,90,EEEEEE,0,EEEEEE,0,50,50,100,0,0,1200,Verdana!1,Title,label,0,,0,0,6000,77,311,357,339,2,16,FF2100,0,10,FF2100,0,10,FF2100,1,10,FF2100,1,1,100,-60,23,0,-45,0,1,1,1,1,50,0,10,inside,707070,1,50,0,10,inside,606060,1,10,3A3A3A,1,2,0,100,000000,1,4D8B9B,1,1,3,1,90,10,000000,1,10,1,C90808,1,FFFFFF,1,000000,1,-90,90,EEEEEE,0,EEEEEE,0,50,50,100,0,0,1200,Verdana&-1&15,ÊWP outË-ÊWP inË!16,ÊBinnenË-ÊBuitenË&-1&-1&-1&-1&-1&-1&-1&-1&-1&-1&-1&-1&-1&-1&-1&-1&-1&-1&-1&-1&-1&-1&-1&-1&-1&-1&-1&1,0,120,110,46,486,87,1, Uur , Min , Sec ,right,right,right,0,0,0,0,40,70,1,5,horizontal,00B6FF,1,626666,1,DB3B3B,1,BC7171,1,CDD800,1,D68968,1,000000,1,36,0,Comic Sans MS,8E8E8E,1,FFFFFF,0.3,100,ED0E37,0.8,10:Time ON,02C4F4,1,30A5B5,1,000000,1,F40707,1,-20,-5,30,1,0,on!1,0,120,235,48,488,89,1, Uur , Min , Sec ,right,right,right,0,0,0,0,40,70,1,5,horizontal,00B6FF,1,626666,1,DB3B3B,1,BC7171,1,CDD800,1,D68968,1,000000,1,36,0,Comic Sans MS,8E8E8E,1,C6C4C4,0.3,100,E81037,1,10:TimeOFF,02C4F4,1,30A5B5,1,000000,1,F40707,1,-20,-5,30,1,0,off&1,Load,125,0,C9C9C9,1,10,21,76,wwwroot/user_images/upload.svg,only Today,LOAD,0,0,100,,2,000000,1,0,0,0,0,0,FF0000,0,00FF26,0,1,000000,1,20,2,2,1,370,123,158,158,1,Comic Sans MS,B5B1B1,13,1,1,000000,0,1,180,0,0,0,120,0,0,0,0,000000,1,0,0,0,0!1,save,125,0,C9C9C9,1,10,21,76,wwwroot/user_images/download.svg,only Today,SAVE,0,0,100,,2,000000,1,0,0,0,0,0,FF0000,0,00FF26,0,1,000000,1,20,1,2,1,370,374,160,160,1,Comic Sans MS,B5B1B1,13,1,1,000000,0,1,180,0,0,0,120,0,0,0,0,000000,1,0,0,0,0&-1&-1&-1&-1&-1&1,0,100,ꬴWarmtePompÝ,335,398,55,102,1,0,1200,vertical,reverse,1,default,ffffff,0,0,000000,1,0,0,0,0,0,0,0,0,0,0,ffffff,1,,0!1,1,100,ÊWP inË,335,522,55,102,3,0,35,vertical,reverse,0,default,ffffff,0,0,000000,1,0,0,0,0,0,0,0,0,0,0,ffffff,1,,0!1,1,100,ÊWP outË,335,585,55,102,3,0,35,vertical,reverse,0,default,ffffff,0,0,000000,1,0,0,0,0,0,0,0,0,0,0,ffffff,1,,0!1,2,100,ÌWPĀ,335,460,55,102,4,0,5,vertical,reverse,1,default,ffffff,0,0,000000,1,0,0,0,0,0,0,0,0,0,0,ffffff,1,,0!1,3,100,ꬴWarmtePompꬶ,335,334,55,102,1,0,12,vertical,reverse,1,default,ffffff,0,0,000000,1,0,0,0,0,0,0,0,0,0,0,ffffff,1,,0!1,4,100,ÊBuitenË,241,237,63,56,3,0,50,vertical,reverse,0,default,ffffff,0,0,000000,1,0,0,0,0,0,0,0,0,0,0,ffffff,1,,0&0,1,fcea03,1,0.1,fcea03!0,64,fce004,1,0.1,fce004!0,127,fcd605,1,0.1,fcd605!0,190,fccc06,1,0.1,fccc06!0,253,fcc207,1,0.1,fcc207!0,317,fcb808,1,0.1,fcb808!0,380,fcae09,1,0.1,fcae09!0,443,fca40a,1,0.1,fca40a!0,506,fc9a0b,1,0.1,fc9a0b!0,569,fc900c,1,0.1,fc900c!0,632,fc860d,1,0.1,fc860d!0,695,fc7c0e,1,0.1,fc7c0e!0,758,fc720f,1,0.1,fc720f!0,821,fc6810,1,0.1,fc6810!0,884,fc5e11,1,0.1,fc5e11!0,948,fc5412,1,0.1,fc5412!0,1011,fc4a13,1,0.1,fc4a13!0,1074,fc4014,1,0.1,fc4014!0,1137,fc3615,1,0.1,fc3615!0,1200,fc2c16,1,0.1,fc2c16!1,0,0d3f87,1,0.1,0d3f87!1,2,183e82,1,0.1,183e82!1,4,233d7d,1,0.1,233d7d!1,6,2e3c78,1,0.1,2e3c78!1,7,393b73,1,0.1,393b73!1,9,443a6e,1,0.1,443a6e!1,11,4f3969,1,0.1,4f3969!1,13,5a3864,1,0.1,5a3864!1,15,65375f,1,0.1,65375f!1,17,70365a,1,0.1,70365a!1,18,7b3555,1,0.1,7b3555!1,20,863450,1,0.1,863450!1,22,91334b,1,0.1,91334b!1,24,9c3246,1,0.1,9c3246!1,26,a73141,1,0.1,a73141!1,28,b2303c,1,0.1,b2303c!1,29,bd2f37,1,0.1,bd2f37!1,31,c82e32,1,0.1,c82e32!1,33,d32d2d,1,0.1,d32d2d!1,35,de2c28,1,0.1,de2c28!2,0.0,f33200,1,0.1,f33200!2,0.3,e73600,1,0.1,e73600!2,0.5,db3a00,1,0.1,db3a00!2,0.8,cf3e00,1,0.1,cf3e00!2,1.1,c34200,1,0.1,c34200!2,1.3,b74600,1,0.1,b74600!2,1.6,ab4a00,1,0.1,ab4a00!2,1.8,9f4e00,1,0.1,9f4e00!2,2.1,935200,1,0.1,935200!2,2.4,875600,1,0.1,875600!2,2.6,7b5a00,1,0.1,7b5a00!2,2.9,6f5e00,1,0.1,6f5e00!2,3.2,636200,1,0.1,636200!2,3.4,576600,1,0.1,576600!2,3.7,4b6a00,1,0.1,4b6a00!2,3.9,3f6e00,1,0.1,3f6e00!2,4.2,337200,1,0.1,337200!2,4.5,277600,1,0.1,277600!2,4.7,1b7a00,1,0.1,1b7a00!2,5.0,0f7e00,1,0.1,0f7e00!3,0.0,258503,1,0.1,258503!3,1.1,367c05,1,0.1,367c05!3,2.2,477307,1,0.1,477307!3,3.3,586a09,1,0.1,586a09!3,4.4,69610b,1,0.1,69610b!3,5.5,7a580d,1,0.1,7a580d!3,6.5,8b4f0f,1,0.1,8b4f0f!3,7.6,9c4611,1,0.1,9c4611!3,8.7,ad3d13,1,0.1,ad3d13!3,9.8,be3415,1,0.1,be3415!3,10.9,cf2b17,1,0.1,cf2b17!3,12.0,e02219,1,0.1,e02219!4,0.0,16027a,1,0.1,16027a!4,5.6,2a026d,1,0.1,2a026d!4,11.1,3e0260,1,0.1,3e0260!4,16.7,520253,1,0.1,520253!4,22.2,660246,1,0.1,660246!4,27.8,7a0239,1,0.1,7a0239!4,33.3,8e022c,1,0.1,8e022c!4,38.9,a2021f,1,0.1,a2021f!4,44.4,b60212,1,0.1,b60212!4,50.0,ca0205,1,0.1,ca0205&


Je kan gewoon je oude dashboard web pagina gebruiken die de data opvraagt in de nieuwe DaL versie.

zo kan je schakelen tussen dashboards:


zo maak je een dashboard met de designer, ff een voorbeeld. Voor een nagenoeg blinde,.... mooi hè.



zo voeg je een animated gif of een gewone image toe aan je dashboard:
onder je rechtermuis toets zit het path naar de images.NB, alle path namen zijn goed zolang ze maar in de "wwwroot" dir staan.
gekopieerd:

  • klump4u
  • Registratie: februari 2008
  • Niet online
@Willie Wortel
hoe is de software op de esp te krijgen?

3020wp-ZW Live 1960wp-ZZW Live Altantic Explorer 270 Live

klump4u schreef op zondag 10 januari 2021 @ 19:59:
@Willie Wortel
hoe is de software op de esp te krijgen?
Ik gebruik daar visual micro voor. Dat is een IDE wat gebruikt kan worden in Visual studio.

https://www.visualmicro.c...ual-Studio-Downloads.aspx

Lijkt even moeilijk maar is het niet. De DaL ESP software werkt met pre compiler options. Je kent het wel, wil je de Slimme meter dan TRUE anders FALSE enz... Het is een vragenlijstje. Je moet ook je user en password in numeriek (getallen) invullen. DaL haalt de data van de ESP op, dus Dal vraagt en ontvangt.

  • klump4u
  • Registratie: februari 2008
  • Niet online
@Willie Wortel
Nou de esp draait met een ds18b20 sensor eraan om te testen hoe de esp werkt.
Was wel even uit vogelen hoe de software op de ESP te krijgen maar het draait,je moet dus ook de arduinoIDE softwareinstalleren alsmede daarbij de Onewire.h en Dallastemperature.h
Als ik de webpagina van de ESP oproep via 192.168.0.41:80 krijg ik keurig de loginpagina en daar staat dan:
code:
1
2
3
4
5
This data is available:


 {  "DS18B20" : { "Data": "28FF92CB241703BB:20.45"}
}

Echter op de now pagina van de raspberry blijft de temp van sensor 6 op 0 staan?
zoals het hieronder staat heb ik het gekopieerd van de now pagina.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
Temperature sensor DS18B20 (CVAanvoer 0) rom ID: 28-2C-7A-7C-05-00-00-8A I2C: 0x18 Celcius: 29.875

Temperature sensor DS18B20 (Panelen 1) rom ID: 28-7C-C2-E6-03-00-00-FE I2C: 0x18 Celcius: 3

Temperature sensor DS18B20 (Omvormer 2) rom ID: 28-45-3B-93-04-00-00-83 I2C: 0x18 Celcius: 14.875

Temperature sensor DS18B20 (CVRetour 3) rom ID: 28-6B-26-7B-05-00-00-48 I2C: 0x18 Celcius: 27

Temperature sensor DS18B20 (WPB 4) rom ID: 28-FF-00-8E-24-17-03-EE I2C: 0x18 Celcius: 58.1875

Temperature sensor DS18B20 (WPBIngang 5) rom ID: 28-FF-50-D9-80-14-02-46 I2C: 0x18 Celcius: 13.4375

Temperature sensor DS18B20 (myHardware 6) rom ID: 28FF92CB241703BB IP: 192.168.0.41:80 Celcius: 0

3020wp-ZW Live 1960wp-ZZW Live Altantic Explorer 270 Live

@klump4u dat is vreemd, heb je de ip en port ingevuld bij de ds18b20, port op 80 zie ik..., duidelijk krijgt je raps niet de data van je esp. Heb je ook de juiste user en pass ingegeven op je esp? Die moeten ook hetzelfde zijn.

Ik zal morgen even kijken onder de motorkap. :)

[Voor 14% gewijzigd door Willie Wortel op 15-01-2021 18:49]


  • klump4u
  • Registratie: februari 2008
  • Niet online
Willie Wortel schreef op vrijdag 15 januari 2021 @ 16:50:
@klump4u dat is vreemd, heb je de ip en port ingevuld bij de ds18b20, port op 80 zie ik..., duidelijk krijgt je raps niet de data van je esp. Heb je ook de juiste user en pass ingegeven op je esp? Die moeten ook hetzelfde zijn.

Ik zal morgen even kijken onder de motorkap. :)
user en pass heb ik standaard laten staan.
IP en poort ingevuld in de options pagina.
Ik wacht het af.

3020wp-ZW Live 1960wp-ZZW Live Altantic Explorer 270 Live

https://tweakers.net/i/mvnqoIliaTAE9hshjN0mDGE9QVY=/800x/filters:strip_exif()/f/image/wo54mbARY9MlFz6wpSseFsme.png?f=fotoalbum_large[/URL]

Nou er zit een foutje in de ESP software en 1 aanpassing in de dal software.

Allereerst in je ESP software:

er moet een / geplaatst worden voor MYDATA&&&= dus "/MYDATA&&&="
waarom die slash / verdwenen is, weet ik veel.
C:
1
2
3
4
5
6
7
8
9
10
11
12
13
void handleNotFound() {
    String m = "";
    String uri = toUpper(server.uri());
    
    if (server.method() == HTTP_POST) {
        if (uri == "/MYDATA&&&=") {
            handleData();
        }
        else if (uri == "/LOGIN") {
            handleLogin();
        }
        return;
    }



En in de DaL software maken we de inlog voor de ESP algemeen dus "admin" en "41658"
Dat doe je in dal.vb de regel "Dim byteArray = Encoding.ASCII.GetBytes("admin" & ":" & "41658")"
want mocht je een ander password maken in Dal, zou je die ook moeten veranderen in de rest van de software. Je kan natuurlijk elk password en user maken die je wilt, zolang ze maar gelijk zijn in dal en de esp.

Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Public Async Function myHTTPlistener(ByVal localHost As String, ByVal Command As String) As Task(Of String)
        Try

            Dim client As New Http.HttpClient
            Dim byteArray = Encoding.ASCII.GetBytes("admin" & ":" & "41658")

            client.DefaultRequestHeaders.Authorization = New Headers.AuthenticationHeaderValue("Basic", Convert.ToBase64String(byteArray))

            Dim u As Uri = New Uri("http://" & localHost & "/" & Command & "&&&=?telegram:true&ds18b20:true")
            Dim payload = "Nothing"
            Dim c As HttpContent = New StringContent(payload, Encoding.UTF8, "application/txt")
            client.Timeout = TimeSpan.FromSeconds(5)

            Dim responseBody As Http.HttpResponseMessage = Await client.PostAsync(u, c)

            responseBody.EnsureSuccessStatusCode()

            Dim response As String = Await responseBody.Content.ReadAsStringAsync()

            Return response

        Catch ex1 As Exception
            Debug.WriteLine("error in HTTP Listener with Uri: " & localHost)
            Debug.WriteLine("Message: " & ex1.Message)
            If (ex1.Message = "An error occurred while sending the request.") Then
                Debug.WriteLine("DaL not connected to network -OR- IP not correct -OR- Port not correct.")
            End If
        End Try

        Return ""
    End Function


We kunnen het later altijd wat aanpassen als je wilt.

En pas op, als je je config op je rasp hebt staan en niet in je code:
Save altijd je opstartstring!

[Voor 7% gewijzigd door Willie Wortel op 16-01-2021 11:09]


  • klump4u
  • Registratie: februari 2008
  • Niet online
@Willie Wortel dat werkt.
Ik zal binnekort de P1 eens proberen op de ESP, moet ik eerst een RJ12 plug hebben.

3020wp-ZW Live 1960wp-ZZW Live Altantic Explorer 270 Live

klump4u schreef op zaterdag 16 januari 2021 @ 19:36:
@Willie Wortel dat werkt.
Ik zal binnekort de P1 eens proberen op de ESP, moet ik eerst een RJ12 plug hebben.
Klump, er zit een aansluit schema in de wiki. succes.

  • jmeinders
  • Registratie: december 2012
  • Laatst online: 13-04 20:05

jmeinders

www.jmeinders.nl

@Willie Wortel Ik ben nu een week met versie 4 aan het uitproberen, maar loop nog tegen bepaalde dingen aan.
1 Als ik op mijn computer in log kan ik alles benaderen maar met mobiel of tablet krijg ik de melding 401 re-enter User en password. het vinkje bij Cross origin heb ik zowel aan als uit gezet hierbij geen verschil.
2 Hoe kan ik mijn dashboard van buiten af benaderen?(poort 65333 staat open.
3 Kan ik mijn phone startupString ook gebruiken (phone app)na de tweede keer inloggen krijg ik zwart beeld en moet ik de app opnieuw installeren.

Omnik 3.0 15 Eging panelen 195wp

@klump4u
Maar er is een eenvoudige manier (voor mij) om de ESP software in de ESP te deployen.
Dit kan gewoon met Arduino IDE hoor. Ik gebruik Visual Micro omdat ik dan alles in een heb met Visual Studio.



Open Arduino IDE
Klik op "File" en ga naar "Preferences".

Voeg bij "Additional Boards Manager URLs:" onderstaande URL in. http://arduino.esp8266.co...age_esp8266com_index.json

En klik vervolgens op "OK"
Nu kun je de borden toevoegen met de volgende stappen.
Klik op "Tools" en vervolgens op "Board manager" onder het menu item "Board: XXXXXXX".
Typ in de zoekbalk "ESP8266" en er zal een blok verschijnen met de volgende titel "esp8266 by ESP8266 Community version"

Kies nu in de dropdown de gewenste versie bijvoorbeeld "2.4.0-rc2" en klik op "Install" of klik op "Update".
Sluit de "Board manager" en nu zul je onder "Tools > Board:" de Wemos kunnen vinden.

[Voor 65% gewijzigd door Willie Wortel op 18-01-2021 09:36]

jmeinders schreef op zondag 17 januari 2021 @ 10:56:
@Willie Wortel Ik ben nu een week met versie 4 aan het uitproberen, maar loop nog tegen bepaalde dingen aan.
1 Als ik op mijn computer in log kan ik alles benaderen maar met mobiel of tablet krijg ik de melding 401 re-enter User en password. het vinkje bij Cross origin heb ik zowel aan als uit gezet hierbij geen verschil.
2 Hoe kan ik mijn dashboard van buiten af benaderen?(poort 65333 staat open.
3 Kan ik mijn phone startupString ook gebruiken (phone app)na de tweede keer inloggen krijg ik zwart beeld en moet ik de app opnieuw installeren.
Ik zal er naar kijken, hoewel alles was uitgetest.

Punt 2 is Port Forwarding, moet vanaf je router. Bedoel je dat?,....

De rest kijk ik even naar.

update 1:

Op de Apple van mijn honeyponiie:



@vraag 1: heb je de CapsLock aanstaan? De eerste letter wordt altijd een hoofdletter tenzij je het pijltje omhoog indrukt.

[Voor 13% gewijzigd door Willie Wortel op 17-01-2021 11:42]


  • jmeinders
  • Registratie: december 2012
  • Laatst online: 13-04 20:05

jmeinders

www.jmeinders.nl

Willie Wortel schreef op zondag 17 januari 2021 @ 11:27:


@vraag 1: heb je de CapsLock aanstaan? De eerste letter wordt altijd een hoofdletter tenzij je het pijltje omhoog indrukt.
opgelost, fout van mij 8)7 de a van admin was een hooftletter.

van buiten af te benaderen is ook opgelost had mijn ip nog van de v3 met poort nummer 65333 in de router staan.

bij inloggen op lokaal netwerk kan ik maar met een computer mijn dashboard benaderen als deze actief is kan ik niet op andere computers inloggen geeft de volgende melding User present, try later. (only 1 user allowed)

Omnik 3.0 15 Eging panelen 195wp

Dat is de beveiliging die nu aanslaat.
Ben jij niet dezelfde client (computer) die is ingelogd dan word je de toegang geweigerd. Waarom.?. Stel dat jij inlogt in DaL, daarna wil een ander ook toegang tot DaL, dan kan dat zonder user+pwd omdat jij al ingelogd bent. De nieuwe gebruiker kan dan meeliften op jouw autorisatie nivo. (administrator, write en read)

Zo was de situatie in de vorige versie van DaL, die had totaal geen controle, en dat had te maken met het geheugen van een Netduino wat erg klein was.

Uiteraard kan je deze beveiliging uitzetten in de source code.

iedere client (computer/device) heeft op een netwerk een eigen ip/mac en port.

Kan het wel multi-user maken maar is enig programmeerwerk.

Edit: inloggen met de telefoon app werkt ook, en inloggen met mijn telefoon chrome browser doet het ook.

[Voor 6% gewijzigd door Willie Wortel op 17-01-2021 13:56]


  • klump4u
  • Registratie: februari 2008
  • Niet online
@Willie Wortel is de reset eruit i.v.m. vastlopen P1 poort? Programma is gisteravond gestopt en in de error staat P1 fout melding maar hij is niet herstart, win10 liep wel gewoon.

edit, vandaag zondag weer vast gelopen, ik heb de P1 poort er nu vanaf gehaald, ben er klaar mee.
Log alleen nog S0 pulsen en DS15b20 sensoren.

[Voor 29% gewijzigd door klump4u op 24-01-2021 20:35]

3020wp-ZW Live 1960wp-ZZW Live Altantic Explorer 270 Live

Ik heb de designer onder handen genomen, nu consistentie in het gehele programma.

Pagina: 1 ... 5 6 7 Laatste


Apple iPhone 12 Microsoft Xbox Series X LG CX Google Pixel 5 Sony XH90 / XH92 Samsung Galaxy S21 5G Sony PlayStation 5 Nintendo Switch Lite

Tweakers vormt samen met Hardware Info, AutoTrack, Gaspedaal.nl, Nationale Vacaturebank, Intermediair en Independer DPG Online Services B.V.
Alle rechten voorbehouden © 1998 - 2021 Hosting door True