NEWS
Smartmeter mit Landis+Gyr E650
-
@michael-uray sagte in Smartmeter Adapter Probleme:
Das Logfile habe ich hier im Github Issue hochgeladen.
und warum nicht auch hier in code-tags und ggf. Spoiler
-
@homoran said in Smartmeter Adapter Probleme:
und warum nicht auch hier in code-tags und ggf. Spoiler
Das Logfile mit nur einer Auslesung hat 17 MB, ich versuche einmal die relevanten Dinge daraus zu posten:
2022-04-02 15:21:42.630 - [32minfo[39m: host.stocking "system.adapter.smartmeter.0" enabled 2022-04-02 15:21:42.652 - [32minfo[39m: host.stocking instance system.adapter.smartmeter.0 started with pid 7520 2022-04-02 15:21:43.425 - [34mdebug[39m: smartmeter.0 (7520) Redis Objects: Use Redis connection: 127.0.0.1:9001 2022-04-02 15:21:43.446 - [34mdebug[39m: smartmeter.0 (7520) Objects client ready ... initialize now 2022-04-02 15:21:43.447 - [34mdebug[39m: smartmeter.0 (7520) Objects create System PubSub Client 2022-04-02 15:21:43.448 - [34mdebug[39m: smartmeter.0 (7520) Objects create User PubSub Client 2022-04-02 15:21:43.458 - [34mdebug[39m: smartmeter.0 (7520) Objects client initialize lua scripts 2022-04-02 15:21:43.461 - [34mdebug[39m: smartmeter.0 (7520) Objects connected to redis: 127.0.0.1:9001 2022-04-02 15:21:43.472 - [34mdebug[39m: smartmeter.0 (7520) Redis States: Use Redis connection: 127.0.0.1:9000 2022-04-02 15:21:43.476 - [34mdebug[39m: smartmeter.0 (7520) States create System PubSub Client 2022-04-02 15:21:43.477 - [34mdebug[39m: smartmeter.0 (7520) States create User PubSub Client 2022-04-02 15:21:43.482 - [34mdebug[39m: smartmeter.0 (7520) States connected to redis: 127.0.0.1:9000 2022-04-02 15:21:43.496 - [34mdebug[39m: smartmeter.0 (7520) Plugin sentry Initialize Plugin (enabled=true) 2022-04-02 15:21:43.645 - [32minfo[39m: smartmeter.0 (7520) starting. Version 3.3.4 in /opt/iobroker/node_modules/iobroker.smartmeter, node: v14.19.1, js-controller: 4.0.21 2022-04-02 15:21:43.665 - [34mdebug[39m: smartmeter.0 (7520) SmartmeterObis options: {"debug":2,"protocol":"D0Protocol","transport":"SerialRequestResponseTransport","requestInterval":"300","anotherQueryDelay":"2000","transportSerialPort":"/dev/serial/by-id/usb-FTDI_USB_Serial_Converter_FTBYZZT3-if00-port0","transportSerialBaudrate":300,"transportSerialDataBits":7,"transportSerialStopBits":1,"transportSerialParity":"even","transportSerialMessageTimeout":null,"protocolD0WakeupCharacters":null,"obisFallbackMedium":1} 2022-04-02 15:21:43.667 - [34mdebug[39m: smartmeter.0 (7520) CREATE SERIALPORT: 300 7 1 even 2022-04-02 15:21:43.672 - [34mdebug[39m: smartmeter.0 (7520) SERIALPORT OPEN 2022-04-02 15:21:43.680 - [34mdebug[39m: smartmeter.0 (7520) SERIALPORT RESET BAUDRATE TO 300 2022-04-02 15:21:43.684 - [34mdebug[39m: smartmeter.0 (7520) INITIAL MESSAGES TO SEND: 2 2022-04-02 15:21:43.685 - [34mdebug[39m: smartmeter.0 (7520) CURRENT PROCESS STEP 0 IN GETNEXTMESSAGE 2022-04-02 15:21:43.685 - [34mdebug[39m: smartmeter.0 (7520) TO SEND 2: 2022-04-02 15:21:43.685 - [34mdebug[39m: smartmeter.0 (7520) CURRENT PROCESS STEP 1 IN GETNEXTMESSAGE 2022-04-02 15:21:43.686 - [34mdebug[39m: smartmeter.0 (7520) TO SEND 1: /?! 2022-04-02 15:21:43.693 - [34mdebug[39m: smartmeter.0 (7520) connected set to false 2022-04-02 15:21:43.697 - [34mdebug[39m: smartmeter.0 (7520) NEW DATA 2022-04-02 15:21:43.698 - [34mdebug[39m: smartmeter.0 (7520) CURRENT PROCESS STEP 2 IN CHECKMESSAGE 2022-04-02 15:21:43.699 - [34mdebug[39m: smartmeter.0 (7520) MATCH-RESULT SIGNON: "" -> null 2022-04-02 15:21:43.744 - [34mdebug[39m: smartmeter.0 (7520) NEW DATA 2022-04-02 15:21:43.744 - [34mdebug[39m: smartmeter.0 (7520) CURRENT PROCESS STEP 2 IN CHECKMESSAGE 2022-04-02 15:21:43.745 - [34mdebug[39m: smartmeter.0 (7520) MATCH-RESULT SIGNON: "/" -> null 2022-04-02 15:21:43.761 - [34mdebug[39m: smartmeter.0 (7520) DONE SEND 1 2022-04-02 15:21:43.776 - [34mdebug[39m: smartmeter.0 (7520) NEW DATA 2022-04-02 15:21:43.776 - [34mdebug[39m: smartmeter.0 (7520) CURRENT PROCESS STEP 2 IN CHECKMESSAGE 2022-04-02 15:21:43.776 - [34mdebug[39m: smartmeter.0 (7520) MATCH-RESULT SIGNON: "/?" -> null 2022-04-02 15:21:43.808 - [34mdebug[39m: smartmeter.0 (7520) NEW DATA 2022-04-02 15:21:43.809 - [34mdebug[39m: smartmeter.0 (7520) CURRENT PROCESS STEP 2 IN CHECKMESSAGE 2022-04-02 15:21:43.809 - [34mdebug[39m: smartmeter.0 (7520) MATCH-RESULT SIGNON: "/?!" -> null 2022-04-02 15:21:43.840 - [34mdebug[39m: smartmeter.0 (7520) NEW DATA 2022-04-02 15:21:43.841 - [34mdebug[39m: smartmeter.0 (7520) CURRENT PROCESS STEP 2 IN CHECKMESSAGE 2022-04-02 15:21:43.841 - [34mdebug[39m: smartmeter.0 (7520) MATCH-RESULT SIGNON: "/?!\r" -> null 2022-04-02 15:21:43.872 - [34mdebug[39m: smartmeter.0 (7520) NEW DATA 2022-04-02 15:21:43.873 - [34mdebug[39m: smartmeter.0 (7520) CURRENT PROCESS STEP 2 IN CHECKMESSAGE 2022-04-02 15:21:43.873 - [34mdebug[39m: smartmeter.0 (7520) MATCH-RESULT SIGNON: "/?!\r\n" -> null 2022-04-02 15:21:44.012 - [34mdebug[39m: smartmeter.0 (7520) DONE SEND 0 2022-04-02 15:21:44.013 - [34mdebug[39m: smartmeter.0 (7520) SET MESSAGE TIMEOUT TIMER2: 120000 2022-04-02 15:21:44.096 - [34mdebug[39m: smartmeter.0 (7520) NEW DATA 2022-04-02 15:21:44.097 - [34mdebug[39m: smartmeter.0 (7520) CURRENT PROCESS STEP 2 IN CHECKMESSAGE 2022-04-02 15:21:44.097 - [34mdebug[39m: smartmeter.0 (7520) MATCH-RESULT SIGNON: "/?!\r\n/" -> null 2022-04-02 15:21:44.128 - [34mdebug[39m: smartmeter.0 (7520) NEW DATA 2022-04-02 15:21:44.129 - [34mdebug[39m: smartmeter.0 (7520) CURRENT PROCESS STEP 2 IN CHECKMESSAGE 2022-04-02 15:21:44.129 - [34mdebug[39m: smartmeter.0 (7520) MATCH-RESULT SIGNON: "/?!\r\n/L" -> null 2022-04-02 15:21:44.176 - [34mdebug[39m: smartmeter.0 (7520) NEW DATA 2022-04-02 15:21:44.177 - [34mdebug[39m: smartmeter.0 (7520) CURRENT PROCESS STEP 2 IN CHECKMESSAGE 2022-04-02 15:21:44.177 - [34mdebug[39m: smartmeter.0 (7520) MATCH-RESULT SIGNON: "/?!\r\n/LG" -> null 2022-04-02 15:21:44.208 - [34mdebug[39m: smartmeter.0 (7520) NEW DATA
2022-04-02 15:21:44.799 - [34mdebug[39m: smartmeter.0 (7520) NEW DATA 2022-04-02 15:21:44.800 - [34mdebug[39m: smartmeter.0 (7520) CURRENT PROCESS STEP 2 IN CHECKMESSAGE 2022-04-02 15:21:44.801 - [34mdebug[39m: smartmeter.0 (7520) MATCH-RESULT SIGNON: "/?!\r\n/LGZ5\\2ZMD4104407.B31\r" -> null 2022-04-02 15:21:44.831 - [34mdebug[39m: smartmeter.0 (7520) NEW DATA 2022-04-02 15:21:44.832 - [34mdebug[39m: smartmeter.0 (7520) CURRENT PROCESS STEP 2 IN CHECKMESSAGE 2022-04-02 15:21:44.833 - [34mdebug[39m: smartmeter.0 (7520) MATCH-RESULT SIGNON: "/?!\r\n/LGZ5\\2ZMD4104407.B31\r\n" -> ["/LGZ5\\2ZMD4104407.B31\r\n","/LGZ5\\2ZMD4104407.B31"] 2022-04-02 15:21:44.833 - [34mdebug[39m: smartmeter.0 (7520) PAUSE READING SERIALPORT TO HANDLE MESSAGE 2022-04-02 15:21:44.834 - [34mdebug[39m: smartmeter.0 (7520) CLEAR MESSAGE TIMEOUT TIMER 2022-04-02 15:21:44.835 - [34mdebug[39m: smartmeter.0 (7520) CURRENT PROCESS STEP 2 IN HANDLEMESSAGE 2022-04-02 15:21:44.836 - [34mdebug[39m: smartmeter.0 (7520) D0 Protocol E (2) not fully supported! Let us try it :-) Please contact the developer if you have problems 2022-04-02 15:21:44.836 - [34mdebug[39m: smartmeter.0 (7520) LEFT AFTER HANDLE-MESSAGE 0 2022-04-02 15:21:44.837 - [34mdebug[39m: smartmeter.0 (7520) CURRENT PROCESS STEP 3 IN ISPROCESSCOMPLETE: false 2022-04-02 15:21:44.838 - [34mdebug[39m: smartmeter.0 (7520) ALL MESSAGES TO SEND: 2 2022-04-02 15:21:45.089 - [34mdebug[39m: smartmeter.0 (7520) CURRENT PROCESS STEP 3 IN GETNEXTMESSAGE 2022-04-02 15:21:45.090 - [34mdebug[39m: smartmeter.0 (7520) TO SEND 2: 050 2022-04-02 15:21:45.233 - [34mdebug[39m: smartmeter.0 (7520) DONE SEND 2 2022-04-02 15:21:45.485 - [34mdebug[39m: smartmeter.0 (7520) CURRENT PROCESS STEP 4 IN GETNEXTMESSAGE 2022-04-02 15:21:45.486 - [34mdebug[39m: smartmeter.0 (7520) BAUD CHANGEOVER TO 9600 baud 2022-04-02 15:21:45.487 - [34mdebug[39m: smartmeter.0 (7520) BAUD CHANGEOVER DONE 2022-04-02 15:21:45.488 - [34mdebug[39m: smartmeter.0 (7520) TO SEND 1: 2022-04-02 15:21:45.488 - [34mdebug[39m: smartmeter.0 (7520) DONE SEND 0 2022-04-02 15:21:45.489 - [34mdebug[39m: smartmeter.0 (7520) RESUME READING SERIALPORT IN FINALIZE 2022-04-02 15:21:45.489 - [34mdebug[39m: smartmeter.0 (7520) SET MESSAGE TIMEOUT TIMER: 120000 2022-04-02 15:21:45.490 - [34mdebug[39m: smartmeter.0 (7520) CURRENT PROCESS STEP 4 IN ISPROCESSCOMPLETE: false 2022-04-02 15:21:45.490 - [34mdebug[39m: smartmeter.0 (7520) REMAINING DATA AFTER MESSAGE HANDLING: 2022-04-02 15:21:45.490 - [34mdebug[39m: smartmeter.0 (7520) END FINALIZE 2022-04-02 15:21:45.491 - [34mdebug[39m: smartmeter.0 (7520) NEW DATA 2022-04-02 15:21:45.492 - [34mdebug[39m: smartmeter.0 (7520) CURRENT PROCESS STEP 4 IN CHECKMESSAGE 2022-04-02 15:21:45.492 - [34mdebug[39m: smartmeter.0 (7520) MATCH-RESULT DATA: "\u0006" -> null 2022-04-02 15:21:45.493 - [34mdebug[39m: smartmeter.0 (7520) NEW DATA 2022-04-02 15:21:45.493 - [34mdebug[39m: smartmeter.0 (7520) CURRENT PROCESS STEP 4 IN CHECKMESSAGE 2022-04-02 15:21:45.494 - [34mdebug[39m: smartmeter.0 (7520) MATCH-RESULT DATA: "\u00060" -> null 2022-04-02 15:21:45.494 - [34mdebug[39m: smartmeter.0 (7520) NEW DATA 2022-04-02 15:21:45.495 - [34mdebug[39m: smartmeter.0 (7520) CURRENT PROCESS STEP 4 IN CHECKMESSAGE 2022-04-02 15:21:45.495 - [34mdebug[39m: smartmeter.0 (7520) MATCH-RESULT DATA: "\u000605" -> null 2022-04-02 15:21:45.496 - [34mdebug[39m: smartmeter.0 (7520) NEW DATA
2022-04-02 15:21:52.275 - [34mdebug[39m: smartmeter.0 (7520) NEW DATA 2022-04-02 15:21:52.275 - [34mdebug[39m: smartmeter.0 (7520) CURRENT PROCESS STEP 4 IN CHECKMESSAGE 2022-04-02 15:21:52.279 - [34mdebug[39m: smartmeter.0 (7520) MATCH-RESULT DATA: "\u0006050\r\n\u0000\u0004\f\b\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\b\u0000\u0003`\u0000`\u0000\u0000\u0000\u0010\u0000\u0000\u0002\u0000\u0002\u0000D\u0004x\u0010\u000e \f@\u0000\u0002\u0002D\u0004x \u0018@\f`\u0000 \u0000\u0002B\u0000\u0000B\u0004\u0000\u0002\u0004\u0000\u0000\u0000\u0000\u0000\b\u0000\u0010\f \f@\u0000@ \u0000\u0002B\u0000\u0010@\u0000\u0000\u0002\u0004\u0000\u0000\u0000\u0000\u0000\b\u0000 \u001c@\f`\u0000 p\u0000\u0002B\u0000\u0000B\u0000\u0000\u0002\u0002\u0000\u0000\u0000\u0000\u0000\b\u0000\u0010\f \f`\u0000\u0001@\u0002\u0000\u0002B\u0000\u0000B\u0000\u0000\u0002\u0004\u0000\u0000\u0000\u0000\u0000B\u0004x \f@\f@\u0000 n\u0000@ \b@ \b`@\u0001\u0001\u0000\u0000\u0000\u0000\u0000\u0004\u0004p \u001c@1\u0000@\u0002 \u0000$\u0002B\u0000\u0002B\u0000\u0000\u0002\u0006\u0000\u0000\u0000\u0000\u0000D\u0004p \fB\f@\u0000\u0001\u0000\u0000 \b@ \u0010@\u0000\u0001\u0002\u0000\u0000\u0000\u0000\u0000D\u0004p \u001c@\f \u0014 @\u0000@ \b`` \u0000\n\u0002\u0004\u0000\u0000\u0000\u0000\u0000\b\u0000\u0010\u000e \f@\u0000\u0001\b\u0000\u0002B\u0000\u0000B\u0000\u0000\u0002\u0002\u0000\u0000\u0000\u0000\u0000\b\u0000 \u0018@\f@\u0000\u0001\u0000\u0003\u0000\u0002B\u00000B\u0000\u0000\u0002\u0006\u0000\u0000\u0000\u0000\u0000\u0004\u0004x \f@\f@\u0000@@\u0001\u0000\u0002B\u0000 @\u0000\u0000\u0002\u0006\u0000\u0000\u0000\u0000\u0000\b\u0000 \u001c@\f`\u0000@@\u0000\u0000\u0001B\u0000\u0000@\u0000\u0000\u0002\u0004\u0000\u0000\u0000\u0000\u0000\b\u0000 \u001c@\f@\u0000b`\u0000\u0002B\u0000\u0000B\u0004\u0000\u0002\u0004\u0000\u0000\u0000\u0000\u0000\b\u0000 \u0018@\f@\u0000p`\u0001\u0000\u0003B\u0000\u0010@\u0000\u0000\u0002\u0004\u0000\u0000\u0000\u0000\u0000D\u0004p \u0018@9\u0000\u0000\u00020\u0002\u0000\u0002B\u0000\u0000B\u0000\u0000\u0002\u0002\u0000\u0000\u0000\u0000\u0000D\u0004p \f \f \u0000\u0000\"` \u0000\u0000\u0000B\u0006\u0000\b\u0000 \f$\u0018@\u0000`\u0004\u0000\u0000\u0000B\u0006\u0000\u0000@@0\u0000\u0000@\u0000\u0000\u0000 @`@\u0000\u0000\b\u0000 \f$\\@\u0001\u0001\u0002\u0002\u0000`\u0000\u0000\"\u0000\u0000\u0002B\u0000\u0010@\u0000\u0012\u0000\u0002\u0002\u0002\u0010\u0000\u0000\b\u0000 \fL\u0018@\u0000 \u0000 \f@L\u0001\u0001\u0002\u0000\u0002B\u0000\u0000B\u00002\u0002\u0004\u0002\u0002\u0010\u0000\u0000\u0004\u0004p \fh\u0018\u0000\u0000 p\u0000`\u0000\u0000\u0002\u0002\u0004\u0000\r\t\u0000\u0003\u0012\u0005$\u0012 $H\fP\u0010\u0000\b\u0000 \fl\u0018\u0000\u0000 p\u0000`\u00002\u0002\u0002\u0004\u0000\u0016B\u0000\u0002B4\u0000\u0002\u0004\u0002\u0002\u0000\u0002\u0000\b\u0000 \fh\u0018@\u0000 n\u0000`\u0000\u0002\u0002\u0002\u0006\u0000\u0006B\u0010\u0002B\u0004\u0000\u0000 00B \u0010\b\u0000 \fl\u0018\u0000\u0000 H\u0000`\u0000 \u0000\u0000\u0002B\u0000\u0002@\u0000\u0002\u0002\u0002\u0002\u0002\u0010\u0000\u0000\u0004\u0004p \fH\u0018\u0001\u0000\u0002\u0000\u0000\u0000`\u0000\u0000\u0000\u0002\u0004\u0000\u0004B\u0000\u0000@\u0000\u0002\u0002\u0004\u0002\u0002\u0000\u0000\u0000\b\u0000H\u0006\u0012\f \u0000 @\u0000`\u0000\u0000\u0000\u0002\u0002 \u0002B\u0000\u0000B\u0000\u0002\u0000 &0B \u0000\b\u0000 \fL\u0018\u0000\u0000 f\u0000`\u0000\u0002\u0000\u0002\u0002 \u0002B\u00000B\u0000\u0000\u0002\u0004\u0002\u0000\u0000\u0002\u0000D\u0004x \f$\u0018@\u0000@\u0000\u0001\u0000`\u0000\u0002\u0002\u0002\u0006\u0000\t\t\u0000\u0003\u0002\u0000R\u0003 $\u0004\fH\u0010\u0000\t\u0000 \f$\u0018@\b\u0001\u0000\u0002\u0000`\u0000\u0000\u0002\u0000\u0004\u0000\u0002B\u0000\u0000@\u0000\u0002\u0002\u0006\u0002\u0000\u0010\u0000\u0000\b\u0000 \fH\u0018\u0000\u0000 `\u0000`\u0000\u0000\u0000\u0002\u0004\u0000\u0006B\u0000\u0000B\u0000\u0000\u0002\u0004\u0002\u0002\u0000\u0000\u0000\b\u0000 \f$\\@\bA\u0000\u0000\u0000`\u0000\u0002 \u0000\u0004\u0000\u0004B\u0004\u0010@\u0000\u0002\u0002\u0002\u0002\u0002\u0000\u0000\u0000\u0004\u0004x \fh\u0018A\u00000p\u0000`\u0000\u0000\u0010\u0000\u0000\u0002B\u0000\u0000B\u0000\u0002\u0000\u0002\u0002\u0002\u0000\u0002\u0000\u0004\u0004p \f$\f@\u0000`L\u0001\u0000`\u0000\u00002\u0002\u0002\u0000\u0002B\u0000\u0000B\u0004\u0000\u0000\u0002\u0002\u0002\u0000\u0002\u0000\b\u0000H\u0006\u0018, \u0010@\u0000\u0000\u0002\u0000`\u0000\u0002\u0002\u00024g\f\u000e\b\bp \f`\f`\u0000@ \u0000\u0000\u0000\u0002\u0000`\u0000\u0002\u0002\u0002\u0016\u0004p \f0\f@\u0000` \u0000\u0000\u0000\u0002\u0000b\u0000\u0002\u0000\u0000\b\u0000\u0010,0\f \u0000 `\u0000\u0000\u0000\u0002\u0000b0\u0000\u0002\u0000\b\u0000\u0010\f0\f`\u0000 p\u0000 @@\u0001@b\u0010\u0010\u0000\u0000\b\u0000 \f`\f@\u0000 L\u0000\u0000\u0000\u0002\u0000b`2\"\u0000\u0004\u0004p \f`\f \u0010 H\u0000\u0000\u0000\u0002\u0000b\u0000\u0012\u0000\u0002F\u0004p \f0\f`\u0000 `\u0000\u0000\u0000\u0002\u0010`\u0000\u0002\u0002\u0002\u0004\u0004p \f`\f`\u0000 @\u0000@@\u0000\u0001\u0010`\u0000\u0002\u0000\u0002\u0004\u0004x \fp\f@\u0000@D\u0001\u0000\u0002\u0000\u0002\u0010`\u00000\u0002\u0000B\u0004x \f0\f@\u0000\u0001\u0000\u0002\u0000\u0000\u0000\u0002\u0000b 2\u0002\u0002D\u0004p \f`\f@\u0000`@\u0000@@\u0000\u0001\u0000bd\u0002\u0000\u0002\u0014\u0004p \f`\f@\u0000\u0001\u0000\u0000\u0000\u0000\u0002\u0000b0\u0002\u0002\u0002B\u0004x \fp\f@\u00000`\u0000 ` B\f$L \u0000\b\u0000 \fp\f@\u00000p\u0000\u0000\u0000\u0002\u0000`\u0000\u0002\u0000\u0002D\u0004x \fp\f@\u0000`L\u0001\u0000\u0000\u0000\u0002\u0000`\u0000\u00000\u0002B\u0004x \f0\f`\u0000\u0000\u0000\u0000\u0012`\u0000\u0000\u0000\u0002$g\u000e\u000e\u0010\bp \f0\f \u0000 \u0000\u0000\u0000\u0000\u0012`\u0000\u0000\u0000\u0002\u0014\u0004p \f`\f \u0000 \u0000\u0000\u0000\u0000\u0012`\u0000\"\u0000\u0000\b\u0000\u0010\f0\f`\u0000 0\u0000\u0000\u0000\u0000\u0012`\u0014\u0002\u0002\u0000B\u0004x \f0\f \u0000 `\u0000 @@`\t`\u0000\u0000 \u0000\u0004\u0004p \f`\f \u0000 N\u0000\u0000\u0000\u0000\u0002`@\u0000\u0002\u0002F\u0004p \fp\f`\u0000 (\u0000\u0000\u0000\u0000\u0002`\u0000 \u0000\u0000\b\u0000_\u0012\u0000\u0013\u0000\u0002\u0004\u0000\u0000\u0000\u00000\u0002`p\"\u0000\u0002\u0014\u0004p \f0\f`\u0000 h\u0000\u0000\u00000\u0002` \"0\u0002\u0006\u0004p \f`\f`\u0000 f\u0000\u0000\u00000\u0002`\u0000\u0000\u0002\u0002B\u0004x \f`\f`\u0000 `\u0000`@@\u0018\u0003b\u0000\u0002\u0002\u0002\u0014\u0004p \fp\f`\u0000 @\u0000\u0000\u00000\u0002b\u0000\u0000\u0002\u0002\u0004\u0004p \fp\fB\u0000 @\u0000\u0000\u000002b\u0000\u0000\u0002\u0002\u0006\u0004p \fp\f`\u00000p\u0000@\u0000\u000002b\u0000\u0000\u0000\u0000\u0014\u0004p \fp\f@\u00000`\u0000 @@\u0018\u0011`0\u00022\u0002F\u0004p \fp\f \u00000L\u0000\u0000\u00000\"`@ \u0000\u0000\u0004\u0004p \fp\f \u0000@@\u0000\u0000\u0002`\u0010\u0010\u0000\u0002$g\f\u000e\u0010\b` \f0\f \u0000 \u0000@@\u0000\u0000\u0002`0\u0010\u0000\u0002B\u0004x \f`\f@\u0000 \u0000 @@\u0000\u0001p\u0010\u0010\u0000\u0002B\u0004x \f`\f`\u0000 `\u0000\u0000\u0000\u0002\u0000\u0002`\u00002\u0002\u0002F\u0004p \f0\f \u0000 p\u0000`@\u0000\u0000\u0002`\u00002\u0002\u0002D\u0004x \f`\f@\u0000 &\u0000\u0000\u0000\u0000\u0002b\u0000\u00022\u0002\u0004\u0004x \fp\f`\u0000 L\u0000\u0000\u0000\u0000\u0002b\u00000\u0002\u0002T\u0004p \f0\fd\u0000 @\u0000 @@\u0000\u0001b\u0000\u0000\u0012\u0000\u0004\u0004p \f`\f`\u0000 \u0000\u0000\u0000\u0000\u0012`\u0000\u0000\"\u0000\u0004\u0004p \f`\f`\u0000 D\u0000\u0000\u0000\u0000\u0012`\u0000\u0000\"\u0000\b\u0000\u0010\u000e0\f \u0000 \u0000`@\u0000\u0000\u001b`\u0000\u0002\u0000\u0002D\u0004p \fp\fD\u0000 B\u0000\u0000\u0000\u0000\u0012`d2\u0002\u0000B\u0004p \fp\f \u0000 @\u0000\u0000\u0000\u0000\u0012`02\u0002\u0000\b\u0000 \f0\f`\u000000\u0000\u0000\u0000\u0000\u0012``\"0\u0002B\u0004x \f0\fd\u00000`\u0000\u0000\u0000\u0000\u0012`\u0000\u0012 \u0000\b\u0000 \fp\f@\u00000L\u0000\u0000\u0000\u0000\u0012`\u0000\u0012 \u0000\b\u0000\"\u0018`\f`\u0000\u0000\t\u0010\u0000\u0002b`\u0002\u0000\u0000Bd@`\u0000\u0000\b\u0000\"\u001c`\f@\u0000\u0001\u0001\u0002\u0000\u0012\u0010\u0000\u0002bp\u0002\u0000\u0000D\u0004x\"\u0018`\f@\u0000\u0005\u0001\u0000\u0000\u0012\u0010\u0000\u0002`\u0000\u00020\u0002\u0006\u0004p\"\u001c`\f \u0000 p\u0000\u0000\t\u001a\u0000\"` \u0010\u0000\u0000\b\u0000\u0011\u000e0\f`\u0000``\u0000\u0012\u0010\u0000\"`$\u0002\u0002\u0000\u0014\u0004p\"\\`1\u0000\u0000 l\u0000\u0012\u0010\u0000\u0012`\u0004\u0002\u0002\u0000B\u0004x\"\u001c`1\u0000\u0000 L\u0000\u0001\t\u0010\u0000\u0002bD\u0000\u0002\u0002B\u0004x\"\u001c`1\u0000\u0000 `\u0000\u0012\u0010\u0000\u0002b\u0000\"\u0000\u0002\u0004\u0004p\"\u0018`\f@\u0000\u0001\u0000\u0002\u0000\u0012\u0010\u0000\u0002b\u0000\u0002\u0002\u0000\u0004\u0004p\"\u001c`1\u0000@\u0002\u0010\u0000 \u0012\u0010\u0000\u0002b`\u0012\u0010\u0000\b\u0000\"\u0018`\f`\u0000 @\u0000$\u0004\u0004HH\u0006\u00106 \u0000\b\u0000\"\u0018`9\u0000@\u0002\u0000\u0002\u0000\u0012\u0010\u0000\u0002`\u0010\u0000\u0000\u0002\u0006\u0004x\"\u0018`1\u0000\u0000\u0002\u0000\u0000\u0000\u0012\u0010\u0000\u0002`\u0000\u00022\u0002F\u0004x\"\u001c`1\u0000\u0010\u0002\u0000\u0000 \"D@\u00010\u0000\u0002\u0012\u0000\b\u0000?\u0004\u000bL\u0006\u0010\u00000`\u0000@\"\" p\u0018\u0011@\u0002\u0002D\u0004p\"\u0018`9\u0000\u00000n\u0000\u0012\u0010\u0000\u0000`@\u0000\u0000\u0000\b\u0000\"\f0\f \u0000 H@A1 \u0000\"\u0000$G/\u000e\u0006\u001c !\u0000\"\u0018`\f`\u0000 \u0000 $@`1\u0010\u0000\"\u0000\b\u0000\u0011\f0\f`\u0000 \u0000H\u0010\u0012 &\f``X\u0001b\u0002|\"\u0018`1\u0000\u0002\u0002\u0000\u0000\u0002 \u0000 `\u0000\u0000\"\u0000\b\u0000\u0011\f0\f`\u0000 `\u0000\u0002 \u0000\u0000`\u0000\u0000\u0002\u0002\u0014\u0004p\"\u0018`\f`\u0000 L\u0000@ H@\f0@\u0002\"\u0000\b\u0000\"\f`\f@\u0000 l\u0000\u0002 \u0000\u0010`4\u0000\u0000\u0000\u0004\u0004p\"\\`9\u0000\u0002\u0002\u0000\u0000\u0002 \u0000\u0000b\u0000\u0010\u0000\u0002V\u0004x\"X`1\u0000\u0002\u0002\u0000\u0002\u0000\u0002 \u0000\u0000b@\u0010\u0010\u0000\b\u0000\"\u001c`\f@\u0000 F\u0000\u0002 \u0000\u0000b\u0000\u0000\u0002\u0000\b\u0000\u0011\f0\f`\u0000 `\u0000\u0002 \u0000\u0000b\u0000\u0000\"\u0000\u0004\u0004p\"\f`9\u0000\u0002\u0002\u0000\u0002\u0000\u0002 \u0000\u0000b\u0000\u0012\u0000\u0000B\u0004x\"\u0018`\f@\u0000 @\u0000\u0002 \u0000\u0000b`2\u0012\u0000\b\u0000\"\u0018`\f@\u000000\u0000` h@\u000010\u0002\u0000\u0002F\u0004x\"\u0018`1\u0000\u0003\u0002\u0000\u0002\u0000\u0002 \u0000\u0000`\u0000\u0002\u0010\u0000B\u0004x\"\u0018`1\u0000R\u00020\u0002\u0000\u0002 \u0000\u0000`\u0000\u0002\u0002\u0000D\u0004p\"\u001c`\f@\u00000\" \u0000b\u0000\u0002\u0002\u0000Bd@`\u0000\u0000\b\u0000\"\f`\f`\u0000 \u0000`L\u0011\u0010\u0000b\u0000\u0002\u0002\u0000F\u0004p\"\u001c`1\u0000\u0003\u0002\u0002\u00000\" \u0000b\u0000\u0000\u0002\u0000\u0014\u0004p\"\f`\f \u0000 p\u00000\" \u0000`\u0010\u0000\u0012\u0000\u0004\u0004x\"\u001c`\f`\u0000 p\u00000\" \u0000`\u0000\u0002\"\u0000\b\u0000\u0011\f0\f@\u0000 L\u0000@L$``8\b\u0000\u0002\u0000\b\u0000\u0011\f0\f`\u0000 H\u00000\"\u0000\u0000`\u0000\u0002\u0010\u0000\b\u0000\"\u001c`1\u0000\u0002\u0002\u0000\u00000\"\u0000\u0000`\u0000\u0012\u0000\u0002D\u0004p\"\u0018`\f@\u0000 `\u00000\"\u0000\u0000`\u0000\u00022\u0002\u0004\u0004p\"\u0018`1\u0000\u0002\u0002\u0010\u0000\u00000\"\u0000\u0000`\u0000\u00022\u0002\u0006\u0004x\"\\`9\u0000B\u0002\u0000\u0002\u00000\"\u0000\u0000`\u0000\u0002\u0012\u0000\b\u0000\"\f`\f@\u0000 @\u0000 L$B`0\u00008\u0012\u0000\b\u0000\"\u001c`9\u0000\u0002\u0002\u0000\u0000 L$``0\u00008\u0012\u0000\u0004\u0004p\"\u001c`\f \u00000`\u0000\u0000\u0018\"\u0000\u0000`\u0000 \u0000\u0002\u0002\u0004x\"\u001c`1\u0000\u0002\u0002\u0000\u0002\u00040\"\u0000\u0000b\u0004\u0012\u0000\u0000B\u0004x\"\u001c`\u0019\u0000\u0000\u00020\u0002\u00000\"\u0000\u0000b\u0000\u0012\u0000\u0000B\u0004x \f@\f`\u0000$\t\b\u0006\u00100 \u0000B\u0006\u0000\b\u0000 \fL\u0018@\u0000\u0000b\u0000\u0002\u0010\u0000B\u0006\u0000\u0000\u0002B\u0000\u0000B\u0000\u0000\u0002\u0004\u0000\u0002\u0010\u0000\u0000\u0004\u0004p \fH\u0018\u0000\u0000 \u0000b\u00040\u0002\u0002\u0004\u0000\u0004B\u0000\u0010@ \u0000\u0000 ``@\u0001\u0000\b\u0000 \fl\u0018\u0000\u0000\u0003\u0002\u0000 \f@ $\u0000\u0000\u0002B\u0000\u0000B\u0000\u0002\u0002\u0002\u0002\u0000\u0000\u0002\u0000\b\u0000 \fh\u0018\u0001\u0000\u0002\u0000\u0000 b\u0000\u0000\u0002\u0002\u0002\u0000\u0002B\u0000\u0000B\u0000\u0000\u0000 `@\u0000\u0000\b\u0000 \f$\f@\u0000@`\u0001\u0000b\u00000\u0002\u0002\u0002\u0000\u0002B\u0000\u0002B \u0002\u0002\u0014\u0002\u0002\u0000\u0002\u0000\b\u0000 \f$\u001c@\u0000@\u0018\u0001\u0000b\u00000\u0012\u0000\u0002\u0000\u0002B\u0000\u0002B\u0010\u0002\u0000\u00020\u0002\u0000\u0002\u0000\b\u0000 \fL\u0018\u0000\u0000 L\u0000\u00001\u000002\u0002\u0004\u0000\u0006B\u0004\u0002@\u0000\u0002\u0002\u0002\u0000\u0000\u0000\u0000\u0000\b\u0000H\u0006\u0012\f P `\u0000$\u0003\b\u0012\u0012\u0000\u0000 \b`` \u0000\u0012\u0000 H`\u0000\u0000\u0002B\u0004x \fL\u0018\u0000\u0000 `\u0000@\f@HA\u0001\u0002\u0000\u0002B\u0000\u0000B\u0000\"\u0000 h`@\u0001\u0000\b\u0000 \f$\f`\u0000@D\u0000b\u0000\u0000\u0000\u0002\u0006\u0000\u0002B\u00040B\u0000\u0000\u0002\u0004\u0000\u0002\u0010\u0000\u0000F\u0004x \fL\u0018\u0000\u0000\u0002\u0000\u0002$b\u0000 \u0000\u0000\u0000 \b@H0\u0000\u0002\u0002\u0004\u0000\u0000\u0000\u0002\u0000\b\u0000 \f$\u0018@\u0000@\u0000\u0001\u0000b\u00000\u0002\u0002\u0002\u0000\u0002B\u0000\u0000@\u0000\u0012\u0000\u0004\u0000\u0000\u0000\u0000\u0000B\u0004x \fH\u0018\u0000\u0000 \u0010@1\u0000\u0000\u0000\u0000\u0000$H\u0002\u0010\u0010\b @\u0000\u0001\u0000\u0000\u0010\u0000\u0000\b\u0000 \fH\u0018\u0000\u00000`\u0000b\u0000\u0000\u0000\u0002\u0006\u0000\u0006B\u0000\u0010@\u0000\u0002\u0000 ``\b\u0000@B\u0004x \fL\u0018\u0000\u000000\u0000b\u0004\u0000\u0002\u0000\u0000\u0002B\u0000\u0000B\u0004\u0002\u0002\u0004\u0000\u0000\u0010\u0000\u0000\b\u0000 \fH\u0018\u0000\u00000L\u0000$C\b\u0018\u0010\u0000\u0000\u0002B\u0000\u0000B \u0002\u0000\u0002\u0002\u0000\u0010\u0000\u0000\b\u0000 \fp\f@\u0000\u0002\u0007$\u0012\u0006\u0000\u0002\u0010\u0000\u0012g\u0006\u000e\b\b` \f0\f@\u0000@ \u0000\u0002\u0006\u0004LL\u0006\u0010 \u0000\b\u0000\u0010,0\f@\u0000\u0001\u0001\u0000\u0002\u0012\u0004\u0012&\u0000\"0\u0002D\u0004p \f0\f@\u0000@`\u0000\u0002\u0004\u0006\u00026\u0000\u0002\u0012\u0006 B\u0000 \f0\f@\u0000@`!\u0010\u0000\u00022\"`\u0000\u0002\u0002\u0002D\u0004p \f0\f \u0000 L\u0000H@\u0019\t\u0000b\u0000\u0002\u0002\u0000\b\u0000 \f`\f`\u0000\u0001\u0010@ \u0000\u00020\u0002b$\u0000\u0000\u0002F\u0004p \f0\f \u0000 @\u0000\u0000@\u00022\u0012`\u0000\u0000\u0002\u0002D\u0004p \f`\f`\u0000 `\u00000\u0002 \u0000`\u0000\u0000\u0002\u0000\b\u0000\u0010\f0\f@\u0000 d\u0000\b\u0010\u0018 0\f`@\u0001\u0001B\u0002x \fp\f@\u0000 `\u0000\u0000\u0002\u0000\"`\u0000\u0002\u0002\u0002\u0014\u0004p \fp\f@\u0000\u0001\u0000\u0002\u0000\u0000\u0012\u0000\u0002b\u0004\u0002\u0000\u0002\u0006\u0004p \fp\f \u0000 `\u0000\u0000\u00000\u0002b@\u0010\u0010\u0000\b\u0000\u0010\u000e0\f \u00000p\u0000\u0002\u0002\u0002\u0002b \u0000\u0000\u0000\b\u0000 \fp\f@\u00000`\u0000@& @H0\u0000\u00032\u0002\u0006\u0004x \f`\f`\u0000A\u0018\u0003\u0000\u0002\u0010 \u0000b\u0000 0\u0002D\u0004p \fp\f@\u0000\u0002\u0002\u00022b \u0000\u0002\u00024g\u000e\u000eX\b` \f0\f@\u0000 \u0000H\u0019\u0011 0\f@H\u0000\u0001B\u0002x \f0\f@\u0000 \u0000\u0002\u0002\u00022b\u0000\u0012\u0000\u0000\u0004\u0004p \f`\fB\u0000 b\u0000\u0000\u0001\u0000\u0002\u0000b\u0000\u0002\u0002\u0002\u0006\u0004p \f`\f@\u0000 p\u0000\u0000\u0000\"\u0000`p\"\u0000\u0000\b\u0000\u0010\f0\f@\u0000 n\u0000\u0000\u0002\u0012\u0000`@\u0000\u0002\u0002F\u0004p \f`\f \u0000 L\u00000\u0002\u0000\u0002b\u00002\u0002\u0002\u0004\u0004p \f0\f`\u0000 @\u0000 ``\" \f@ \u0000\b\u0000 \f \fB\u0000 @\u0000 @& p\u0018@@\u0000\u0002\u0004\u0004p \fp\f@\u0000 \"\u0000 D@\u0000\u0010`\u0000\u00022\u0002\u0004\u0004p \fp\f`\u0000 `\u0000@@\"p@\f`@&\u0000\b\u0000 \f`\fb\u0000 @\u0000\u0000\u0002\"\u0010`\u0004\u0000\u0002\u0000D\u0004x \f`\f@\u0000 `\u0000\u0000\u0000 \u0000`t\u0002\u0000\u0002\u0006\u0004x \f0\fb\u00000`\u0000\u0000\u0002\u0002\u0000`\u0000\u0002\u0002\u0002F\u0004x \f`\f@\u00000p\u0000`L\u0019\t\u0010b`0\u0002\u0002\u0004\u0004p \f`\f \u00000n\u0000 \u0000\u0002`\u00002\u0002\u0000\b\u0000 \fp\f@\u0000 0\"\u0000b\u0000\u0002\u0000\u00024g\f\u000e\u0010\b` \fp\f`\u0000 \u0000 0\u0002\u0002`\u0000\u0000\u0002\u0000\b\u0000 \f`\f@\u0000 \u0000 L@\u0001\u0019b\u0000\u0012 \u0000\b\u0000 \fp\f \u0000 `\u0000\u0000 0\u0002b\u0000\u0012\u0000\u0000B\u0004x \fp\f`\u0000 `\u0000\u0000\u0000\u0002 `\u0000\u0002\u0002\u0000\b\u0000 \f`\f@\u0000 N\u0000\u0000\"\u0000\u0010`\u0000\u0000\u0000\u0002\u0014\u0004p \f0\f@\u0000 H\u0000 @ ` \f`0 \u0000\b\u0000 \fp\f \u0000 @\u0000\u0010\u0000\u0012\u0000b\u00000\u0012\u0000\b\u0000 \fp\f@\u0000 `\u0000\u0000\u0002\u0002\u0000`\u0000\u00002\u0002\u0004\u0004p \f0\f@\u0000 D\u0000\u0000\u0000\u00032\u0002b\u0000\u0000 \u0000\b\u0000 \f`\f@\u0000 @\u0000\u0000\"\u0000\u0000b \u0000\u0000\u0002\u0006\u0004x \fp\f@\u0000 @\u0000\u0000\u0002\u0002\u0002`\u0004\"\u0000\u0002\u0004\u0004x \f0\fd\u0000 @\u0000\u0000\u0000\u0000\u0002b\u0000\u0010\u0000\u0002\u0004\u0004p \f`\f \u00000p\u0000\u0002\u0000\u0000\u0002b\u0010\u0000\u0002\u0002\u0004\u0004x \f0\f@\u00000p\u0000\u0002\u0010\u0000\u0012``\u0002 \u0000\b\u0000\u000f\t\u0000\u0013\u0000\u0002\u00020\u0002\u0000\u00022\u00020b\u0000\u0002\u0002\u0002F\u0004x \f`\f@\u0000\u0002\u0002\u0000\u0012`\u0000\u0002\u0002\u0002&G@`\u0000\u0000\b\u0000 \f`\f \u0000 \u0000\u0002\u0002\u0000\u0002`\u0000\u0000 \u0000\b\u0000 \fp\f`\u0000@ \u0000 \"H 0\u0018`\t\b\u0000\b\u0000\u0010\f0\f \u0000 p\u0000\u0002\u0002\u0000\u0002`\u000022\u0002F\u0004x \fp\f`\u0000 `\u0000\u0002\u0012\u00100b`\u0012\u0000\u0000\b\u0000 \f`\f@\u0000 l\u0000\u00022\u00022b\u0000\u0000\u0002\u0000\b\u0000 \f`\f`\u0000`H\u0000\u0002\u0002\u0002 ``\u0000\u0000\u0000\u0004\u0004p \f`\f@\u0000\u0001\u0000\u0000\u0002\u0000\u0000\u0000b\u0000\u0002\u0000\u0000B\u0006x \f`\f@\u0000 @\u0000\u0004\u000e\fP\u0010\f 0f\u0000!\u0001| \fp\f`\u0000@D\u0000\u0004\f\u0004LH\u0006\u0010#\"\u0002\b\u0000\u0010\f0\f \u0010 @\u0000\u0004L\t\u001c\u0010\u000e \"\u0012\b\u0000\u0010\f0\f \u0000 `\u0000\u0004l\b\f\u0018\u00061$D\u0000\u0010\u0000\u0010\f0\f@\u0000 @D\u0018\u0001\u00020b\u0000\u0000\u0002\u0002D\u0004x \f`\f@\u0000``\u0000\u0004\u0002'$\u0012\u0000\u0002\u00126 b\u0000 \fp\f@\u0000A@\u0002\u0010 \u0000\u0002\u0012`\u0000\u0000 \u0000\b\u0000\u001f\u0012\u0000b\u0004\u00000L\u0000d@P\u0018\u0012` \u0000 \u0000D\u0004p \fp\f \u0000\u0002\u0002\u0002 `\u0000\u0000\u0000\u0000Bd@`@\u0000\b\u0000 \f`\f@\u0000 \u0000 00\"`\u0018I\u0000B\u0002\u0006\u0004p \fp\f`\u0000 \u0000\u0002\u0002\u0002\u0000`\u0000 \u0000\u0002D\u0004p \fp\f`\u0000 p\u0000\u0002\u0002\u0002\u0002b0\u0000\u0002\u0002\u0006\u0004x \fp\f@\u0000 p\u000022\u0002\u0002b\u0000\u0000 \u0000\u0004\u0004p \f0\f@\u0000 L\u0000 &\"@H0\u0000\u0013\"\u0000\b\u0000 \f`\f \u0000 l\u0000`$pH@0\u00000\"\u0000\b\u0000\u001f\u0012\u0000\u0013\u0000\u0002\u0002\u0000\u0000\"\u0000\u0000\u0002b 0\u0002\u0002B\u0004p \f`\f \u0000 `\u0000$\tH\u0010\u0010\f& 0\u0000\b\u0000 \fp\f`\u0000 d\u0000\u0000\u00012\u0012\u0000b\u0004\u0000 \u0000\b\u0000\u0010\f0\f@\u0000 `\u0000\u0002\u0010\u0000\"`\u0000\"\u0010\u0000\b\u0000\u0010\u000e0\fB\u0000 \u0000d 0@&\f `\"\u0000\b\u0000\u0010\u000e0\f \u0000 \u0000 `@0\u0000B\u0000\u0000\u0004\u0004p \f0\f@\u00000b\u0000 &&\f@ &\u0000\b\u0000 \f`\f@\u00000`\u0000 \"HH\u00001\u0000\u0002\u0000\u0000B\u0004x \f`\f@\u00000L\u0000@\"` &\fp@0\u0000\b\u0000 \fp\f \u0000\u0002\u0000\u00022b\u0000\u0002\u0002\u00024G\u000f\u000e\u0006\u001c !\u0000 \f`\f@\u0000 \u0000\u0002\u00002\u0002`\u0000\u0000\u0002\u0002D\u0004p \f0\f \u0000 \u0000\u0002\u00020\u0002` \"\u0000\u0000\u0016\u0004p \f0\f \u0000 `\u0000H\u0018\u00180$\u0018@\u0010\u0000\u0002B\u0004x \fp\f@\u0000 `\u0000 $@ \f\u000e& \u0000\b\u0000 \fp\f`\u0000 L\u0000 \"@\f@ `\u00001\u0001| \f`\f`\u0000 l\u0000\u0002\u0002\u0012\u0000b\u0000\u0002\u0012\u0000\b\u0000\u001f\u0012\u0000b\u0000\u0002\u0004\u0000\u0000\u0004\u0002\u0002\u0000\u0002b0\u0012\u0000\u0002\u0014\u0004p \f`\fD\u0000 h\u0000\u0012\u0000\u0002\u0000b\u0000\"\u0000\u0002F\u0004p \f`\f`\u0000 \"\u0000\u0012\u0000\u0000\u0002`\u0000\u0010 \u0000B\u0006x \f0\f@\u0000 `\u0000\u0012\u00100\u0002b\u0000\u0002\u0002\u0000\b\u0000 \f0\f`\u0000 \u0000\u0012\u00002\u0012`@\u0002\u0002\u0000\u0004\u0004p \f0\f \u0000 @\u0000\u0000\u0001\u0003\u00000b\u0000\u0002\u0010\u0000\b\u0000 \fp\f`\u00000`\u0000@\u00019\u0002\u0002`\u0000\u0000\u0002\u0002\u0006\u0004x \fp\f@\u00000p\u0000\u0002\u0002\u0000\u0002b`\u0002 \u0000\b\u0000\u001f\u0012\u0000\r\u0000\u0013\u0010\u0007\u0012\u0001$H\u0004H\b\u0006\u0010$&\u0000\b\u0000 \f`0\u0000\u0003\u0000\u0002\u0000\u0000\u0002\u0002\u0000\u0000\u0002D\u0004\u0000@\u0000`\u0000\u0002\u0000\u0002B\u0000\u0000B\u0000\u0000\u0002\u0014\u0004x \u0018@\f@\u0000\b\b\u0000\u0002\u0004\u0004p \u001c@\f`\u0000\u0000\u0002& B\u0000 \u001c@1\u0000\u0002\u0000\u0002\u0000\u0000 \u0000\u0000\b\u0000 \u0018@1\u0000\u0002 \u0000\u0000\u0000\b\u0000\u0002\f \f`\u0000\u0012@\u0004 @\u0000\u0002\u0002\u00040\u0002\u0000\u0000\u0002\u0004\u0004x\u0002\fL\f \u0000\u0000\u0000\u0000\u0000\u0000\u0010\u0000\u0000\b\u0000\u0002\fl\f@\u0000@@\u0000\u0000\u0000\u0000\u00100\u0002\u0016\u0004p\u0002\fn\fD\u0000 `@\u0000\u0000\u0000\u0000\u0002\u0002\u0006\u0004p\u0002\fL\fd\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u0002D\u0004x\"`\f&\u0000\u0002\u0002b\u0000\u0002d\u0000\b\u0000 `\fL\u0000@ \fJ\u0000\u0011\u0000B\u0002x& \fL\u0000\u0002\u0002b \u0000\u0004\u0000\b\u0000\"@\ff\u0000\u0010`\u0000\u0002\u0002\u0006\u0000D\u0004x @\fl\u0000\u0010`\u0000\u0012\u0000\u0000\b\u0000& \fL\u0000@D0\u0000\u0002\u0002\u0006\u0000\b\u00000`\fN\u0000@@8\u0000 \u0000\u0000\b\u0000 \fN\u0000\u0002`\u0004\u0000\u0000\u0000p\u0000\b\u00000 \f&\f@\u0000\u0000\u0000 \u0000\u0000\u0018\u0000\b\u00000 \fL\f \u0000\u0000 \u0000\u0000\u0018\u0000\b\u00000 \fn\f@\u0000\u0000 \u0000\u0000\u0018\u0000\b\u00000 \fL\f \u0000\u0000 0`\u0000\u0000@\f\u0000\b\u00000 \fn\f`\u0000\"@ \u0000\u0000\u0018\u0000\b\u00000 \fl\f$\u0000\u0000\u0000&0\u0000\u0000@\f\u0000\b\u0000\u0000B\u0005\u0001\u0010" -> null 2022-04-02 15:22:54.705 - [34mdebug[39m: smartmeter.0 (7520) Message received = {"command":"listUart","message":null,"from":"system.adapter.admin.0","callback":{"message":null,"id":26,"ack":false,"time":1648905774703},"_id":45542497} 2022-04-02 15:22:54.839 - [32minfo[39m: smartmeter.0 (7520) List of port: [{"path":"/dev/ttyUSB0","manufacturer":"FTDI","serialNumber":"FTBYZZT3","pnpId":"usb-FTDI_USB_Serial_Converter_FTBYZZT3-if00-port0","vendorId":"0403","productId":"6001"},{"path":"/dev/ttyS0"},{"path":"/dev/ttyS1"},{"path":"/dev/ttyS2"},{"path":"/dev/ttyS3"}] 2022-04-02 15:23:45.490 - [34mdebug[39m: smartmeter.0 (7520) MESSAGE TIMEOUT TRIGGERED 2022-04-02 15:23:45.492 - [34mdebug[39m: smartmeter.0 (7520) Error: No or too long answer from Serial Device after last request. 2022-04-02 15:23:45.493 - [33mwarn[39m: smartmeter.0 (7520) No or too long answer from Serial Device after last request. 2022-04-02 15:23:45.494 - [34mdebug[39m: smartmeter.0 (7520) Error: No or too long answer from Serial Device after last request. 2022-04-02 15:23:45.494 - [34mdebug[39m: smartmeter.0 (7520) Transport Reset!! Restart = true 2022-04-02 15:23:45.495 - [34mdebug[39m: smartmeter.0 (7520) STOP 2022-04-02 15:23:45.495 - [34mdebug[39m: smartmeter.0 (7520) CLEAR MESSAGE TIMEOUT TIMER 2022-04-02 15:23:45.499 - [34mdebug[39m: smartmeter.0 (7520) SERIALPORT CLOSE 2022-04-02 15:23:45.499 - [34mdebug[39m: smartmeter.0 (7520) SERIALPORT REMOVE LISTENERS 2022-04-02 15:23:45.501 - [34mdebug[39m: smartmeter.0 (7520) CURRENT SIGNON MESSAGE COUNTER 1 OF 1 2022-04-02 15:23:45.502 - [34mdebug[39m: smartmeter.0 (7520) DELETE rest of data (0) because new Message start with a new Request Message 2022-04-02 15:23:45.502 - [34mdebug[39m: smartmeter.0 (7520) SCHEDULE NEXT RUN IN 300000s
-
@michael-uray sagte in Smartmeter Adapter Probleme:
DELETE rest of data (0) because new Message start with a new Request Message
schalt mal die Abfrage auf ein größeres Intervall
Was hast du da eingestellt?@michael-uray sagte in Smartmeter Adapter Probleme:
SET MESSAGE TIMEOUT TIMER: 120000
nach 2 Minuten kommt der Timeout
-
eigentlich steht am Ende \r\n. Das wird eher überlauf des Buffer sein ( No or too long answer ).
Das wäre ok : MATCH-RESULT SIGNON: "/?!\r\n/LGZ5\2ZMD4104407.B31\r\n"
Das ist nix : MATCH-RESULT DATA: "\u0006050\r\n\u0000\u0004\f\ usw -
@michael-uray sagte in Smartmeter Adapter Probleme:
Was hast du da eingestellt?
und welches Datenabfrageintervall ist eingestellt?
-
Die Daten die reinkommen sind müll und deswegen erkennt er auch nichts. Settings bitte nochmal Zeigen
-
Das hier sind meine Einstellungen:
-
@michael-uray sagte in Smartmeter mit Landis+Gyr E650:
Das hier sind meine Einstellungen:
da hast du aber nicht
@homoran sagte in Smartmeter mit Landis+Gyr E650:
alles Standardeinstellungen
oder?
Was hattest du denn im Terminal an Parametern mitgegeben?
-
@homoran said in Smartmeter mit Landis+Gyr E650:
da hast du aber nicht
@homoran sagte in Smartmeter mit Landis+Gyr E650:
alles Standardeinstellungen
oder?
Stimmt, ich hatte hier inzwischen schon die Daten eingestellt welche bei mir am Terminal ursprünglich funktioniert hatten.
Was hattest du denn im Terminal an Parametern mitgegeben?
300,E,7,1
@apollon77 said in Smartmeter mit Landis+Gyr E650:
Die Daten die reinkommen sind müll und deswegen erkennt er auch nichts. Settings bitte nochmal Zeigen
Danke, ich habe schon die ganze Zeit gerätselt wie diese Daten im Log dargestellt werden, da ich keinen Zusammenhang mit den Daten welche ich über das Terminal empfangen hatte sehen konnte.
Dass hier Müll ankommt lies mich jetzt ein Problem mit der Baudrate vermuten und daher habe ich das jetzt einmal mit fix (
D0: Überschreiben der Baudrate-Änderung
) 300 Baud getestet und siehe da, es funktioniert!
Danach habe ich noch fix 9600 und 4800 getestet, doch leider wieder ohne brauchbare Daten.
Erst bei 2400 hat die Kommunikation dann wieder funktioniert.Danke euch allen, das ist schon einmal ein großer Erfolg!
Woran könnte das denn jetzt noch liegen, dass höhere Baudraten als 2400 nicht funktionieren?
Der Zähler schickt am Anfang ja eigentlich "5" (/LGZ5\2ZMD4104407.B31), was 9600 bedeuten sollte soweit ich gesehen habe.Könnte es ein Hardware Problem sein?
Der IR Kopf ist mit einem recht kurzen Kabel (~1m) and einen RS232 FTDI USB Adapter mit einem ebenso kurzen USB Kabel angebunden.Oder ist es möglich, dass der Zähler 9600 meldet, es aber eigentlich nicht unterstützt?
-
@michael-uray sagte in Smartmeter mit Landis+Gyr E650:
Dass hier Müll ankommt lies mich jetzt ein Problem mit der Baudrate vermuten und daher habe ich das jetzt einmal mit fix ( D0: Überschreiben der Baudrate-Änderung) 300 Baud getestet und siehe da, es funktioniert!
ich habe inzwischen noch für dich gegoogelt und bei Volkszähler für einen anderen (320) L+G Zähler gefunden, dass die Antwort
@michael-uray sagte in Smartmeter mit Landis+Gyr E650:
/LGZ5\2ZMD4104407.B31
/LGZ52ZMD4104407.B31wohl bedeutet, dass maximal 2Mbaud passen würden
-
@michael-uray
"/?!\r\n/LGZ5\2ZMD4104407.B31\r\n"
nach Bedienungsanleitung Serie 3 bedeutet die 5 hinter LGZ Baudrate.
In der Norm IEC 62056-21 ist 5 9600 Baud -
@ralla66 Ooops, dann hab ich wohl schief geguckt
-
@homoran
hast die 2 erwischt ist Extended communication possibility 2 = dlms-compatible meter -
@ralla66 sagte in Smartmeter mit Landis+Gyr E650:
@homoran
hast die 2 erwischt ist Extended communication possibility 2 = dlms-compatible meterJepp :shame:
Allerdings muss die Aushandlung bei 300Baud erfolgen.
IMHO muss dann die Baudrate in der Instanz leer bleiben. Der Adapter "regelt" dann nach (wenn ich mich nicht täusche.
Deswegen sollte ja alles auf Standard bleiben -
@homoran said in Smartmeter mit Landis+Gyr E650:
Der Adapter "regelt" dann nach (wenn ich mich nicht täusche.
Ja, das seint so zu sein, denn er schaltet dann auf 9600 hoch, was ja auch korrekt wäre, doch kommen dann mit 9600 aus irgend einem Grund keine brauchbaren Daten mehr an.
Ich frage mich nur warum, wo der Zähler doch eigentlich meldet dies zu unterstützen?Hier habe ich noch ein PDF mit der Norm gefunden:
https://www.ungelesen.net/protagWork/media/downloads/solar-steuerung/iec62056-21{ed1.0}en_.pdfProtocol mode C and protocol mode E (with baud rate changeover, with
acknowledgement / option select message or other protocols)
0 - 300 Bd
1 - 600 Bd
2 - 1 200 Bd
3 - 2 400 Bd
4 - 4 800 Bd
5 - 9 600 Bd
6 - 19 200 Bd
7, 8, 9 - reserved for later extensions.d) Protocol mode D (data transmission at 2 400 Bd)
Baud rate character is always 3."Protocol mode D (data transmission at 2 400 Bd)"
Eventuell ist das hier der Auslöser? -
@michael-uray sagte in Smartmeter mit Landis+Gyr E650:
"Protocol mode D (data transmission at 2 400 Bd)"
Eventuell ist das hier der Auslöser?Wo hast du die Info über mode D gefunden?
in deinem Log stand:
@michael-uray sagte in Smartmeter mit Landis+Gyr E650:D0 Protocol E (2) not fully supported! Let us try it Please contact the developer if you have problems
-
Also ich sehe im log das der Adapter die Logon Nachricht korrekt empfängt und auch parst das es 9600 Baud sind und dem Zähler mit "050" dann das Kommando zum Baudrate-CHangeover sendet ... und dann "hört" er auf 9600 baud ... ALso wenn Es mit nem Baudrate override tut schau nochmal nach dem Sitz des Kopfes bzw das die Senderichtung korrekt funktioniert
-
@homoran sagte in Smartmeter mit Landis+Gyr E650:
D0 Protocol E (2) not fully supported! Let us try it Please contact the developer if you have problems
Ja Protokoll E heisst quasi "die Daten könnten anders aussehen als normalerweise) ... hat aber an sich mit dem Baudrates und so nichts zu tun
-
Ich hatte damals auch noch ein Script für mich geschrieben, welches diverse Werte ausrechnet die in den ausgelesenen Daten nicht vorhanden sind. Bzw. bildet es auch die Werte in leichter verständlichen Objektnamen ab, denn die OBIS Codes sind ja nicht besonders gut zu merken.
Vielleicht kann es ja jemand brauchen.
Edit 1:
DrwPower
wird aktuell noch nicht berechnet undDlvPower
müsste nur bei negativen Werten übernommen werden.const CtFactor = 200 // factor for current transformers const VtFactor = 1 // factor for voltage transformers const path = '0_userdata.0.EMTR1' // create required objects on startup createState(path + '.info.MeterOwnerNumber') createState(path + '.info.Firmware') createState(path + '.info.Error') createState(path + '.Voltage', {type: "number", unit: 'V'}) createState(path + '.VoltageL1', {type: "number", unit: 'V'}) createState(path + '.VoltageL2', {type: "number", unit: 'V'}) createState(path + '.VoltageL3', {type: "number", unit: 'V'}) createState(path + '.Current', {type: "number", unit: 'A'}) createState(path + '.CurrentL1', {type: "number", unit: 'A'}) createState(path + '.CurrentL2', {type: "number", unit: 'A'}) createState(path + '.CurrentL3', {type: "number", unit: 'A'}) createState(path + '.Frequency', {type: "number", unit: 'Hz'}) createState(path + '.cosPhi', {type: "number"}) createState(path + '.sinPhi', {type: "number"}) // DLV = delivery to grid createState(path + '.DLV1.Power', {type: "number", unit: 'kW'}) createState(path + '.DLV1.Energy', {type: "number", unit: 'kWh'}) createState(path + '.DLV1.ReactiveEnergy', {type: "number", unit: 'kVarh'}) createState(path + '.DLV1.ReactivePower', {type: "number", unit: 'kVar'}) // DRW = draw from grid createState(path + '.DRW1.Power', {type: "number", unit: 'kW'}) createState(path + '.DRW1.Energy', {type: "number", unit: 'kWh'}) createState(path + '.DRW1.ReactiveEnergy', {type: "number", unit: 'kVarh'}) createState(path + '.DRW1.ReactivePower', {type: "number", unit: 'kVar'}) var MeterOwnerNumber var Firmware var Error var CurrentTime var CurrentDate var Frequency var CurrentL1 // = 3.43 A var CurrentL2 // = 3.35 A var CurrentL3 // = 3.36 A var CurrentN // = 0.04 A var Current // = calulated var VoltageL1 // = 241.1 V var VoltageL2 // = 241.1 V var VoltageL3 // = 241.1 V var Voltage // = calulated var Angle_U_L1_to_U_L1 // = 0*Deg var Angle_U_L2_to_U_L1 // = 120*Deg var Angle_U_L3_to_U_L1 // = 240*Deg var Angle_I_L1_to_U_L1 // = 200*Deg var Angle_I_L2_to_U_L1 // = 321*Deg var Angle_I_L2_to_U_L2 // = calulated var Angle_I_L3_to_U_L1 // = 80*Deg var Angle_I_L3_to_U_L3 // = calulated var Angle var CosPhi // = calulated var SinPhi // = calulated var DlvEnergy = 0.0 var DlvReactiveEnergy = 0.0 var DlvPower = 0.0 var DlvReactivePower = 0.0 var DrwEnergy = 0.0 var DrwReactiveEnergy = 0.0 var DrwPower = 0.0 var DrwReactivePower = 0.0 on({ id: 'smartmeter.0.1-0:2_8_0.value', change: 'any' }, function (data) { // wait 1000 ms when this datapoint changed to make sure all datapoints got updated setTimeout(() => { MeterOwnerNumber = getState('smartmeter.0.1-0:0_0_0.value').val; Firmware = getState('smartmeter.0.1-0:0_2_0.value').val; Error = getState('smartmeter.0.1-0:97_97.value').val; DrwEnergy = getState('smartmeter.0.1-0:1_8_0.value').val; DrwReactiveEnergy = getState('smartmeter.0.1-0:3_8_0.value').val; DlvEnergy = getState('smartmeter.0.1-0:2_8_0.value').val; DlvReactiveEnergy = getState('smartmeter.0.1-0:4_8_0.value').val; CurrentL1 = getState('smartmeter.0.1-0:31_7.value').val * CtFactor; CurrentL2 = getState('smartmeter.0.1-0:51_7.value').val * CtFactor; CurrentL3 = getState('smartmeter.0.1-0:71_7.value').val * CtFactor; CurrentN = getState('smartmeter.0.1-0:91_7.value').val * CtFactor; VoltageL1 = getState('smartmeter.0.1-0:32_7.value').val * VtFactor; VoltageL2 = getState('smartmeter.0.1-0:52_7.value').val * VtFactor; VoltageL3 = getState('smartmeter.0.1-0:72_7.value').val * VtFactor; Frequency = getState('smartmeter.0.1-0:14_7.value').val * VtFactor; Angle_U_L1_to_U_L1 = getState('smartmeter.0.1-0:81_7_0.value').val; Angle_U_L2_to_U_L1 = getState('smartmeter.0.1-0:81_7_1.value').val; Angle_U_L3_to_U_L1 = getState('smartmeter.0.1-0:81_7_2.value').val; Angle_I_L1_to_U_L1 = getState('smartmeter.0.1-0:81_7_4.value').val; Angle_I_L2_to_U_L1 = getState('smartmeter.0.1-0:81_7_5.value').val; Angle_I_L3_to_U_L1 = getState('smartmeter.0.1-0:81_7_6.value').val; Current = (CurrentL1 + CurrentL2 + CurrentL3) / 3; Voltage = ((VoltageL1 + VoltageL2 + VoltageL3) / 3) * Math.sqrt(3); Angle_I_L2_to_U_L2 = Angle_I_L2_to_U_L1 - 120; Angle_I_L3_to_U_L3 = Angle_I_L3_to_U_L1 + 120; Angle = (((Angle_I_L1_to_U_L1 + Angle_I_L2_to_U_L2 + Angle_I_L3_to_U_L3) / 3) - 180); CosPhi = Math.cos(Angle * (Math.PI / 180)); SinPhi = Math.sin(Angle * (Math.PI / 180)); DlvPower = Voltage * Current * CosPhi * Math.sqrt(3) / 1000; DlvReactivePower = Voltage * Current * SinPhi * Math.sqrt(3) / 1000; setState(path + '.info.MeterOwnerNumber', MeterOwnerNumber) setState(path + '.info.Firmware', Firmware) setState(path + '.info.Error', Error) setState(path + '.Current', Math.round(Current*10)/10); setState(path + '.CurrentL1', CurrentL1); setState(path + '.CurrentL2', CurrentL2); setState(path + '.CurrentL3', CurrentL3); setState(path + '.Voltage', Math.round(Voltage*100)/100); setState(path + '.VoltageL1', VoltageL1); setState(path + '.VoltageL2', VoltageL2); setState(path + '.VoltageL3', VoltageL3); setState(path + '.Frequency', Frequency); setState(path + '.cosPhi', CosPhi); setState(path + '.sinPhi', SinPhi); setState(path + '.DRW1.Energy', DrwEnergy); setState(path + '.DRW1.Power', Math.round(DrwPower*10)/10); setState(path + '.DRW1.ReactiveEnergy', DrwReactiveEnergy); setState(path + '.DRW1.ReactivePower', Math.round(DrwReactivePower*10)/10); setState(path + '.DLV1.Energy', DlvEnergy); setState(path + '.DLV1.Power', Math.round (DlvPower * 10)/10); setState(path + '.DLV1.ReactiveEnergy', DlvReactiveEnergy); setState(path + '.DLV1.ReactivePower', Math.round(DlvReactivePower*10)/10); }, 1000); });
Das sieht dann im Ergebnis so aus:
Das hier waren meine finalen Einstellungen mit welchen es dann schlussendlich funktioniert hat.
-
Hallo zusammen,
ich habe auch einen Landis+Gyr E650 Zähler und habe auch den Adapter mit den Settings von euch auf "grün". Seitdem erhalte ich eine ganze Menge an Objekten:
... die Liste ist noch länger.Adapter bleibt grün - leider fehlt oder finde ich die relevanten Objekte bzgl. der Momentanleistung in Watt/kWh nicht.
Auch das Script von @Michael-Uray hat keine wirkliche Hilfe gebracht:ein paar Werte sind also da, aber auch hier die relevanten nicht.
Hat jemand eine Idee, was ich beim Zähler-Auslesen übersehen habe?