Modul für EM1010

Hallo Tommi,

erst einmal vielen Dank für Dein Modul. Ich habe das ganze seit langem im Einsatz und habe heute zum ersten Mal versucht die Zeit zu setzten.
Mit: EM1010PC_SetTime(12499 /[EM1010PC USB]/,„2012-09-08 15:19:34“);
klappt es nicht. Im Debug-Fenster steht „Convert Error, take now“ Die Uhrzeit steht dann auf „48:15:09“.
Was mache ich falsch?

Danke

wango


Alles über die Nase im Gesicht Nordfrieslands
Eiderstedt.net

procedure SetTime(datum: string);
setzt das Datum in der EM1010PC. Das Format entspricht den LocaleSettings für Land 49 (Deutschland)

Versuche für die Zeitangabe deshalb bitte das deutsche Format „DD.MM.YYYY HH:MM:SS“

Viele Grüße
Tommi

Habe doch noch einen Fehler gefunden. Anbei eine neue Version. Bitte mal testen und Bescheid geben. Erstaunlich, das bisher niemand das Problem gemeldet hatte.

Tommi

EM1010.zip (332 KB)

Moin Tommi,

jetzt funzt es.

Vielen Dank

wango


Alles über die Nase im Gesicht Nordfrieslands
Eiderstedt.net

Hallo Tommi,

was mir noch aufgefallen ist, immer nach einem Neustart von IPS sind die Umdrehungen je kw/h auf 1000 und ich muss erst wieder neu einstellen.
Geht ja schnell, muss ja nur das Script ausführen. Wenn man zu Hause ist, ist es ja kein Problem, aber bei Abwesenheit und einen ungeplanten reboot schon Blöd.
Ich habe jetzt auch nicht drauf geachtet ob andere Grundeinstellungen auch verkehrt sind.

Schau doch mal bitte in der settings.xml nach, ob sich dort ein entsprechender Eintrag findet. Normalerweise sollte dieser Parameter daraus gelesen werden.

Tommi

Hallo Tommi,

in welche settings.xml ? Die von IPS ? wird nicht jetzt 'ne json Datei genutzt?

Habe mir mal die json Datei angesehen, dass finde ich darin:

			"position": 0,
			"readOnly": 0,
			"ident": "",
			"hidden": 0,
			"type": 1,
			"name": "Elektroz\u00e4hler",
			"info": "",
			"icon": "Strom",
			"data": {
				"connectionID": 34955,
				"moduleType": 3,
				"moduleName": "EM1010Dev",
				"moduleID": "{1BC1661B-3731-4DAE-A39E-58349F38A3F4}",
				"settings": "PFNldHRpbmdzPg0KICA8U3RhdHVzVmFyaWFibGVzLz4NCiAgPFN0YXR1c1ZhcmlhYmxlc0FjdGlvbnMvPg0KICA8RGV2aWNlSUQgVmFsdWU9IjEiLz4NCiAgPExhc3RMaW5lLz4NCiAgPEVuZXJneUNvbnN0IFZhbHVlPSIxMDAwIi8+DQo8L1NldHRpbmdzPg0K"
			},
			"parentID": 28366

jaja, die schöne neue Welt der „Jasons“…
Im Moment habe ich allerdings keine Ahnung, ob und wo was fehlt. Die settings sehen irgendwie gecrypted aus.Evtl. kann paresy was sagen.
Im Constructor wird ganz normal die Property definiert. Die Erwartung wäre nun, das bei LoadSettings die dazu passende Variable in TSettings gefüllt wird.

RegisterIntProperty('EnergyConst', GetEC, SetEC);

Tommi

Hallo,

ich habe am Wochenende gebastelt und dabei auch das EM1010 aufgemacht.
Die „Antenne“ ist reines Plastik kein Kontakt zu der Elektronik. Was ist denn das für ein Blödsinn? :rolleyes:

Aber was ich dabei festgestellt habe, dass ein Stromausfall meine EnergyTotal Werte ins Nirvana schicken. Will sagen es kommt zu diesen Ausreisern.

Wie krieg ich die mit Bordmitteln denn nun weg?
Habe im ArchivHandler nichts gefunden, was aber wohl damit zusammenhängt, dass es eine Zählervariable ist.

Nur zur Sicherheit, ich befürchte ich kenne die Antwort:
Kann ich diesen Ausreisser im Nachhinein nicht mehr korrigieren?
Auch ein Umstellen von Zähler auf Standard und neu agregieren hilft nicht?

Danke
Mic

Das Zurücksetzen des Zählerstandes nach Stromausfall ist ein anderer Fehler als die fehlerhafte Aggregation im Gerät, welche die bisher genannten Probleme verursacht hat. Wenn man den EM1010PC an einem aktiven USB-Port betreibt, kann man aber auch die Batterien wechseln, ohne das er aus geht. Die aktuelle Version des Modules sollte sich zudem auf den neuen Zählerstand synchronisieren und anschliessend „vernünftige“ Werte liefern.
Zum Archivhandler wurde auch schon viel geschrieben, da halte ich mich jetzt raus. Das ist keine Funktion meines Modules.

