Arduino Mega slimme meter uitlezen met Solarmeter Harold65

Arduino specifieke Software
Gebruikers-avatar
Berichten: 241
Geregistreerd: 22 Jan 2013, 16:40

Re: Arduino Mega slimme meter uitlezen met Solarmeter Harold

Berichtdoor zuid » 08 Jul 2020, 08:30

Ik zie in een reactie van Koepel staan:
Error 307 is een tijdelijke redirect. Ik weet niet precies waarneer er zo'n foutmelding ontstaat.


Zou het kunnen dat Mindergas (kortgeleden) volledig is overgegaan van HTTP naar HTTPS.
Ik heb de melding 307 kortgeleden ook gekregen bij een site die naar HTTPS was overgegaan.
Dat was in een Android applicatie die eenvoudig was te wijzigen naar HTTPS.
Vaak is het zo dat een site tijdelijk ook HTTP nog ondersteunde.
Is "Solarmeter Harold" inmiddels ook geschikt voor HTTPS?
m.v.g. Nico

Advertisement

Gebruikers-avatar
Berichten: 241
Geregistreerd: 22 Jan 2013, 16:40

Re: Arduino Mega slimme meter uitlezen met Solarmeter Harold

Berichtdoor zuid » 08 Jul 2020, 08:53

Met hulpprogramma's voor ontwikkelaars in MS Edge kan je de 307 code zien.
Ga naar http://www.mindergas.nl/
Je ziet dan als responsecode 307 en op de volgende regel wordt pas de response 200 getoond.
In plaats van 307 wordt ook 301 voor volledige overgang naar HTTPS gebruikt.
m.v.g. Nico

Gebruikers-avatar
Berichten: 2655
Geregistreerd: 06 Aug 2016, 01:03

Re: Arduino Mega slimme meter uitlezen met Solarmeter Harold

Berichtdoor Koepel » 08 Jul 2020, 09:06

Via telnet heb ik geprobeerd een mail te versturen met de SMTP server van t-mobilethuis. Dat is dus niet met een Arduino, maar vanaf mijn computer. Na heel veel proberen had ik iets.

Het lijkt er op dat de SMTP server van t-mobilethuis nog steeds werkt zoals vroeger. De mail wordt in eerste instantie gewoon geaccepteerd door de SMTP server.
Ze hebben echter een veel strengere spam controle toegevoegd.

De email komt niet aan vanwege: BAD HEADER SECTION, MISSING_DATE, MISSING_FROM, MISSING_MID, MISSING_SUBJECT.

Een MID ("message identifier") zou toegevoegd kunnen worden.
De "Date" zou ook toegevoegd kunnen worden. Dan is het wel de bedoeling dat die ook klopt.
De "From:" doe ik blijkbaar verkeerd, maar ik weet niet wat ik verkeerd doe.
Het "Subject:" kan toegevoegd worden.

En nu ?

Gebruikers-avatar
Berichten: 117
Geregistreerd: 10 Jun 2019, 12:16
Woonplaats: Amsterdam

Re: Arduino Mega slimme meter uitlezen met Solarmeter Harold

Berichtdoor master64nl » 08 Jul 2020, 13:42

zuid schreef:Met hulpprogramma's voor ontwikkelaars in MS Edge kan je de 307 code zien.
Ga naar http://www.mindergas.nl/
Je ziet dan als responsecode 307 en op de volgende regel wordt pas de response 200 getoond.
In plaats van 307 wordt ook 301 voor volledige overgang naar HTTPS gebruikt.
m.v.g. Nico


Ik heb met mindergas gemaild en ze hadden het ook al een keer van een andere Arduino gebruiker die ook code kan schrijven en hier onder is de oplossing voor mindergas.nl

Code: Alles selecteren

Hi Andre,

Ik vermoed dat het niet met je overstap naar T-Mobile te maken heeft.
Waarschijnlijk wordt er in solarmeter software een verouderde url
gebruikt voor het uploaden van de meterstanden.

