Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Django 2.0: Null characters are not allowed (esp8266) #428

Closed
Calimerorulez opened this issue Jan 25, 2018 · 9 comments
Closed

Django 2.0: Null characters are not allowed (esp8266) #428

Calimerorulez opened this issue Jan 25, 2018 · 9 comments
Milestone

Comments

@Calimerorulez
Copy link

Na de update naar 1.13 werkt de esp8266 niet meer. Ik heb hem destijds aan de praat gekregen volgens #187

De error die ik krijg is:

Sending telegram to: http://:8081/api/v1/datalogger/dsmrreading
[!] API error: Invalid data

Ik zie het telegram wel binnenkomen in het script...

@dennissiemensma
Copy link
Member

Bedankt voor je melding. Wat geven de logs aan, staat daar nog een gedetaileerde foutmelding in?

http://dsmr-reader.readthedocs.io/nl/latest/troubleshooting.html

@Rayvw
Copy link

Rayvw commented Jan 25, 2018

Ik liep tegen hetzelfde probleem aan en ben naar aanleiding daarvan nog even naar de foutmelding gaan kijken. Volgens mij heeft het te maken met het volgende: https://code.djangoproject.com/ticket/28201 (een null character in het telegram form veld). Sinds Django 2.0 resulteert dat is een validation error, zie ook: https://docs.djangoproject.com/en/2.0/ref/validators/#prohibitnullcharactersvalidator

Als ik de validation error log krijg ik deze foutmelding:
{'telegram': [ValidationError(['Null characters are not allowed.'])]}

@dennissiemensma
Copy link
Member

Bedankt voor je hint en uitzoekwerk @Rayvw!

Ik zie inderdaad dat null bytes de validatie stukmaken. Helaas had ik daar nog geen benul van dat die data meekwam en daar dus ook geen test voor gemaakt. Ik zal kijken of ik een oplossing kan bedenken.

In de tussentijd kunnen jullie het beste teruggaan naar versie 1.12:

sudo su - dsmr
git fetch
git checkout tags/v1.12.0
./post-deploy.sh

@dennissiemensma dennissiemensma added this to the 1.13.1 milestone Jan 25, 2018
@dennissiemensma dennissiemensma changed the title ESP8266 werkt niet meer sinds update naar 1.13 Django 2.0: Null characters are not allowed (esp8266) Jan 25, 2018
@Calimerorulez
Copy link
Author

Calimerorulez commented Jan 26, 2018

Dank voor de hulp tot zover!

@dennissiemensma
Copy link
Member

Ik heb een mogelijke fix gemaakt in een aparte branch. Zouden jullie willen proberen of dat het oplost?

Je kunt wisselen met:

sudo su - dsmr
git fetch
git checkout origin/428-django2-null
./post-deploy.sh

Als het goed is komt de validatiefout dan niet meer voor. Mocht het toch niet werken, of loop je tegen iets anders aan, dan gelden de bovenstaande instructies nog steeds voor terugwisselen naar v1.12:

sudo su - dsmr
git fetch
git checkout tags/v1.12.0
./post-deploy.sh

@Calimerorulez
Copy link
Author

Getest en ziet er goed uit!

@dennissiemensma
Copy link
Member

Bedankt voor het testen. Ik zal dit dan releasen als opvolger en dan kunnen jullie ook weer gewoon de laatste versie draaien.

@dennissiemensma
Copy link
Member

De release is uit: https://github.com/dennissiemensma/dsmr-reader/releases/tag/v1.13.1

Als het goed is kunnen jullie weer switchen naar de master branch met:

sudo su - dsmr
git fetch
git checkout master
./deploy.sh

Versie is dan: 1.13.1

@Calimerorulez
Copy link
Author

Getest en werkt, dank je wel voor je mooie werk en hulp.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants