The geek shall inherit the earth.
Als jij het weet hoe op te halen van weather underground?jessesteinen schreef op vrijdag 05 juli 2013 @ 22:43:
Is het een idee om externe weerdata (bijv. van Weather Underground o.i.d.) op te halen en te gebruiken voor de temperatuur? Dat geeft je niet precies de temperatuur achter je panelen, maar wel een goede indicatie van de buitentemperatuur bijvoorbeeld t.o.v. je gasverbruik.
Buienradar publiceert een xml feed (http://xml.buienradar.nl)Willie Wortel schreef op vrijdag 05 juli 2013 @ 23:51:
[...]
Als jij het weet hoe op te halen van weather underground?
Daarin zoek je een weerstation bij jou in de buurt, voor mij is dat bijv. 6380 (Maastricht)
In de xml feed heb je dan een veld <temperatuurGC>, bijv.
1
| <temperatuurGC>16.2</temperatuurGC> |
Dus als je gebruikers een weerstation laat invoeren, dan kun je elke 5 of 10 min. ofzo de temperatuur voor die locatie uit de xml feed halen.
Via Weather Underground kan ook (xml en JSON), maar dat is wat complexer en dan moet elke gebruiker eigenlijk zijn eigen API-key aanvragen en invoeren in de config: http://www.wunderground.com/weather/api/
[ Voor 18% gewijzigd door jessesteinen op 06-07-2013 00:20 ]
The geek shall inherit the earth.
Zou net leuk zijn om de temperatuur v/d zonnepanelen en/of de omvormer te loggen.
18950Wpš, Atlantic 270V3š§, Pana 5Jš„. Zendure 2400AC 11,5kWhš,Hyundai Kona 64kWh š, Peblar Home ā½
Het zou helemaal leuk zijn als je een paar uitgangen (vrij bruikbaar) via een telefoon app aan en uit zou kunnen zetten. Uitgangen bv een byte per bit van een hc595 chip. Kan je voor alles in huis gebruiken.
Lampje aan, verwarminkje uit enz. Via de iPhone/ ipad (of evt. android) app.
Wie wil, kan de app hiervoor maken?
[ Voor 20% gewijzigd door RuudMR op 06-07-2013 11:05 ]
Ik bespeur hier een verborgen agendaRuudMR schreef op zaterdag 06 juli 2013 @ 08:37:
Willie,
Het zou helemaal leuk zijn als je een paar uitgangen (vrij bruikbaar) via een telefoon app aan en uit zou kunnen zetten. Uitgangen bv een byte per bit van een hc595 chip. Kan je voor alles in huis gebruiken.
![]()
![]()
The geek shall inherit the earth.
zit er al in.RuudMR schreef op zaterdag 06 juli 2013 @ 08:37:
Willie,
Het zou helemaal leuk zijn als je een paar uitgangen (vrij bruikbaar) via een telefoon app aan en uit zou kunnen zetten. Uitgangen bv een byte per bit van een hc595 chip. Kan je voor alles in huis gebruiken.
![]()
![]()
Nee hoor Jesse, alle programma code die geschreven is gaat naar GĆ© van het weekend (onder voorbehoud..tijd), die zet het op codeplex met de basis handleiding.
Uitbreidingen / verbeteringen aan het programma wordt centraal gestald en getest op juiste werking voordat het op codeplex wordt geparkeerd in de main broncode.
En er zijn voorbereidingen gemaakt voor de mobile telefoon.
En .NET micro framework 4.2 en 4.3 heeft nog niet 10% van de programmeerkracht (veel is eruit gesloopt om ruimte te besparen) als .NET voor windows computers.
[ Voor 13% gewijzigd door Willie Wortel op 06-07-2013 09:45 ]
Edit:
Geen blauwe led
Reset werkt / reageert ook niet
Display staat stil op 1 scherm
Volledige power off verhelpt het.
[ Voor 35% gewijzigd door Rol-Co op 06-07-2013 13:21 ]
Noord-Oost-Zuid-West 11640Wp Totaal Live, Netduino advanced pv logging
Dat viel me de laatste keer bij mij ook op dat de resetknop wel wat doet maar geen herstart van de netduino.Rol-Co schreef op zaterdag 06 juli 2013 @ 13:11:
Helaas hier vastgelopen en komt niet terug na het volle uur. Gekke is dat dit meestal gebeurd met een mooie zonnige dag.
Edit:
Geen blauwe led
Reset werkt / reageert ook niet
Display staat stil op 1 scherm
Volledige power off verhelpt het.
18950Wpš, Atlantic 270V3š§, Pana 5Jš„. Zendure 2400AC 11,5kWhš,Hyundai Kona 64kWh š, Peblar Home ā½
Ik weet niet of er een relatie is, maar met de V1 versie met de eerste software versies liep hij bij mij ook altijd vast als het mooi weer was (meer pulsen??)Rol-Co schreef op zaterdag 06 juli 2013 @ 13:11:
Helaas hier vastgelopen en komt niet terug na het volle uur. Gekke is dat dit meestal gebeurd met een mooie zonnige dag.
Edit:
Geen blauwe led
Reset werkt / reageert ook niet
Display staat stil op 1 scherm
Volledige power off verhelpt het.
Dan ook geen blauwe led en alleen te verhelpen met een power off.
Nu met de V1 en versie 1.3 software nog geen enkele vastloper (draait nu 3 weken)
[ Voor 5% gewijzigd door Tafkar op 06-07-2013 15:49 ]
Vind het enthousiasme waarmee hier gewerkt wordt wel leuk.
Ik gebruik nu zelf een oude versie icm de php uitbreiding van Enconse en dat bevalt prima...
Zit er al in dacht ik, maar heeft alleen nut met een slimme meter, met een ferraris maakt het niet uit.Tomcat schreef op zaterdag 06 juli 2013 @ 18:06:
Ik kan me voorstellen dat het wel leuk zou zijn om apparaten in huis aan en uit te schakelen op basis van teruglevering. Ik schakel nu zelf al mijn zuurstofpomp van de vijver in en uit als de zon schijnt om zo maximaal gebruik te maken van de opgewekte stroom. Misschien op basis van KlikAanKlikUit?
Vind het enthousiasme waarmee hier gewerkt wordt wel leuk.
Ik gebruik nu zelf een oude versie icm de php uitbreiding van Enconse en dat bevalt prima...
Noord-Oost-Zuid-West 11640Wp Totaal Live, Netduino advanced pv logging
Had met de aanpassing het idee zo van ik hoor niks dan zal het wel goed zijn.
Als Rolco dat wil, kan hij de update morgenavond in zijn Netduino plaatsen, maandag en dinsdag wordt het ook heel mooi weer.
Als we nu met het testen zouden stoppen en de code online zetten is heel ons experiment ten einde. Want ik weet met mijn 35 jaar ervaring als hobby programmeur zeg maar, dat iedereen een andere visie en oplossingen heeft.
Ja graag, liefst vanavond nog omdat de data nu toch al verminkt is, morgen,maandag,dinsdag word het nog mooi inderdaad.Willie Wortel schreef op zaterdag 06 juli 2013 @ 18:53:
Door de "vastloper" van Rolco wordt eea iets wat vertraagd. Had de aanpassing al bijna geschreven maar maak het nu af om het door Rolco te laten testen.
Had met de aanpassing het idee zo van ik hoor niks dan zal het wel goed zijn.
Als Rolco dat wil, kan hij de update morgenavond in zijn Netduino plaatsen, maandag en dinsdag wordt het ook heel mooi weer.
Als we nu met het testen zouden stoppen en de code online zetten is heel ons experiment ten einde. Want ik weet met mijn 35 jaar ervaring als hobby programmeur zeg maar, dat iedereen een andere visie en oplossingen heeft.
Maar als het niet haalbaar is dan morgen.
Heb je een idee waar dat in zit? Had ik de watchdog aan moeten zetten? Zou dat helpen?
Wat ook gebeurd is
Vanmorgen was mijn internet verbinding er niet, waarschijnlijk een storing bij caiway en toen dat weer terug kwam was het netjes ingevuld bij pv output, nou moet ik 9 van de 10 mijn router even rebooten als er zoiets is en het viel me ook op dat als je de router uit zet de display zo traag word dat hij letterlijk cijfer voor cijfer de display text op gaat bouwen.
Router aan en hij gaat weer snel.
Noord-Oost-Zuid-West 11640Wp Totaal Live, Netduino advanced pv logging
Rolco, het kan niet eerder dan dan morgen.Rol-Co schreef op zaterdag 06 juli 2013 @ 19:55:
[...]
Ja graag, liefst vanavond nog omdat de data nu toch al verminkt is, morgen,maandag,dinsdag word het nog mooi inderdaad.
Maar als het niet haalbaar is dan morgen.
Heb je een idee waar dat in zit? Had ik de watchdog aan moeten zetten? Zou dat helpen?
Wat ook gebeurd is
Vanmorgen was mijn internet verbinding er niet, waarschijnlijk een storing bij caiway en toen dat weer terug kwam was het netjes ingevuld bij pv output, nou moet ik 9 van de 10 mijn router even rebooten als er zoiets is en het viel me ook op dat als je de router uit zet de display zo traag word dat hij letterlijk cijfer voor cijfer de display text op gaat bouwen.
Router aan en hij gaat weer snel.
Dit is interessant...
had je ontdekt dat je Netduino was vastgelopen nadat je ontdekt had dat je internet eruit ligt.?
Of was je netduino vastgelopen, je hebt hem gereset en na een tijd lag je internet eruit.?
De watchdog wordt als laatste geschreven als alle code klaar is.
[ Voor 3% gewijzigd door Willie Wortel op 06-07-2013 20:55 ]
Om 12:25 loopt de netduino vast, ik zat toevallig ook al een kwartiertje te kijken op pvoutput dus viel gelijk op, even gewacht tot na 13:00 of hij hersteld maar nee.
In de meterkast gekeken en geen blauwe led, display geeft laatste gegeven aan en met reset gebeurd er niets.
Dan stekker er uit om 13:20 en alles loopt weer.
Gekke is ook dat pvoutput niet verder telt maar als je een compare doet met bijv jouw systeem zie je dat hij weer bij 0 is begonnen en gaat weer verder optellen als hij voorbij de laatste waarde is.
Dat gelt voor alle 3 de pulse.
Noord-Oost-Zuid-West 11640Wp Totaal Live, Netduino advanced pv logging
In de versies tot V2.0.0.9 dat is de laatste die ik heb kun je de kWh dagtellers instellen na een reset/nieuwe settings save/power cycle met [IP]:poort/PULSEMETER:x:yyyy met x= pulsmeternummer en yyyy in Wh
Eilandbedrijf met netondersteuning , all-electric || Deye 12KSG04LP3 met 580Ah-LFP 51,2V (Seplos 3x48100-10C +48200-10E) || hulp-Deye 12k SG04LP3 met 280Ah-LFP 51,2V || 19.4 kWp PV || Zonneplan EPEX-klant
dus na je reset:
[IP]/PulseMeter:0:2000 = Change PulseMeter(0) in 2000 WATT (2KWH) PulseMeter:1:6500 = Change PulseMeter(1) in 6500 WATT (6.6KWH)
er zit een help in je webserver, tik na je password (5 minute remaining) maar eens "help" in ipv je password
[ Voor 57% gewijzigd door Willie Wortel op 06-07-2013 21:45 ]
Zal eens op een pc proberen, ipad lukt dat niet zo te zien.
Noord-Oost-Zuid-West 11640Wp Totaal Live, Netduino advanced pv logging
Deze optie is alleen cosmetisch.

en in het dropdown keuze menu:

[ Voor 24% gewijzigd door Willie Wortel op 06-07-2013 22:58 ]
An unhandled exception of type 'System.ArgumentException' occurred in Microsoft.SPOT.Hardware.dll
Deze foutmelding heb ik niet wanneer ik de s0 meter op false zet
#Const soPulseMeter = False
Ik heb de assemblies uit de debug folder van de release, maar het maakt niet uit of ik kies voor de assemblies in C:\Program Files (x86)... of wanneer ik netduinoplus.dll vervang door netduino.dll (die laatste geeft dan andere foutmeldingen). Ik maak gebruik van SDK 4.2 en ik heb alles al meermaals opnieuw geinstalleerd op de juiste volgorde.
Hij komt overigens alleen met de foutmelding als er netwerkverbinding is. Is er geen netwerkverbinding dan is er ook geen foutmelding...
Heb je geen fout gemaakt bij de invoer van je Key's etc... of aantal pulsen ?
Vreemd joh, met mooi weer ineens de gekste dingen, wat heeft dat er nou mee te maken.
Noord-Oost-Zuid-West 11640Wp Totaal Live, Netduino advanced pv logging
Ik heb toen de kabels opnieuw gesoldeerd en het display ingebouwd en nu nergens last van.
Displays zijn volgens mij best wel gevoelig zo los in de meterkast.
18950Wpš, Atlantic 270V3š§, Pana 5Jš„. Zendure 2400AC 11,5kWhš,Hyundai Kona 64kWh š, Peblar Home ā½
Ik heb de laatste 1.3.1 van de website gepakt en daar heb ik alleen het hoognodige aangepast. Ook als ik terug ga naar 1.0.4 krijg ik hetzelfde. De debugger knalt op de onderstaande 2de regel:Willie Wortel schreef op zondag 07 juli 2013 @ 08:41:
Ensconce, een 'System.ArgumentException' krijg je als je bijvoorbeeld een variabele verandert van string naar integer of geheel weglaat en heeft niets met je referenties te maken.
Heb je geen fout gemaakt bij de invoer van je Key's etc... of aantal pulsen ?
Me.m_pulse = New InterruptPort(pin, False, Port.ResistorMode.Disabled, Port.InterruptMode.InterruptEdgeLevelHigh)
AddHandler Me.m_pulse.OnInterrupt, AddressOf PulseMeter
Kan het zijn dat mijn s0 poort van mijn meter stuk is?
Overigens ziet de configuratie van mijn s0 poort er als volgt uit
'Electric Board S0 PulseMeter
Public Const cnstHowManyPulsesPulseMeter = 1000
Public PulsePinD13 As S0PulseMeter.PulseMeter
[ Voor 11% gewijzigd door EnsconcE op 07-07-2013 14:53 ]
Kan iemand me op weg helpen?
[ Voor 6% gewijzigd door NinjaTuna op 07-07-2013 15:10 ]
De stabiele V1 versie heeft een aparte thread op GOT.NinjaTuna schreef op zondag 07 juli 2013 @ 15:06:
Met de komst van een slimme meter en zonnepanelen ben ik ook wel geĆÆnteresseerd in deze vorm van logging. Ik heb alleen geen idee waar ik kan beginnen met inlezen. De topicstart bevat niet zoveel info (no offense), en de link naar documentatie op CodePlex is dood. (edit: er is ook geen download beschikbaar)
Kan iemand me op weg helpen?
De software en handleiding daarvan vind je op codeplex.
Deze thread gaat over de V2 versie die nog volop in ontwikkeling is en waarvoor behalve deze thread nog weinig documentatie is. De software & documentatie komt straks op hier op codeplex.
De V2 is nog niet stabiel, o.a. door problemen met de firmware van de ND+2. Als je vooral een werkende
The geek shall inherit the earth.
dan heb je de software van de v1 gebruikt voor de v2, die kent nl niet de edgelevelhigh maar de levelhigh.EnsconcE schreef op zondag 07 juli 2013 @ 14:52:
[...]
Ik heb de laatste 1.3.1 van de website gepakt en daar heb ik alleen het hoognodige aangepast. Ook als ik terug ga naar 1.0.4 krijg ik hetzelfde. De debugger knalt op de onderstaande 2de regel:
Me.m_pulse = New InterruptPort(pin, False, Port.ResistorMode.Disabled, Port.InterruptMode.InterruptEdgeLevelHigh)
AddHandler Me.m_pulse.OnInterrupt, AddressOf PulseMeter
Kan het zijn dat mijn s0 poort van mijn meter stuk is?
Overigens ziet de configuratie van mijn s0 poort er als volgt uit
'Electric Board S0 PulseMeter
Public Const cnstHowManyPulsesPulseMeter = 1000
Public PulsePinD13 As S0PulseMeter.PulseMeter
Ik heb de hele dag de routine die jij gebruikt, hier laten draaien met een anker aan zijn poot zeg maar. Elke puls die binnenkwam heb ik 5 random pulses erbij gesimuleerd in dezelfde taak. Hij loopt nog steeds.Rol-Co schreef op zondag 07 juli 2013 @ 09:43:
De display is al gestopt, er staat alleen verbruik D
Vreemd joh, met mooi weer ineens de gekste dingen, wat heeft dat er nou mee te maken.
Je gebruikt 3 pulsemeters, ik zou beginnen met het testen van 1 meter en zo verder. Het eind resultaat zal ons allen verbazen.
[ Voor 3% gewijzigd door Willie Wortel op 07-07-2013 17:00 ]
Ik ben er nog niet achter hoe ik geheugengebruik kan profilen maar dit is het resultaat van nog een uurtje nadenken:
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
| Class ReadSerialP1Port ' Values from legacy code Shared ReadOnly ConsumedElectricityHighTariff As New Matcher(":1.8.2(", "*kWh)") Shared ReadOnly ConsumedElectricityLowTariff As New Matcher(":1.8.1(", "*kWh)") Shared ReadOnly SolarDeliveryLowTariff As New Matcher(":2.8.1(", "*kWh)") Shared ReadOnly SolarDeliveryHighTariff As New Matcher(":2.8.2(", "*kWh)") Shared ReadOnly CurrentElectricityTariff As New Matcher(":96.3.10(", ")") Shared ReadOnly CurrentSolarDelivery As New Matcher(":2.7.0(", "*kW)") Shared ReadOnly CurrentPowerConsumption As New Matcher(":1.7.0(", "*kW)") Shared ReadOnly ConsumedGas As New Matcher("(m3)" & vbCrLf & "(", ")") 'Parses a P1 telegram to a P1Result struct Shared Function ParseTelegram(telegram As String) As P1Result Dim result As New P1Result result.ConsumedGas = ConsumedGas.GetValue(telegram) result.ConsumedElectricityHighTariff = ConsumedElectricityHighTariff.GetValue(telegram) result.ConsumedElectricityLowTariff = ConsumedElectricityLowTariff.GetValue(telegram) result.CurrentElectricityTariff = CType(CurrentElectricityTariff.GetValue(telegram), ElectricityTariff) result.CurrentPowerConsumption = CurrentPowerConsumption.GetValue(telegram) result.CurrentSolarDelivery = CurrentSolarDelivery.GetValue(telegram) result.SolarDeliveryHighTariff = SolarDeliveryHighTariff.GetValue(telegram) result.SolarDeliveryLowTariff = SolarDeliveryLowTariff.GetValue(telegram) result.LastTimeReceivedTelegram = Date.Now Return result End Function 'Matches text between prefix and postfix Private Class Matcher Dim _postfix As String Dim _prefix As String Public Sub New(prefix As String, postfix As String) _prefix = prefix _postfix = postfix End Sub ' Interprets the match as Double. ' When parsing fails or there is no match, Double.NaN is returned. Public Function GetValue(input As String) As Double Dim begin As Integer = input.IndexOf(_prefix) If begin < 0 Then Return Double.NaN begin += _prefix.Length 'skip the prefix itself Dim endindex As Integer = input.IndexOf(_postfix, begin) If endindex < 0 Then Return Double.NaN Dim middle As String = input.Substring(begin, endindex - begin) Dim result As Double If (Not Double.TryParse(middle, result)) Then Return Double.NaN End If Return result End Function End Class End Class |
Het ik-wil-een-warmtepomp FAQ topic- '23 MG5, douchen met wtw en Auer Edel Eau, verwarming met Vaillant Arotherm Plus.
Ik denk niet dat het te maken heeft met het aanal pulsen, dan zou hij vandaag helemaal vastlopen denk je niet, veel pulsen vandaag.Willie Wortel schreef op zondag 07 juli 2013 @ 16:57:
[...]
Ik heb de hele dag de routine die jij gebruikt, hier laten draaien met een anker aan zijn poot zeg maar. Elke puls die binnenkwam heb ik 5 random pulses erbij gesimuleerd in dezelfde taak. Hij loopt nog steeds.
Je gebruikt 3 pulsemeters, ik zou beginnen met het testen van 1 meter en zo verder. Het eind resultaat zal ons allen verbazen.
Noord-Oost-Zuid-West 11640Wp Totaal Live, Netduino advanced pv logging
The geek shall inherit the earth.
Doe ik ook, met ipad in de tuinjessesteinen schreef op zondag 07 juli 2013 @ 17:09:
Vergeten we niet zelf ook van de zon te genieten vandaag?
Noord-Oost-Zuid-West 11640Wp Totaal Live, Netduino advanced pv logging
KWh counters met s0 heb ik al.
Moet dus hebben denk Netduino ? Welke versie
2 s0 tellers of zo iets
En een display voor aan de Netduino ?
Proton,Proton_ schreef op zondag 07 juli 2013 @ 17:03:
Klinkt (zonder extra diagostiek) als een threading issue (deadlock bijvoorbeeld, of op zo'n embedded platform misschien zelfs stack corruption)?
Ik ben er nog niet achter hoe ik geheugengebruik kan profilen maar dit is het resultaat van nog een uurtje nadenken:
Visual Basic:
1 2 3 4 Class ReadSerialP1Port ' Values from legacy code ........
-wordt zo de routine niet onnodig traag, immers iedere keer wordt het gehele Telegram doorlopen tot de Pre en Postfix gevonden zijn. Bij mijn simpele routine wordt alleen het gedeelte doorlopen wat nog niet is afgehandeld.
- indien er geen geldige waarde is wordt er een NaN (Not A Numeric) teruggegeven, dit kunnen we niet afhandelen, is het niet beter de NaN te negeren.
-is het wijs om zo gecomprimeerd te programmeren, wordt zo het onderhoud niet op de proef gesteld, nog maar te zwijgen van de Tweakers die wel "basis" kennisg hebben met programmeren en graag wat willen aanpassen. Daarom gebruik bv ik geen reguliere expressie.
The geek shall inherit the earth.
Ben je gek jij kan ook goed programmeren, het leven is geen wedstrijd. Ik leer nog net zoveel als jij, moet dadelijk toch een feest voor ons allen zijn als we een heel mooi programma hebben, om te klussebussen.jessesteinen schreef op zondag 07 juli 2013 @ 21:26:
Ik zit nu voorste rij op te letten, hier kan ik nog wat opsteken
Een stekkertje hier, een schroefje daar.......even solderen......wat aanpassen in het programma.....Ik ben helemaal blij.
Werkt goed moet ik zeggen.

en hup, weer hersteld, zo simpel kan het leven zijn.

[ Voor 65% gewijzigd door Willie Wortel op 07-07-2013 21:55 ]
Meten is wetenWillie Wortel schreef op zondag 07 juli 2013 @ 20:37:
[...]
-wordt zo de routine niet onnodig traag, immers iedere keer wordt het gehele Telegram doorlopen tot de Pre en Postfix gevonden zijn. Bij mijn simpele routine wordt alleen het gedeelte doorlopen wat nog niet is afgehandeld.
Matcher performance: (lower is better)00:00:03.3550047
Old performance: (lower is better)00:00:06.6100092
Het nieuwe voorstel is 2x sneller. Zal ik uitleggen waarom?
Het alternatief is de gebruiker ongeldige data voorschotelen. Kwestie van smaak. Welke code kan een NaN niet afhandelen? De meeste operators gedragen zich heel netjes (garbage in=>garbage out).- indien er geen geldige waarde is wordt er een NaN (Not A Numeric) teruggegeven, dit kunnen we niet afhandelen, is het niet beter de NaN te negeren.
Regex was mijn eerste gedachte maar een proefje wees uit dat dat in het micro framework ~100x trager was-is het wijs om zo gecomprimeerd te programmeren, wordt zo het onderhoud niet op de proef gesteld, nog maar te zwijgen van de Tweakers die wel "basis" kennisg hebben met programmeren en graag wat willen aanpassen. Daarom gebruik bv ik geen reguliere expressie.
Onderhoudbaarheid van software is een studie apart (wordt nog nergens gegeven helaas).
Een belangrijke maat is de hoeveelheid code die aangepast moet worden bij een wijziging.
Je eigen code onderhouden is altijd makkelijker dan je in iemands anders hoofd moeten verplaatsen, ik ga dus niet beweren dat mijn code 'beter onderhoudbaar' is
Wel kan je proberen in beide stukken code bijvoorbeeld een watermeter toe te voegen en kijk hoeveel verspreide wijzigingen er gemaakt moeten worden (dus hoeveel stukken code je moet doorgronden om de aanpassing te doen).
Het ik-wil-een-warmtepomp FAQ topic- '23 MG5, douchen met wtw en Auer Edel Eau, verwarming met Vaillant Arotherm Plus.
Je Meten is weten is niet geheel eerlijk verlopen omdat je de function isNumeric niet in je bezit had. Misschien heb je de oude basic functie gebruikt om te testen, weet ik veel.Proton_ schreef op zondag 07 juli 2013 @ 23:08:
[...]
Meten is weten. In de emulator op een crappy netbook 100 P1 telegrammen decoderen:
Matcher performance: (lower is better)00:00:03.3550047
Old performance: (lower is better)00:00:06.6100092
Het nieuwe voorstel is 2x sneller. Zal ik uitleggen waarom?
[...]
Waarom ik IsNumeric gebruikte weet ik niet meer zeker: de diepe gedachte was (even graven in mijn geheugen) dat VB de globalisation gebruikte (een komma voor decimalen) uit de numberformatinfo class.
------------
Maar nu zullen we het weten ook ...ik zal later vandaag/vanavond met de test resultaten komen, wat nu sneller is in Ticks, ik zal de twee P1 SerialRead classes een voor een aanzetten en debug.print gebruiken.
Never the less, wordt jou code in de sources gehatseflatst, ziet er gewoon gelikter uit.
The RTM release of the 4.3 firmware is slated to include the much newer lwIP networking stack, which fixes quite a few networking bugs. We're just waiting on .NET MF 4.3 QFE1 at this point, and are looking forward to integrating this new stack.
Het ik-wil-een-warmtepomp FAQ topic- '23 MG5, douchen met wtw en Auer Edel Eau, verwarming met Vaillant Arotherm Plus.
ik heb inmiddels een nieuwe netduino. Die oude was duidelijk overleden.
Ik ben er inmiddels achter dat mijn netduino met het uitlezen van de P1 vast loopt (blue led) en dat de s0 meting goed gaat. Helaas gaat het uploaden naar PVoutput goed totdat ik ook mijn netwerkadres kwijt raak. De volgende dag begint hij gewoon weer correct van voren af aan.
Dat heb ik terug herleid naar momenten waarop de tv aan of uit gaat. Blijkbaar gaat er in de KPN (glasvezel) router dan toch iets niet helemaal lekker. Het maakt daarbij niet uit of ik een statisch iP adres in stel of DHCP met adres gekoppeld aan MAC adres gebruik. Ik wacht dus met spanning op de release van de nieuwste versies waarin het IP adres vernieuwd wordt.
Mocht het met de P1 niks worden kan ik altijd nog 2 s0 meters toevoegen die elk voor de helft van de meterkast het verbruik meten.
Ik vroeg me nog wel iets anders af. Naar PVoutput kun je zowel verbruik als productie sturen. Op de pagina van Willie zie ik dat bijvoorbeeld, maar dat is het actuele verbruik van de P1 meter. Als de opbrengst van de zonnepanelen groter is dan het werkelijk verbruik laat PVoutput dus 0 zien. Volgens mij is dat niet juist. Is het niet beter om het werkelijk verbruik te berekenen als:
Consumption now P1 + (generation now s0 (Pin13) - generation now P1)
Ik heb het geprobeerd, maar mij lukte het niet.
[ Voor 4% gewijzigd door Tio132 op 08-07-2013 15:48 ]
Graag het draadje hier teruglezen, ik heb in een aantal posts terug eea uiteengezet, welk display je het best kunt gebruiken en waar ikzelf de voorkeur aan geef. Hoop dat dit je verder help.Heuvelsjh schreef op zondag 07 juli 2013 @ 20:33:
Avond mensen heeft iemand een soort van boodschappen lijst, ik wil 2 x kWh ( 1 voor zonnestets en actueel verbruik ) counters met s0 loggen naar pvoutput.
KWh counters met s0 heb ik al.
Moet dus hebben denk Netduino ? Welke versie
2 s0 tellers of zo iets
En een display voor aan de Netduino ?
Was al bij pagina 8Willie Wortel schreef op maandag 08 juli 2013 @ 16:54:
[...]
Graag het draadje hier teruglezen, ik heb in een aantal posts terug eea uiteengezet, welk display je het best kunt gebruiken en waar ikzelf de voorkeur aan geef. Hoop dat dit je verder help.
The geek shall inherit the earth.
Uitlezen routine Proton (kleiner is beter)

Uitlezen routine Willie (kleiner is beter)

De routine voor het uitlezen van de seriƫle poort geschreven door Proton is een minstens 30% sneller waarbij een kanttekening dat Proton een NaN teruggeeft indien geen geldige waarde en Wille de ongeldige waarde negeert. (het is waar je voor kiest).
Als we het naar stabiliteit kijken, dan is de kleinere routine van Proton minder vatbaar voor hangen ("vastloper" e.d.)
[ Voor 239% gewijzigd door Willie Wortel op 08-07-2013 19:03 ]
Verwijderd
Graag zou ik hier ook een graantje van mee willen pikken. Zou je deze klasse/code eens willen publiceren? Desnoods via PM.
mvg
Voor de geĆÆnteresseerden:
Het grootste verschil zit 'm eigenlijk in de volgende regel:
1
| strPartOfTelegram = strTelegram.Substring(intFoundInString + arSplitter(P1field).Length) |
Dit kopieert (een groot deel van) het telegram en is daardoor nogal geheugenintensief.
De nieuwe code voorkomt dat door het einde van het P1 veld direct in de oorspronkelijke string op te zoeken, waarbij direct wordt 'doorgespoeld' naar het interessante deel (parameter begin):
1
| Dim endindex As Integer = input.IndexOf(_postfix, begin) |
Het ik-wil-een-warmtepomp FAQ topic- '23 MG5, douchen met wtw en Auer Edel Eau, verwarming met Vaillant Arotherm Plus.
ja hoor die wil ik wel delen, heb eea eruit gekopieerd:Verwijderd schreef op maandag 08 juli 2013 @ 20:21:
"Ik heb een nieuwe error afhandeling geschreven voor de Netwerk bug in de Netduino."
Graag zou ik hier ook een graantje van mee willen pikken. Zou je deze klasse/code eens willen publiceren? Desnoods via PM.
mvg
hier de aanroep van de class:
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
| dim ProviderThread As allProviders.SendToProviders = New allProviders.SendToProviders ProviderThread.send(Task, sbFeeds, .Feed_SystemID, .APIKey) Try 'there is a well known bug in the Netduino, so here is the workaround Thread.Sleep(500) Dim dtTimeLock As DateTime = DateTime.Now.AddSeconds(5) Do While DateTime.Now <= dtTimeLock If Not ProviderThread.StillSending Then Exit Do End If Thread.Sleep(300) Loop If ProviderThread.StillSending Then 'Internet is down, anyway the class hangs, so close the connection Try 'here is the workaround for the network bug in the Netduino, close the connection and dispose the class, wait 1 minute ProviderThread.Dispose() ProviderThread = Nothing Finally Debug.Print("Network error, wait 30 seconds.. Free Memory: " + Debug.GC(True).ToString()) Debug.GC(True) Thread.Sleep(30000) Debug.GC(True) End Try 'recover the connection ProviderThread = New allProviders.SendToProviders ProviderThread.Start() End If Catch ex As Exception Debug.Print("error1") End Try |
hier is de class:
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
| #Region "Workaround for the Netduino Bug hanging Internet Class, Send to Providers" Namespace allProviders Public Class SendToProviders Implements IDisposable Private m_Host As Socket Private m_ProviderThread As Thread = Nothing Private m_DataToSend As String Private m_SendingData As Boolean Private m_FeedID_or_SID As String Private m_ApiKey As String Private m_Provider As enumTasks Public Sub New() Me.m_ProviderThread = New Thread(AddressOf SendToDataProviders) Me.m_ProviderThread.Priority = ThreadPriority.Normal End Sub Public Sub Start() m_ProviderThread.Start() Me.m_DataToSend = "-Wait" End Sub Public Sub Dispose() Implements IDisposable.Dispose Try Me.Close() Thread.Sleep(1000) Catch ex As Exception End Try Try If m_ProviderThread IsNot Nothing Then If Me.m_ProviderThread.IsAlive Then Me.m_ProviderThread.Abort() Debug.GC(True) End If End If Catch ex As Exception End Try End Sub Public Sub send(ByVal provider As enumTasks, ByVal Data As String, ByVal feedID_or_SID As String, ByVal ApiKey As String) Me.m_Provider = provider Me.m_DataToSend = Data Me.m_FeedID_or_SID = feedID_or_SID Me.m_ApiKey = ApiKey End Sub Public Sub SendToDataProviders() '' * Settings for PVOutput.org * '' * Create an account first at http://www.pvoutput.org * Const cnstHostPVoutput As String = "pvoutput.org" ' * Settings for ThingSpeak.com = 184.106.153.149 * ' * Create an account first at http://www.thingspeak.com * Const cnstHostThingSpeak As String = "thingspeak.com" ' * Settings for Cosm.com * ' * Create an account first at http://www.cosm.com) * Const cnstHOSTxively As String = "api.xively.com" ' "api.pachube.com" ' * Settings for Openenergymonitor.com ' * Create an account first at http://emoncms.org/ ' * Tutorial: ' * http://openenergymonitor.org/emon/emoncms/using-emoncms Const cnstHostOpenEnergyMonitor As String = "emoncms.org" Do While True If Me.m_DataToSend <> "-Wait" Then Try Try Dim IPEndPoint As New IPEndPoint(Dns.GetHostEntry(If(Me.m_Provider = enumTasks.sendtoThingSpeak, cnstHostThingSpeak, _ If(Me.m_Provider = enumTasks.sendtoCosm, cnstHOSTxively, _ If(Me.m_Provider = enumTasks.sendtoPVOutput, cnstHostPVoutput, cnstHostOpenEnergyMonitor)))).AddressList(0), 80) Me.m_SendingData = True Me.m_Host = New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp) Me.m_Host.SetSocketOption(SocketOptionLevel.Tcp, SocketOptionName.NoDelay, True) Me.m_Host.SendTimeout = 3000 Me.m_Host.ReceiveTimeout = 1000 Me.m_Host.Connect(IPEndPoint) Select Case Me.m_Provider Case enumTasks.sendtoCosm Me.m_Host.SendTo(Encoding.UTF8.GetBytes("PUT /v2/feeds/" & Me.m_FeedID_or_SID & ".csv HTTP/1.1" & Constants.vbCrLf), IPEndPoint) Me.m_Host.SendTo((Encoding.UTF8.GetBytes(("Host: " & cnstHOSTxively & Constants.vbCrLf & "X-ApiKey: " & m_ApiKey & _ Constants.vbCrLf & "Content-Type: text/csv" & Constants.vbCrLf & _ "Content-Length: " & Me.m_DataToSend.Length & Constants.vbCrLf & Constants.vbCrLf))), IPEndPoint) Me.m_Host.SendTo(Encoding.UTF8.GetBytes(m_DataToSend), IPEndPoint) Me.m_Host.Poll(500000, SelectMode.SelectRead) Case enumTasks.sendtoThingSpeak Me.m_Host.SendTo(Encoding.UTF8.GetBytes("POST /update HTTP/1.1" & Constants.vbLf & _ "Host: api.thingspeak.com" & Constants.vbLf & _ "Connection: close" & Constants.vbLf & _ "X-THINGSPEAKAPIKEY: " & Me.m_ApiKey & Constants.vbLf & _ "Content-Type: application/x-www-form-urlencoded" & Constants.vbLf & _ "Content-Length: " & m_DataToSend.Length & Constants.vbLf & Constants.vbLf & Me.m_DataToSend), IPEndPoint) Me.m_Host.Poll(500000, SelectMode.SelectRead) Case enumTasks.sendtoPVOutput 'Debug.Print("pvoutput") Me.m_Host.SendTo(Encoding.UTF8.GetBytes("GET /service/r2/addstatus.jsp" & "?key=" & Me.m_ApiKey & "&sid=" & Me.m_FeedID_or_SID & "&d=" & _ DateTime.Now.ToString("yyyyMMdd") & "&t=" & DateTime.Now.ToString("HH:mm") & Me.m_DataToSend & Constants.vbCrLf & _ "Host: pvoutput.org" & Constants.vbCrLf & Constants.vbCrLf), IPEndPoint) Case enumTasks.sendtoOpenEnergyMonitor Me.m_Host.SendTo(Encoding.UTF8.GetBytes("GET /emoncms3/api/post?apikey=" & Me.m_ApiKey & "&json={" & Me.m_DataToSend & "}" & _ Constants.vbLf & "Host: " & cnstHostOpenEnergyMonitor), IPEndPoint) End Select Catch ex As Exception End Try Me.m_Host.Close() Catch ex As Exception End Try End If Me.m_SendingData = False Me.m_DataToSend = "-Wait" Do While Me.m_DataToSend = "-Wait" Thread.Sleep(500) Loop Loop End Sub Public ReadOnly Property StillSending As Boolean Get Return Me.m_SendingData End Get End Property Public Sub Close() Try Me.m_Host.Close() Catch ex As Exception End Try End Sub End Class End Namespace #End Region |
Verwijderd
Daarnaast hoop ik dat de complete source nog een keertje beschikbaar komt. Heb problemen met de Liquidcrystal library... zodra ik de library als reference aan mijn project hang, dan vindt de Build plaats en dat was het dan ook.
[ Voor 10% gewijzigd door Verwijderd op 08-07-2013 21:28 ]
Wat doe je met de LiquidCrystal ? welke LCD heb je dan?Verwijderd schreef op maandag 08 juli 2013 @ 21:26:
Merci!
Daarnaast hoop ik dat de complete source nog een keertje beschikbaar komt. Heb problemen met de Liquidcrystal library... zodra ik de library als reference aan mijn project hang, dan vindt de Build plaats en dat was het dan ook.
Als we eerder gaan vrijgeven komt er een stortvloed aan klachten hier in het topic omdat zaken niet goed gaan. We willen liever een goed werkende oplossing uitleveren zonder bugs die bekend zijn.
Als je echt al wil monitoren dan kan je gewoon de V1.3.2 versie van de software gebruiken op de Netduino Plus 2 en rustig afwachten tot de V2.1 versie vrij wordt gegeven inclusief de broncode.
Wij hopen dat jullie hier begrip voor kunnen opbrengen.
Vroeger was alles beter... Geniet dan maar van vandaag, morgen is alles nog slechter!
Noord-Oost-Zuid-West 11640Wp Totaal Live, Netduino advanced pv logging
Draait die nog niet dan? Daar zit de laatste nieuwe netwerk bug killer inRol-Co schreef op maandag 08 juli 2013 @ 21:34:
Kan ik mijn versie van gister nog wel testen?
[ Voor 12% gewijzigd door Willie Wortel op 08-07-2013 21:40 ]
Toch 2 zonnige dagen blijven lopen, geen pijl op te trekken he.
Noord-Oost-Zuid-West 11640Wp Totaal Live, Netduino advanced pv logging
Pieter flores is Ff weg, iemand https://www.sparkfun.com daar al eens gehaald ? En zoja duurde dat langWillie Wortel schreef op maandag 01 juli 2013 @ 09:34:
Hardware lijst .... in het programma geprogrammeerd zoals het bij mij werkt.
http://www.ebay.com/itm/S...ain_0&hash=item3a823f4585
Het display maakt gebruik van dit backpack, die je weer op een lcd zonder backpack kan solderen :
http://www.ebay.com/itm/2...ain_0&hash=item3a80983190
het maakt niet uit of je een 16x2 of 16x4 of 20x2 of 20x4 of 40x2 of 40x4 lcd display heb.
het backpack stuurt de display aan.
het voordeel van de lcd's van www.digole.com is dat je het display serieel of i2c aan kan sturen.
Als ik nog een backpack of LCD zou kopen dan was het er een van bovengenoemd.
http://www.sainsmart.com/...-arduino-uno-mega-r3.html
ook hierbij geldt dat het formaat niet uitmaakt, ook niet waar je het koopt, zoek op internet voor een goede aanbieding als je wilt hobby-en .
de display met buttons:
http://www.pieterfloris.nl/shop/product.php?id_product=634
en heb de programma code gekopieerd en aangepast van een Netduino forum gebruiker.
Hij/zij is er stellig van overtuigd dat een en ander werkt, nou ja, het is geen rocket sience.![]()
https://www.sparkfun.com/products/9395
hierbij hetzelfde, het formaat van de display maakt niet uit.
Er wordt dus aardig wat hardware ondersteund, dit biedt echter GEEN GARANTIE dat een en ander ook daadwerkelijk functioneert. Dit is ook GEEN aankoop advies.
Je linkje bij pieterfloris werkt niet meer.
pieter floris: http://floris.cc/shop/en/...sed-negative-display.htmlHeuvelsjh schreef op maandag 08 juli 2013 @ 23:29:
[...]
Pieter flores is Ff weg, iemand https://www.sparkfun.com daar al eens gehaald ? En zoja duurde dat lang
Je linkje bij pieterfloris werkt niet meer.
heb je daar niet de sainsmart lib voor nodig, gewoon proberen JoopC heeft op het Netduino forum een VB convert vanuit C# geplaatst inclusief een aantal bugfixes:Verwijderd schreef op maandag 08 juli 2013 @ 22:33:
Dit display: http://www.ebay.nl/itm/310575296583
Met PCF8574T chip. Zijn er andere libraries?
http://forums.netduino.co...with-i2c-interface/page-2
SDA pin gebruikt? Kan je ook een gewone digitale pin gebruiken zoals bijvoorbeeld D11? Want als ik het goed heb wordt SD en SC gebruikt voor het display. Of kan ik hem daar gewoon parallel over heen zetten? Nee toch?Verwijderd schreef op dinsdag 08 januari 2013 @ 01:10:
Ik heb helaas geen temperatuur TMP36 sensor, ik heb wel een onwire DS18B20 sensor. En is volgens mij erg nauwkeurig, weinig fluctuatie.
Heb met wat onderzoek op internet in VB geprogrammeerd.
Mocht iemand interesse hebben, hier is de code van een "test", de class zou je kunnen gebruiken in dit project (met wat aanpassingen natuurlijk.....)
Ik heb het werkend op een Netduino Plus 2, je moet wel de reference "Microsoft.SPOT.Hardware.OneWire" toevoegen aan je project.
zo aansluiten:
Pin 1 to ground
Pin 2 to digital input (heb SDA pin gebruikt)
Pin 3 to ground (same as pin 1)
And a 4.7K resistor from pin 2 to 5V
Vroeger was alles beter... Geniet dan maar van vandaag, morgen is alles nog slechter!
Je moet gewoon een Dpin selecteren.GĆ© Brander schreef op dinsdag 09 juli 2013 @ 21:49:
Ik heb geprobeerd de
[...]
SDA pin gebruikt? Kan je ook een gewone digitale pin gebruiken zoals bijvoorbeeld D11? Want als ik het goed heb wordt SD en SC gebruikt voor het display. Of kan ik hem daar gewoon parallel over heen zetten? Nee toch?
De programma code voor de OneWire is al lang geleden gewijzigd.


[ Voor 26% gewijzigd door Willie Wortel op 09-07-2013 22:27 ]
Dat dacht ik ook al. Thanks. Met een 4k7 weerstand van de D naar +5V en de rest naar GND toch?Willie Wortel schreef op dinsdag 09 juli 2013 @ 22:08:
[...]
Je moet gewoon een Dpin selecteren.
De programma code voor de OneWire is al lang geleden gewijzigd.
[code]
OneWire_Dataline ----D11----[4k7]----+5V
OneWire GND en VDD --------------------GND
[/code]
Aha, zie boven, toch VDD naar +5V. Ik dacht dat VDD optioneel naar de +5V mocht en niet per se nodig was. Volgens de PDF.
1
2
3
| OneWire_GND --------------------GND OneWire_Dataline ----D11----[4k7]----+5V OneWire_VDD --------------------+5V |
[ Voor 24% gewijzigd door GĆ© Brander op 09-07-2013 22:25 ]
Vroeger was alles beter... Geniet dan maar van vandaag, morgen is alles nog slechter!
Dit is nou het klooooote van dit systeem zoals het nu is, zit alles 5 keer te doen, en ik niet alleen.GĆ© Brander schreef op dinsdag 09 juli 2013 @ 22:23:
[...]
Dat dacht ik ook al. Thanks. Met een 4k7 weerstand van de D naar +5V en de rest naar GND toch?
[code]
OneWire_Dataline ----D11----\[4k7]----+5V
OneWire GND en VDD --------------------GND
[/code]
Aha, zie boven, toch VDD naar +5V. Ik dacht dat VDD optioneel naar de +5V mocht en niet per se nodig was. Volgens de PDF.
code:
1 2 3 OneWire_GND --------------------GND OneWire_Dataline ----D11----[4k7]----+5V OneWire_VDD --------------------+5V
Willie Wortel schreef op dinsdag 09 juli 2013 @ 22:28:
[...]
Dit is nou het klooooote van dit systeem zoals het nu is, zit alles 5 keer te doen, en ik niet alleen.

Dit komt uit de handleiding. Ik heb volgens mij de temp meter goed aangesloten, er komen alleen rare waarden uit. Vandaar mijn vraag.
Maakt het voor het programmeren uit hoe je hem aansluit? Zorgt de VDD aangesloten op 5V voor een andere benodigde programmacode dan met de VDD aangesloten op GND? Zo ja, dan lijkt me dat handig om te weten voor de handleiding wat het uitgangspunt is in de code.
Vroeger was alles beter... Geniet dan maar van vandaag, morgen is alles nog slechter!
Nou moet ik bekennen, die was nooit geprogrammeerd.
Er is een nieuwe class voor de Button (of een zelf te kiezen Dpin) om te resetten met behoud van instellingen. Keuze in de webpagina voor Operate , Dpin en WriteOnPin.
getest en al.
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
| Public Class reset Implements IDisposable Private ResetThread As Thread = Nothing Private m_ResetButton As InterruptPort Private m_pin As Cpu.Pin Private m_pinOnWrite As String = "" Public Sub New(ByVal pin As Cpu.Pin, ByVal pinOnwrite As String) ResetThread = New Thread(AddressOf InitReset) ResetThread.Priority = ThreadPriority.Lowest Me.m_pin = pin Me.m_pinOnWrite = pinOnwrite End Sub Public Sub start() ResetThread.Start() End Sub Private Sub InitReset() m_ResetButton = New InterruptPort(Me.m_pin, False, Port.ResistorMode.Disabled, Port.InterruptMode.InterruptEdgeHigh) AddHandler m_ResetButton.OnInterrupt, AddressOf SaveMemVarsAndReset m_ResetButton.EnableInterrupt() Thread.Sleep(Timeout.Infinite) End Sub Private Sub SaveMemVarsAndReset(data1 As UInteger, data2 As UInteger, time As Date) For t As Integer = 0 To 10 WritePin(Me.m_pinOnWrite, True) Thread.Sleep(100) WritePin(Me.m_pinOnWrite, False) Thread.Sleep(100) Next SaveDummyFileToTriggerAutoReloadAfterReset() Thread.Sleep(100) SaveMemoryToFile() Thread.Sleep(100) PowerState.RebootDevice(False) End Sub Public Sub Dispose() Implements IDisposable.Dispose Try If Me.m_ResetButton IsNot Nothing Then Me.m_ResetButton.DisableInterrupt() End If Catch ex As Exception End Try Thread.Sleep(100) Try If Me.m_ResetButton IsNot Nothing Then RemoveHandler Me.m_ResetButton.OnInterrupt, AddressOf SaveMemVarsAndReset End If Catch ex As Exception End Try Thread.Sleep(100) Try If Me.m_ResetButton IsNot Nothing Then Me.m_ResetButton = Nothing End If Catch ex As Exception End Try Thread.Sleep(100) If Me.ResetThread IsNot Nothing AndAlso Me.ResetThread.IsAlive Then Try Me.ResetThread.Abort() Me.ResetThread = Nothing Catch ex As Exception Finally Thread.Sleep(100) Debug.GC(True) End Try End If End Sub End Class |
Als je mijn posts terug lees, dan kan je zien dat ik alles netjes meld inclusief images hier in dit draadje.GĆ© Brander schreef op dinsdag 09 juli 2013 @ 22:32:
[...]
[afbeelding]
Dit komt uit de handleiding. Ik heb volgens mij de temp meter goed aangesloten, er komen alleen rare waarden uit. Vandaar mijn vraag.
Maakt het voor het programmeren uit hoe je hem aansluit? Zorgt de VDD aangesloten op 5V voor een andere benodigde programmacode dan met de VDD aangesloten op GND? Zo ja, dan lijkt me dat handig om te weten voor de handleiding wat het uitgangspunt is in de code.
Als je de (laatste) webpagina die jij in bezit hebt had onderzocht dan had je geweten dat onder de kolom headers de tooltip aanstaat.
EDIT: En alle plaatjes die ik hier laat zien staan in de webpagina onder de tooltips.
[ Voor 5% gewijzigd door Willie Wortel op 09-07-2013 22:40 ]
Nu met 3 decimalen achter de komma.

[ Voor 11% gewijzigd door Willie Wortel op 10-07-2013 13:03 ]
Mijn lcd heeft maar 16 karakters op een lijn.
De 2.0.14 V4.3 draait hier nu al 8 dagen aan een stuk(zonder onewire)
18950Wpš, Atlantic 270V3š§, Pana 5Jš„. Zendure 2400AC 11,5kWhš,Hyundai Kona 64kWh š, Peblar Home ā½
Betreft: Versie 080713 (V4.3)
Laten runnen is helemaal gelukt, het werkt ook, (Stop ook regelmatig onverwachts) maar, het lukt mij niet meer om parameter instellingen via de browser te maken.
Via de IE browser kan ik het homescreen zien, via opties,load kan ik de huidige config opvragen, maar of ik nou wel of geen wijzigingen maak, als mij cursor het tabje Save aanraakt (niet eens een save opdracht geef) staat alles vast en krijg ik een timeout Webpagina reageert niet.
Het is reproduceerbaar, de ND loopt door, na een lange timeout is de confuguratie leeg en herhaald dit zich.
Enig idee wat dit kan zijn. De ND is dus wel benaderbaar. (voor load)
Check. Hier ook. Precies het zelfde. Maar alleen als je eerst de Config laad via de Load tab en daarna naar Save gaat. Helemaal opnieuw configureren gaat wel goed.RuudMR schreef op woensdag 10 juli 2013 @ 14:45:
Willie,
Betreft: Versie 080713 (V4.3)
Laten runnen is helemaal gelukt, het werkt ook, (Stop ook regelmatig onverwachts) maar, het lukt mij niet meer om parameter instellingen via de browser te maken.
Via de IE browser kan ik het homescreen zien, via opties,load kan ik de huidige config opvragen, maar of ik nou wel of geen wijzigingen maak, als mij cursor het tabje Save aanraakt (niet eens een save opdracht geef) staat alles vast en krijg ik een timeout Webpagina reageert niet.
Het is reproduceerbaar, de ND loopt door, na een lange timeout is de confuguratie leeg en herhaald dit zich.
Enig idee wat dit kan zijn. De ND is dus wel benaderbaar. (voor load)
Vroeger was alles beter... Geniet dan maar van vandaag, morgen is alles nog slechter!
Kan je toch zelf instellen, kijk maar, ik maak vandaag of morgen een nieuwe versie HEX, ik ben er erg tevreden over. Gebruik zelf ook de 16x2 met buttons.klump4u schreef op woensdag 10 juli 2013 @ 13:38:
Die uptime blijft die 19 karakters lang ?
Mijn lcd heeft maar 16 karakters op een lijn.
De 2.0.14 V4.3 draait hier nu al 8 dagen aan een stuk(zonder onewire)
[ Voor 6% gewijzigd door Willie Wortel op 10-07-2013 16:01 ]
zal ik naar kijken. heeft mijn volle aandacht. eea heeft niets met de Netduino te maken, er is ergens een te kleine array daardoor krijg je een niet afgevangen fout. Het is een kwestie van een boutje aandraaien zeg maar. Maar het lijkt dan net of je de computer weg kan gooien.RuudMR schreef op woensdag 10 juli 2013 @ 14:45:
Willie,
Betreft: Versie 080713 (V4.3)
Laten runnen is helemaal gelukt, het werkt ook, (Stop ook regelmatig onverwachts) maar, het lukt mij niet meer om parameter instellingen via de browser te maken.
Via de IE browser kan ik het homescreen zien, via opties,load kan ik de huidige config opvragen, maar of ik nou wel of geen wijzigingen maak, als mij cursor het tabje Save aanraakt (niet eens een save opdracht geef) staat alles vast en krijg ik een timeout Webpagina reageert niet.
Het is reproduceerbaar, de ND loopt door, na een lange timeout is de confuguratie leeg en herhaald dit zich.
Enig idee wat dit kan zijn. De ND is dus wel benaderbaar. (voor load)
[ Voor 12% gewijzigd door Willie Wortel op 10-07-2013 16:04 ]
Ik had juist een nieuwe config gemaakt en er op geplaatst. De waarde van de vorige versie inlezen gaf de zelfde problemen. (Hangup na aanraken save)
Ik zag dat er een fout in de pvoutput zat en probeerde dit te wijzigen, dit lukte niet meer.
Gek vind ik wel dat als ja het save tab aanraakt, en nog niets wegschrijf de boel vastloopt.
Het moet dus gebeuren op het moment van aanraken savetab. Zoals GĆ© schrijft, reproduceerbaar.
De ND blijft verder gewoon lopen en ja kan na de timeout gewoon weer de string ophalen enz.
[ Voor 9% gewijzigd door RuudMR op 10-07-2013 18:08 ]
1) Start de index.html
2) ga naar Options
3) ga naar de Load tab
4) vul je wachtwoord in en laad de configuratie van je Netduino in
5) druk op reconfig
6) ga naar hardware of enig andere tab
7) ga naar Save
Dan loopt de pagina vast.
Vroeger was alles beter... Geniet dan maar van vandaag, morgen is alles nog slechter!
Ik heb ook regelmatig dat mijn verbruik plotseling ruim 1000 voudig wordt weergegeven in pvoutput.
Dit had ik met v1 nooit.
[ Voor 66% gewijzigd door RuudMR op 10-07-2013 23:11 ]
Win 7 32 bit
Explorer 10
Laatste webpages
[ Voor 4% gewijzigd door Rol-Co op 10-07-2013 23:25 ]
Noord-Oost-Zuid-West 11640Wp Totaal Live, Netduino advanced pv logging
De versie 2.0.1.6 en de versie 2.0.1.7 geven het zelfde effect. Klopt het dat jij het nu ook gezien hebt Willie?Willie Wortel schreef op woensdag 10 juli 2013 @ 23:13:
Ik niet, en GĆ© heeft een andere versie.
Vroeger was alles beter... Geniet dan maar van vandaag, morgen is alles nog slechter!
Het probleem is FIXED, verandering in KWH in kWh vond het programma niet echt leuk.GĆ© Brander schreef op woensdag 10 juli 2013 @ 23:46:
[...]
De versie 2.0.1.6 en de versie 2.0.1.7 geven het zelfde effect. Klopt het dat jij het nu ook gezien hebt Willie?
LATER, als de programma code op CodePlex staat kan je de opstart string in de bron code mee compileren met het deployen. Zo simpel kan het leven zijn.
[ Voor 23% gewijzigd door Willie Wortel op 11-07-2013 09:29 ]
Bijvoorbeeld:
{ntp.xs4all.nl, 0.nl.pool.ntp.org, 0.europe.pool.ntp.org, time.windows.com}
Deze servers zijn door de kleinere afstand ook een stuk nauwkeuriger. Deze NTP pools zijn specifiek bedoeld voor routers en dingen.
De eerste 4 NTP servers zijn toch uit Nederland en zit in de sourcecode:databeestje schreef op donderdag 11 juli 2013 @ 10:38:
Even een tip voor de NTP class, vervang daar de NIST servers voor iets wat dichter in de buurt zit. Wellicht kan dit in de source opgenomen worden.
Bijvoorbeeld:
{ntp.xs4all.nl, 0.nl.pool.ntp.org, 0.europe.pool.ntp.org, time.windows.com}
Deze servers zijn door de kleinere afstand ook een stuk nauwkeuriger. Deze NTP pools zijn specifiek bedoeld voor routers en dingen.
"0.pool.ntp.org", "1.pool.ntp.org", "2.pool.ntp.org", "3.pool.ntp.org", "nist.time.nosc.us", "nist1-ny.ustiming.org", "time-a.nist.gov", "utcnist.colorado.edu", "nist1-atl.ustiming.org", "nist-time-server.eoni.com"
Maar bedankt voor de tip, zal er nog een aantal toevoegen, de routine gaat toch het rijtje langs.
[ Voor 6% gewijzigd door Willie Wortel op 11-07-2013 11:05 ]
Die zijn niet (per sƩ) uit NederlandWillie Wortel schreef op donderdag 11 juli 2013 @ 10:56:
[...]
De eerste 4 NTP servers zijn toch uit Nederland en zit in de sourcecode:
"0.pool.ntp.org", "1.pool.ntp.org", "2.pool.ntp.org", "3.pool.ntp.org"
Van http://www.pool.ntp.org/en/use.html :
Maar het gaat hoogstens over microseconden, ik zou me er niet druk over maken. Zeker als je niet weet waar je code gebruikt wordt, dan ben je het verkeerde aan het optimaliserenAs pool.ntp.org will assign you timeservers from all over the world, time quality will not be ideal. You get a bit better result if you use the continental zones (For example europe, north-america, oceania or asia.pool.ntp.org), and even better time if you use the country zone (like ch.pool.ntp.org in Switzerland) - for all these zones, you can again use the 0, 1 or 2 prefixes, like 0.ch.pool.ntp.org. Note, however, that the country zone might not exist for your country, or might contain only one or two timeservers. If you know timeservers that are really close to you (measured by network distance, with traceroute or ping), time probably will be even better.
Het ik-wil-een-warmtepomp FAQ topic- '23 MG5, douchen met wtw en Auer Edel Eau, verwarming met Vaillant Arotherm Plus.
Het heeft met net etiquette te maken. In dezelfde context heeft het niet zoveel zin om een Stratum-2 tijdserver lastig te vallen als een Stratum-3 ook afdoende is.Proton_ schreef op donderdag 11 juli 2013 @ 11:38:
[...]
Die zijn niet (per sƩ) uit Nederland
Van http://www.pool.ntp.org/en/use.html :
[...]
Maar het gaat hoogstens over microseconden, ik zou me er niet druk over maken. Zeker als je niet weet waar je code gebruikt wordt, dan ben je het verkeerde aan het optimaliseren
Ik zal er wel overheen lezen, maar ik probeer de 1.3.2 firmware te gebruiken op de ND2+. De firmware laden gaat ansich prima, deze doet het ook als ik opwek pulsen maak op Pin13.
Echter wil ik Pin12 als verbruik aangeven, maar zie ik geen directe schakel optie in de code om aan te geven dat dit verbruik is.
In de Flukso kan ik per poort aangeven of het verbruik of opwek is. Is dit iets dat in de planning voor 2.0+ is? Misschien is het zelfs al gemaakt.
De makers van de firmware zouden zeker http://www.pool.ntp.org/en/vendors.html moeten lezen:
De NIST servers zou ik eruit halen; die zijn USA-specifiek.You must absolutely not use the default pool.ntp.org zone names as the default configuration in your application or appliance.
[...]
Don't send excessively frequent queries. Reasonable query intervals are typically from once or twice a day to a 4-5 times an hour depending on the application. Really consider how often the device will need "fresh time".
Do have your devices query the NTP servers at random times of the day. For example every 43200 seconds since boot is good, at midnight every day is bad.
Het ik-wil-een-warmtepomp FAQ topic- '23 MG5, douchen met wtw en Auer Edel Eau, verwarming met Vaillant Arotherm Plus.

proton, dan gaan de NIST servers er toch uit.Proton_ schreef op donderdag 11 juli 2013 @ 13:19:
Eens dat het handig zou zijn om de tijdserver instelbaar te maken; dat maakt het ook bruikbaar in LANs waar je niet zomaar het internet op mag maar waar bijvoorbeeld de router ook tijdserver is.
De makers van de firmware zouden zeker http://www.pool.ntp.org/en/vendors.html moeten lezen:
[...]
De NIST servers zou ik eruit halen; die zijn USA-specifiek.
Ben je bereid deze beschikbaar te stellen, al dan niet via de DM?Willie Wortel schreef op donderdag 11 juli 2013 @ 13:20:
Nu is het uitlezen van het aantal Pulsen ook ondersteund evenals M3 voor vloeistoffen of gas.
[afbeelding]

en hier het resultaat:

en padLeft de Content met space...10 lang

en het resultaat:

Zo eenvoudig kan het zijn.