Een andere Arduino gebruiker stuurde mij dit code fragment uit:

sprintf(dataString,"{\"date\":\"%04d-%02d-%02d\",\"reading_l\":\"%ld\"}", year(t),month(t),day(t),MG_SENSOR.Midnight);
                // send headers
                mgClient << F("POST /you_less/gas_meter_readings?auth_token=" MG_KEY " HTTP/1.1") << endl;
                mgClient << F("Host: mindergas.nl") << endl;
                mgClient << F("User-Agent: Arduino") << endl;
                mgClient << F("Content-Type: application/json") << endl;
                mgClient << F("Accept: application/json") << endl;
                mgClient << F("Content-Length: ") << strlen(dataString) << endl << endl;
                // send the data
                mgClient << dataString << endl;

Indien je hierin 'you_less' aanpast in 'api' dan zal het weer werken.

Dus:

mgClient << F("POST /api/gas_meter_readings?auth_token=" MG_KEY " HTTP/1.1") << endl;

Gebruikers-avatar
Berichten: 241
Geregistreerd: 22 Jan 2013, 16:40

Re: Arduino Mega slimme meter uitlezen met Solarmeter Harold

Berichtdoor zuid » 08 Jul 2020, 15:32

Kennelijk heeft in de oude situatie de doorverwijzing naar de juiste url buiten de Arduino software om nog wel gewerkt.
KPN modem-router ??
De library van de Arduino software voor de http cliënt doet automatische doorverwijzing in ieder geval niet, daar is een andere library voor nodig met de automatische redirect.
Andere optie is dat de website met de url naar you_less nu ook toevallig anders reageert.
Aanpassing van de url in de Arduino software is dus nu de oplossing.
mvg Nico

