make serial.EVEN the default parity for DSMR v2.2
This commit is contained in:
		
							parent
							
								
									6f3c74ce7c
								
							
						
					
					
						commit
						c058feca5f
					
				| @ -1,13 +1,18 @@ | ||||
| Change Log | ||||
| ---------- | ||||
| 
 | ||||
| **0.4** (2016-11-21) | ||||
| - DSMR v2.2 serial settings now uses parity serial.EVEN by default (`issue #4 <https://github.com/ndokter/dsmr_parser/issues/4>`_) | ||||
| - improved asyncio reader and improve it's error handling (`pull request #5 <https://github.com/ndokter/dsmr_parser/pull/5>`_) | ||||
| 
 | ||||
| **0.3** (2016-11-12) | ||||
| 
 | ||||
| - Added asyncio reader for non-blocking reads. (thanks to https://github.com/aequitas) | ||||
| - asyncio reader for non-blocking reads. (`pull request #3 <https://github.com/ndokter/dsmr_parser/pull/3>`_) | ||||
| 
 | ||||
| **0.2** (2016-11-08) | ||||
| 
 | ||||
| - Added support for DMSR version 2.2 (thanks to https://github.com/aequitas) | ||||
| - support for DMSR version 2.2 (`pull request #2 <https://github.com/ndokter/dsmr_parser/pull/2>`_) | ||||
| 
 | ||||
| **0.1** (2016-08-22) | ||||
| 
 | ||||
| - Initial version with a serial reader and support for DSMR version 4.x | ||||
| - initial version with a serial reader and support for DSMR version 4.x | ||||
|  | ||||
							
								
								
									
										22
									
								
								README.rst
									
									
									
									
									
								
							
							
						
						
									
										22
									
								
								README.rst
									
									
									
									
									
								
							| @ -22,7 +22,7 @@ Using the serial reader to connect to your smart meter and parse it's telegrams: | ||||
| .. code-block:: python | ||||
| 
 | ||||
|     from dsmr_parser import telegram_specifications | ||||
|     from dsmr_parser.obis_references import P1_MESSAGE_TIMESTAMP | ||||
|     from dsmr_parser import obis_references | ||||
|     from dsmr_parser.serial import SerialReader, SERIAL_SETTINGS_V4 | ||||
| 
 | ||||
|     serial_reader = SerialReader( | ||||
| @ -34,25 +34,22 @@ Using the serial reader to connect to your smart meter and parse it's telegrams: | ||||
|     for telegram in serial_reader.read(): | ||||
| 
 | ||||
|         # The telegram message timestamp. | ||||
|         message_datetime = telegram[P1_MESSAGE_TIMESTAMP] | ||||
|         message_datetime = telegram[obis_references.P1_MESSAGE_TIMESTAMP] | ||||
| 
 | ||||
|         # Using the active tariff to determine the electricity being used and | ||||
|         # delivered for the right tariff. | ||||
|         tariff = telegram[ELECTRICITY_ACTIVE_TARIFF] | ||||
|         tariff = telegram[obis_references.ELECTRICITY_ACTIVE_TARIFF] | ||||
|         tariff = int(tariff.value) | ||||
| 
 | ||||
|         electricity_used_total \ | ||||
|             = telegram[ELECTRICITY_USED_TARIFF_ALL[tariff - 1]] | ||||
|             = telegram[obis_references.ELECTRICITY_USED_TARIFF_ALL[tariff - 1]] | ||||
|         electricity_delivered_total = \ | ||||
|             telegram[ELECTRICITY_DELIVERED_TARIFF_ALL[tariff - 1]] | ||||
|             telegram[obis_referencesELECTRICITY_DELIVERED_TARIFF_ALL[tariff - 1]] | ||||
| 
 | ||||
|         gas_reading = telegram[HOURLY_GAS_METER_READING] | ||||
|         gas_reading = telegram[obis_references.HOURLY_GAS_METER_READING] | ||||
| 
 | ||||
|         # See dsmr_reader.obis_references for all readable telegram values. | ||||
| 
 | ||||
| The dsmr_parser.serial module contains multiple settings that should work in | ||||
| most cases. For example: if SERIAL_SETTINGS_V4 doesn't work, then try | ||||
| SERIAL_SETTINGS_V4_EVEN too. | ||||
| 
 | ||||
| Installation | ||||
| ------------ | ||||
| @ -63,6 +60,13 @@ To install DSMR Parser: | ||||
| 
 | ||||
|     $ pip install dsmr-parser | ||||
| 
 | ||||
| Known issues | ||||
| ------------ | ||||
| 
 | ||||
| If the serial settings SERIAL_SETTINGS_V2_2 or SERIAL_SETTINGS_V4 don't work. | ||||
| Make sure to try and replace the parity settings to EVEN or NONE. | ||||
| It's possible that alternative settings will be added in the future if these | ||||
| settings don't work for the majority of meters. | ||||
| 
 | ||||
| TODO | ||||
| ---- | ||||
|  | ||||
| @ -11,16 +11,6 @@ logger = logging.getLogger(__name__) | ||||
| 
 | ||||
| 
 | ||||
| SERIAL_SETTINGS_V2_2 = { | ||||
|     'baudrate': 9600, | ||||
|     'bytesize': serial.SEVENBITS, | ||||
|     'parity': serial.PARITY_NONE, | ||||
|     'stopbits': serial.STOPBITS_ONE, | ||||
|     'xonxoff': 0, | ||||
|     'rtscts': 0, | ||||
|     'timeout': 20 | ||||
| } | ||||
| 
 | ||||
| SERIAL_SETTINGS_V2_2_EVEN = { | ||||
|     'baudrate': 9600, | ||||
|     'bytesize': serial.SEVENBITS, | ||||
|     'parity': serial.PARITY_EVEN, | ||||
| @ -31,16 +21,6 @@ SERIAL_SETTINGS_V2_2_EVEN = { | ||||
| } | ||||
| 
 | ||||
| SERIAL_SETTINGS_V4 = { | ||||
|     'baudrate': 115200, | ||||
|     'bytesize': serial.SEVENBITS, | ||||
|     'parity': serial.PARITY_NONE, | ||||
|     'stopbits': serial.STOPBITS_ONE, | ||||
|     'xonxoff': 0, | ||||
|     'rtscts': 0, | ||||
|     'timeout': 20 | ||||
| } | ||||
| 
 | ||||
| SERIAL_SETTINGS_V4_EVEN = { | ||||
|     'baudrate': 115200, | ||||
|     'bytesize': serial.SEVENBITS, | ||||
|     'parity': serial.PARITY_EVEN, | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user