Tommi

Hallo Tommi,

ich bekomme immer eine Fehlermeldung wenn ich serRperKW und SetPrice einstellen will.

Access violation at adress 0413FC0B in module ‚EM1010.dll‘. Read of adress 00000000 in …

Es kommen auch keine Daten mehr :o

Ich habe die Version gestern von Deiner Seite geladen.
Hast Du eine Idee woran es liegen könnte?

Ich habe gerade mal bei mir setRperKW gestartet und keinen Fehler bekommen. Du könntest auch mal setEnergyConst versuchen.
Hat die Datei die Version #129 (rechte Maustaste->Eigenschaften->Dateiversionen oder im Log Load Build…)? Macht es einen Unterschied, wenn Du die DLL aus dem Beitrag nimmst?

Tommi

Hallo Tommi,

ich glaube es liegt nicht an Deiner Version, sondern an meiner Hard /Software kombination.
Im Augenblick läuft es ohne Probleme.

Hallo Tommi,

es geht leider doch nicht richtig :o Ich bekomme jetzt schon wieder andauernd access violations, bis hin zu Rechner abstürtzen.

Ich vermute das es mit den FTDI Treibern zusammenhängt. Ich habe als letztes Plugwise installiert und der läuft ja auch über FTDI und hat den neusten Treiber installiert und seitdem, denke ich, ist das Problem.

Ich habe auch schon die Treiber für den em1010 neuinstalliert aber immer das gleiche.
Um mein system wieder halbwegs stabil zu haben, wir fahren übers WE weg, habe ich Dein Modul erstmal deinstalliert.
Soweit scheint jetzt alles Stabil zu laufen, naja mal sehen ob der Rechner die Nacht übersteht.

Wenn Du eine Idee hättest was man noch probieren könnte, oder Du eine andere Lösung hast, wäre ich Dankbar :smiley:

Da mein Server auf dem Dachboden steht und der Stromzähler im Keller ist habe ich im Augenblick leider keine Alternative zum em1010. Ich kann an der Stelle nur mit Funk arbeiten :frowning:

Hallo Tommi,

habe jetzt meinen Rechner auf Win 7 geändert, naja bin noch dabei alles anzupassen :o
Das Problem bleibt aber, mehr oder weniger, bestehen.

Nach Neustart des Rechners läuft es für ca. 1-2 std. und dann kommen die access violations. Evtl. hilft es ja den fehler weiter einzugrenzen.

Tritt die Exception immer noch in EM101.dll auf?
Die genannte Adresse 0413FC0B gibt es (in meiner Testinstallation) nicht mehr.
Bei FTDI-Treiber sollte man immer nur eine Version auf der Platte haben. Man kann normalerweise den aktuellen Treiber von der FTDI-Seite ziehen und dann die INF-Files mit den passenden Geräten versorgen (siehe http://www.tdressler.net/ipsymcon/download/elv_ftdi.zip). Dort kann man garantiert auch noch die Einträge von Plugwise mit ft_inf nachtragen .

Tommi

Hallo Tommi,

habe gerade nochmal zur Sicherheit die DLL aus dem beitrag genommen:

Folgender Fehler:

Warning:  Access violation at address 00D1FC0B in module 'EM1010.dll'. Read of address 00000000 in C:\IP-Symcon_2_0\scripts\45569.ips.php on line 

Als Treiberversion wird mir 2.6.0.0 angezeigt. Ich bin mir aber sich das ich die neuste 2.8.24.0 von der FTDI Seite Installiert habe. Zur installation habe ich Deine INF Files genommen.

Unter dem Plugwise Port wird mir die version 2.8.24.0 angezeigt.

Warning:  Access violation at address 00D1FC0B in module 'EM1010.dll'. Read of address 00000000 in C:\IP-Symcon_2_0\scripts\45569.ips.php on line

Welcher Befehl ist im Script an dieser Zeile? Ist das wirklich IPS 2.6 mit em1010.dll #129?
Tommi

Hallo Tommi,

in der Zeile steht:

EM1010Dev_SetPrice(31437 /*[Allgemein\Energy\Elektrozähler]*/, 0.25);

Server Kernel Version 2.60, Live Update Version 10.09.2012, #2510.

EM1010.dll 2.6.0.129, Änderungsdatum 08.09.2012, 21:44 Uhr

Hallo!

Ich hab gestern auf 2.6 #2510 upgedatet, seither kann ich die daten von meinem EM1010PC nicht mehr auslesen.
Die Meldung „Fatal error: Call to undefined function EM1010PC_SetPort() in [Waschmaschine\update_EM1010PC] on line 7“

Der Port war nicht das Problem, vielmehr ist das problem das die instanz nicht mehr vorhanden ist.
Wollte diese dann wieder anlegen, wie gewohnt unter Instanz hinzufügen, jedoch gibt es unter „Splitter“ kein EM1010PC mehr???

Vielleicht kann mir wer helfen.

Danke
Gerald