(zie ook https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/307

Gebruikers-avatar
Berichten: 117
Geregistreerd: 10 Jun 2019, 12:16
Woonplaats: Amsterdam

Re: Arduino Mega slimme meter uitlezen met Solarmeter Harold

Berichtdoor master64nl » 08 Jul 2020, 17:07

zuid schreef:Kennelijk heeft in de oude situatie de doorverwijzing naar de juiste url buiten de Arduino software om nog wel gewerkt.
KPN modem-router ??
De library van de Arduino software voor de http cliënt doet automatische doorverwijzing in ieder geval niet, daar is een andere library voor nodig met de automatische redirect.
Andere optie is dat de website met de url naar you_less nu ook toevallig anders reageert.
Aanpassing van de url in de Arduino software is dus nu de oplossing.
mvg Nico

(zie ook https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/307


Yep, dus dit is opgelost. Nu nog dat mailtje versturen van de Arduino.
Zie juiste mindergas vermelding nu.
last PvOutput fail= @ Never
DNS status=1
Last NTP update=08.07.20 14:00:01 (in 1x)
mgUpload=08.07.20 17:05:00
MgResponse=201
WD ctr=169
WD val=5
Reset Day=8
Free=6069

Gebruikers-avatar
Berichten: 117
Geregistreerd: 10 Jun 2019, 12:16
Woonplaats: Amsterdam

Re: Arduino Mega slimme meter uitlezen met Solarmeter Harold

Berichtdoor master64nl » 08 Jul 2020, 17:11

Koepel schreef:Via telnet heb ik geprobeerd een mail te versturen met de SMTP server van t-mobilethuis. Dat is dus niet met een Arduino, maar vanaf mijn computer. Na heel veel proberen had ik iets.

Het lijkt er op dat de SMTP server van t-mobilethuis nog steeds werkt zoals vroeger. De mail wordt in eerste instantie gewoon geaccepteerd door de SMTP server.
Ze hebben echter een veel strengere spam controle toegevoegd.

De email komt niet aan vanwege: BAD HEADER SECTION, MISSING_DATE, MISSING_FROM, MISSING_MID, MISSING_SUBJECT.

Een MID ("message identifier") zou toegevoegd kunnen worden.
De "Date" zou ook toegevoegd kunnen worden. Dan is het wel de bedoeling dat die ook klopt.
De "From:" doe ik blijkbaar verkeerd, maar ik weet niet wat ik verkeerd doe.
Het "Subject:" kan toegevoegd worden.

En nu ?


Ja, dat is de grote vraag. Ik heb op het https://community.t-mobile.nl/t-mobile-thuis-internet-492/arduinoatmailatgas-standen-324632?postid=1563221#post1563221 dit gekregen dat het via telnet wel werkt maar ze weten wat er na gebeurd.
Bijlagen
cd5915c0-d268-4fcd-afd5-44b14eb86df3.png
cd5915c0-d268-4fcd-afd5-44b14eb86df3.png (25.74 KiB) 6978 keer bekeken

Gebruikers-avatar
Berichten: 241
Geregistreerd: 22 Jan 2013, 16:40

Re: Arduino Mega slimme meter uitlezen met Solarmeter Harold

Berichtdoor zuid » 08 Jul 2020, 21:59

Ik heb zojuist even op het T mobile forum meegelezen.
Als het niet werkt is de oorzaak wellicht de extra .ino copie file
Deze mag je NIET in de zelfde map laten staan.
Je weet dan niet welke van de twee de compiler gaat gebruiken.
Maar misschien heeft de compiler het al als fout gemeld.

Gebruikers-avatar
Berichten: 117
Geregistreerd: 10 Jun 2019, 12:16
Woonplaats: Amsterdam

Re: Arduino Mega slimme meter uitlezen met Solarmeter Harold

Berichtdoor master64nl » 09 Jul 2020, 05:51

Het werkt met hulp van het T-Mobile forum. De mail kwam even na 22:00 uur binnen.

Code: Alles selecteren
#ifdef USE_MAIL
EthernetClient mailClient;

void SendMail()
{
    if(mailClient.connect(MAIL_SERVER,25))
    {
        if(CheckResponse())
        {
            mailClient << F("HELO Arduino") << endl; // say hello
            if(CheckResponse())
            {
                mailClient << F("MAIL FROM:" MAIL_FROM) << endl; // identify sender
                if(CheckResponse())
                {
                   mailClient << F("RCPT TO:" MAIL_TO) << endl; // identify recipient
                    if(CheckResponse())
                    {
                        mailClient << F("DATA") << endl;
                        if(CheckResponse())
                        {
                           // Toegevoegde regel FROM i.v.m. Gmail mail server rejection
                            mailClient << F("FROM:" MAIL_FROM) << endl;

                            mailClient << F("Subject:SolarMeter ") << day() << endl; // insert subject
                            mailClient << F("Content-type: text/html;") << endl << endl;

                            ShowStatus(mailClient);

                            mailClient << endl << F(".") << endl; // end of mail

                  if(CheckResponse())
                            {
                                mailClient << F("QUIT") << endl; // terminate connection
                            }
                        }
                    }
                }
            }
        }
        mailClient.stop();
    }
}

boolean CheckResponse()
{
  return mailClient.find((char*)"\n");

//    long timer = millis();
 //   while(millis() - timer < 5000)
  //  {
   //     if(mailClient.available())
    //    {
     //       char c = mailClient.read();
      //      if(c=='\n') return true;
       // }
   // }
   // return false;
}


#endif

Gebruikers-avatar
Berichten: 2655
Geregistreerd: 06 Aug 2016, 01:03

Re: Arduino Mega slimme meter uitlezen met Solarmeter Harold

Berichtdoor Koepel » 09 Jul 2020, 07:08

Dat is mooi :D
Als je de brontekst van je mail bekijkt, dan kun je in de header zien of er nog gemopperd wordt door het spam-filter dat er nog iets ontbreekt.

VorigeVolgende

Terug naar Arduino software

Wie is er online?

Gebruikers in dit forum: avoveozonuni en 16 gasten