The wh23xx error message seems to be from the wh23xx driver. I'd understand 
it in a way that there seem to be inconsistencies/errors in the stations 
hardware memory.


Günther Wrana schrieb am Donnerstag, 20. März 2025 um 21:42:08 UTC+1:

> Thank you very much, I imported an old database and now it's working again.
>
> What can I do to remove the following error messages?
>
>
> Danke schön ich habe eine alte Datenbank eingespielt und nun läuft es 
> wieder.
>
> Was kann ich tun um die folgenden Fehlermeldungen zu entfernen?
>
> [image: Bildschirmfoto vom 2025-03-20 21-37-53.png]
>
> Grüße Günther
>
> Best regards, Günther
> michael.k...@gmx.at schrieb am Donnerstag, 20. März 2025 um 05:35:54 
> UTC+1:
>
>> Deine weewx.sdb (oder wie auch immer dein Datenbankfile heißt) ist 
>> kaputt. Ersetze es durch die aktuellste Sicherung und gehe der Ursache 
>> (SD-Karte kaputt?) auf den Grund.
>>
>> Günther Wrana schrieb am Mittwoch, 19. März 2025 um 21:45:57 UTC+1:
>>
>>> Hello weewx experts, once again weewx isn't working properly on my 
>>> Raspberry Pi.
>>> The following error message appears after restarting weewx. 
>>>
>>>
>>> Mär 19 21:25:26 32GB weewxd.py[113134]: wh23xx: read_record: write: 02 
>>> 02 04 04 (len=4)
>>> Mär 19 21:25:26 32GB weewxd.py[113134]: wh23xx: read_record: buf: 01 3b 
>>> 04 4a 01 02 67 02 01 bc 03 01 4f 04 01 a7 05 01 bc 06 27 07 2d 08 27 47 09 
>>> 27 28 0a 00 87 0b 00 18 0c 00 1f 0e 00 00 00 00 10 00 00 00 00 11 00 00 00 
>>> 00 12 00 00 00 96 13 00 00 (len=61)
>>> Mär 19 21:25:26 32GB weewxd.py[113134]: wh23xx: read_record: 
>>> record_size: 74
>>> Mär 19 21:25:26 32GB weewxd.py[113134]: wh23xx: read_record: buf: 01 12 
>>> 00 ae 14 00 00 68 91 15 00 00 00 00 16 00 00 17 00 2d 27 07 2d 08 27 47 09 
>>> 27 28 0a 00 87 0b 00 18 0c 00 1f 0e 00 00 00 00 10 00 00 00 00 11 00 00 00 
>>> 00 12 00 00 00 96 13 00 00 (len=61)
>>> Mär 19 21:25:26 32GB weewxd.py[113134]: wh23xx: read_record: rbuf: 01 02 
>>> 67 02 01 bc 03 01 4f 04 01 a7 05 01 bc 06 27 07 2d 08 27 47 09 27 28 0a 00 
>>> 87 0b 00 18 0c 00 1f 0e 00 00 00 00 10 00 00 00 00 11 00 00 00 00 12 00 00 
>>> 00 96 13 00 00 00 ae 14 00 00 68 91 15 00 00 00 00 16 00 00 17 00 (len=74) 
>>> chksum_pkt=2d chksum=0x2d
>>> Mär 19 21:25:26 32GB weewxd.py[113134]: wh23xx: raw data: [1, 2, 103, 2, 
>>> 1, 188, 3, 1, 79, 4, 1, 167, 5, 1, 188, 6, 39, 7, 45, 8, 39, 71, 9, 39, 40, 
>>> 10, 0, 135, 11, 0, 24, 12, 0, 31, 14, 0, 0, 0, 0, 16, 0, 0, 0, 0, 17, 0, 0, 
>>> 0, 0, 18, 0, 0, 0, 150, 19, 0, 0, 0, 174, 20, 0, 0, 104, 145, 21, 0, 0, 0, 
>>> 0, 22, 0, 0, 23, 0]
>>> Mär 19 21:25:26 32GB weewxd.py[113134]: wh23xx: in_temp: {'value': 21.5} 
>>> (0x01 0x01)
>>> Mär 19 21:25:26 32GB weewxd.py[113134]: wh23xx: out_temp: {'value': 
>>> 4.399999999999999} (0x02 0x02)
>>> Mär 19 21:25:26 32GB weewxd.py[113134]: wh23xx: dewpoint: {'value': 
>>> -6.5} (0x03 0x03)
>>> Mär 19 21:25:26 32GB weewxd.py[113134]: wh23xx: windchill: {'value': 
>>> 2.299999999999997} (0x04 0x04)
>>> Mär 19 21:25:26 32GB weewxd.py[113134]: wh23xx: heatindex: {'value': 
>>> 4.399999999999999} (0x05 0x05)
>>> Mär 19 21:25:26 32GB weewxd.py[113134]: wh23xx: in_humidity: {'value': 
>>> 39} (0x06 0x06)
>>> Mär 19 21:25:26 32GB weewxd.py[113134]: wh23xx: out_humidity: {'value': 
>>> 45} (0x07 0x07)
>>> Mär 19 21:25:26 32GB weewxd.py[113134]: wh23xx: abs_baro: {'value': 
>>> 1005.5} (0x08 0x08)
>>> Mär 19 21:25:26 32GB weewxd.py[113134]: wh23xx: rel_baro: {'value': 
>>> 1002.4} (0x09 0x09)
>>> Mär 19 21:25:26 32GB weewxd.py[113134]: wh23xx: wind_dir: {'value': 135} 
>>> (0x0a 0x0a)
>>> Mär 19 21:25:26 32GB weewxd.py[113134]: wh23xx: wind_speed: {'value': 
>>> 2.4} (0x0b 0x0b)
>>> Mär 19 21:25:26 32GB weewxd.py[113134]: wh23xx: gust_speed: {'value': 
>>> 3.1} (0x0c 0x0c)
>>> Mär 19 21:25:26 32GB weewxd.py[113134]: wh23xx: rain_rate: {'value': 
>>> 0.0} (0x0e 0x0e)
>>> Mär 19 21:25:26 32GB weewxd.py[113134]: wh23xx: rain_day: {'value': 0.0} 
>>> (0x10 0x10)
>>> Mär 19 21:25:26 32GB weewxd.py[113134]: wh23xx: rain_week: {'value': 
>>> 0.0} (0x11 0x11)
>>> Mär 19 21:25:26 32GB weewxd.py[113134]: wh23xx: rain_month: {'value': 
>>> 15.0} (0x12 0x12)
>>> Mär 19 21:25:26 32GB weewxd.py[113134]: wh23xx: rain_year: {'value': 
>>> 17.4} (0x13 0x13)
>>> Mär 19 21:25:26 32GB weewxd.py[113134]: wh23xx: rain_totals: {'value': 
>>> 2676.9} (0x14 0x14)
>>> Mär 19 21:25:26 32GB weewxd.py[113134]: wh23xx: light: {'value': 0.0} 
>>> (0x15 0x15)
>>> Mär 19 21:25:26 32GB weewxd.py[113134]: wh23xx: uv: {'value': 0} (0x16 
>>> 0x16)
>>> Mär 19 21:25:26 32GB weewxd.py[113134]: wh23xx: uvi: {'value': 0} (0x17 
>>> 0x17)
>>> Mär 19 21:25:26 32GB weewxd.py[113134]: wh23xx: decoded data: 
>>> {'in_temp': {'value': 21.5}, 'out_temp': {'value': 4.399999999999999}, 
>>> 'dewpoint': {'value': -6.5}, 'windchill': {'value': 2.299999999999997}, 
>>> 'heatindex': {'value': 4.399999999999999}, 'in_humidity': {'value': 39}, 
>>> 'out_humidity': {'value': 45}, 'abs_baro': {'value': 1005.5}, 'rel_baro': 
>>> {'value': 1002.4}, 'wind_dir': {'value': 135}, 'wind_speed': {'value': 
>>> 2.4}, 'gust_speed': {'value': 3.1}, 'rain_rate': {'value': 0.0}, 
>>> 'rain_day': {'value': 0.0}, 'rain_week': {'value': 0.0}, 'rain_month': 
>>> {'value': 15.0}, 'rain_year': {'value': 17.4}, 'rain_totals': {'value': 
>>> 2676.9}, 'light': {'value': 0.0}, 'uv': {'value': 0}, 'uvi': {'value': 0}}
>>> Mär 19 21:25:26 32GB weewxd.py[113134]: wh23xx: packet: {'dateTime': 
>>> 1742415926, 'usUnits': 17, 'windDir': 135, 'windSpeed': 2.4, 'windGust': 
>>> 3.1, 'inHumidity': 39, 'outHumidity': 45, 'inTemp': 21.5, 'outTemp': 
>>> 4.399999999999999, 'pressure': 1005.5, 'luminosity': 0.0, 'uv_raw': 0, 
>>> 'UV': 0, 'rain': 0.0, 'radiation': 0.0}
>>> Mär 19 21:25:26 32GB weewxd[113134]: INFO weewx.engine: Main loop 
>>> exiting. Shutting engine down.
>>> Mär 19 21:25:26 32GB weewxd[113134]: CRITICAL __main__: Caught 
>>> unrecoverable exception:
>>> Mär 19 21:25:26 32GB weewxd[113134]: CRITICAL __main__:     **** 
>>>  database disk image is malformed
>>> Mär 19 21:25:26 32GB weewxd[113134]: CRITICAL __main__:     **** 
>>>  Traceback (most recent call last):
>>> Mär 19 21:25:26 32GB weewxd[113134]: CRITICAL __main__:     ****    File 
>>> "/usr/share/weewx/weewx/engine.py", line 210, in run
>>> Mär 19 21:25:26 32GB weewxd[113134]: CRITICAL __main__:     ****     
>>>  self.dispatchEvent(weewx.Event(weewx.CHECK_LOOP, packet=packet))
>>> Mär 19 21:25:26 32GB weewxd[113134]: CRITICAL __main__:     ****    File 
>>> "/usr/share/weewx/weewx/engine.py", line 241, in dispatchEvent
>>> Mär 19 21:25:26 32GB weewxd[113134]: CRITICAL __main__:     ****     
>>>  callback(event)
>>> Mär 19 21:25:26 32GB weewxd[113134]: CRITICAL __main__:     ****    File 
>>> "/usr/share/weewx/weewx/engine.py", line 662, in check_loop
>>> Mär 19 21:25:26 32GB weewxd[113134]: CRITICAL __main__:     ****     
>>>  raise BreakLoop
>>> Mär 19 21:25:26 32GB weewxd[113134]: CRITICAL __main__:     **** 
>>>  weewx.engine.BreakLoop
>>> Mär 19 21:25:26 32GB weewxd[113134]: CRITICAL __main__:     ****
>>> Mär 19 21:25:26 32GB weewxd[113134]: CRITICAL __main__:     ****  During 
>>> handling of the above exception, another exception occurred:
>>> Mär 19 21:25:26 32GB weewxd[113134]: CRITICAL __main__:     ****
>>> Mär 19 21:25:26 32GB weewxd[113134]: CRITICAL __main__:     **** 
>>>  Traceback (most recent call last):
>>> Mär 19 21:25:26 32GB weewxd[113134]: CRITICAL __main__:     ****    File 
>>> "/usr/share/weewx/weewx/engine.py", line 678, in post_loop
>>> Mär 19 21:25:26 32GB weewxd[113134]: CRITICAL __main__:     ****     
>>>  self._catchup(self.engine.console.genArchiveRecords)
>>> Mär 19 21:25:26 32GB weewxd[113134]: CRITICAL __main__:     ****    File 
>>> "/usr/share/weewx/weewx/engine.py", line 725, in _catchup
>>> Mär 19 21:25:26 32GB weewxd[113134]: CRITICAL __main__:     ****     
>>>  for record in generator(lastgood_ts):
>>> Mär 19 21:25:26 32GB weewxd[113134]: CRITICAL __main__:     ****         
>>>            ^^^^^^^^^^^^^^^^^^^^^^
>>> Mär 19 21:25:26 32GB weewxd[113134]: CRITICAL __main__:     ****    File 
>>> "/usr/share/weewx/weewx/drivers/__init__.py", line 31, in genArchiveRecords
>>> Mär 19 21:25:26 32GB weewxd[113134]: CRITICAL __main__:     ****     
>>>  raise NotImplementedError("Method 'genArchiveRecords' not implemented")
>>> Mär 19 21:25:26 32GB weewxd[113134]: CRITICAL __main__:     **** 
>>>  NotImplementedError: Method 'genArchiveRecords' not implemented
>>> Mär 19 21:25:26 32GB weewxd[113134]: CRITICAL __main__:     ****
>>> Mär 19 21:25:26 32GB weewxd[113134]: CRITICAL __main__:     ****  During 
>>> handling of the above exception, another exception occurred:
>>> Mär 19 21:25:26 32GB weewxd[113134]: CRITICAL __main__:     ****
>>> Mär 19 21:25:26 32GB weewxd[113134]: CRITICAL __main__:     **** 
>>>  Traceback (most recent call last):
>>> Mär 19 21:25:26 32GB weewxd[113134]: CRITICAL __main__:     ****    File 
>>> "/usr/share/weewx/weewxd.py", line 127, in main
>>> Mär 19 21:25:26 32GB weewxd[113134]: CRITICAL __main__:     ****     
>>>  engine.run()
>>> Mär 19 21:25:26 32GB weewxd[113134]: CRITICAL __main__:     ****    File 
>>> "/usr/share/weewx/weewx/engine.py", line 217, in run
>>> Mär 19 21:25:26 32GB weewxd[113134]: CRITICAL __main__:     ****     
>>>  self.dispatchEvent(weewx.Event(weewx.POST_LOOP))
>>> Mär 19 21:25:26 32GB weewxd[113134]: CRITICAL __main__:     ****    File 
>>> "/usr/share/weewx/weewx/engine.py", line 241, in dispatchEvent
>>> Mär 19 21:25:26 32GB weewxd[113134]: CRITICAL __main__:     ****     
>>>  callback(event)
>>> Mär 19 21:25:26 32GB weewxd[113134]: CRITICAL __main__:     ****    File 
>>> "/usr/share/weewx/weewx/engine.py", line 680, in post_loop
>>> Mär 19 21:25:26 32GB weewxd[113134]: CRITICAL __main__:     ****     
>>>  self._software_catchup()
>>> Mär 19 21:25:26 32GB weewxd[113134]: CRITICAL __main__:     ****    File 
>>> "/usr/share/weewx/weewx/engine.py", line 743, in _software_catchup
>>> Mär 19 21:25:26 32GB weewxd[113134]: CRITICAL __main__:     ****     
>>>  self.engine.dispatchEvent(weewx.Event(weewx.NEW_ARCHIVE_RECORD,
>>> Mär 19 21:25:26 32GB weewxd[113134]: CRITICAL __main__:     ****    File 
>>> "/usr/share/weewx/weewx/engine.py", line 241, in dispatchEvent
>>> Mär 19 21:25:26 32GB weewxd[113134]: CRITICAL __main__:     ****     
>>>  callback(event)
>>> Mär 19 21:25:26 32GB weewxd[113134]: CRITICAL __main__:     ****    File 
>>> "/usr/share/weewx/weewx/engine.py", line 703, in new_archive_record
>>> Mär 19 21:25:26 32GB weewxd[113134]: CRITICAL __main__:     ****     
>>>  dbmanager.addRecord(event.record,
>>> Mär 19 21:25:26 32GB weewxd[113134]: CRITICAL __main__:     ****    File 
>>> "/usr/share/weewx/weewx/manager.py", line 401, in addRecord
>>> Mär 19 21:25:26 32GB weewxd[113134]: CRITICAL __main__:     ****     
>>>  self._updateHiLo(accumulator, cursor)
>>> Mär 19 21:25:26 32GB weewxd[113134]: CRITICAL __main__:     ****    File 
>>> "/usr/share/weewx/weewx/manager.py", line 1219, in _updateHiLo
>>> Mär 19 21:25:26 32GB weewxd[113134]: CRITICAL __main__:     ****     
>>>  self._set_day_summary(_stats_dict, accumulator.timespan.stop, cursor)
>>> Mär 19 21:25:26 32GB weewxd[113134]: CRITICAL __main__:     ****    File 
>>> "/usr/share/weewx/weewx/manager.py", line 1640, in _set_day_summary
>>> Mär 19 21:25:26 32GB weewxd[113134]: Traceback (most recent call last):
>>> Mär 19 21:25:26 32GB weewxd[113134]:   File 
>>> "/usr/share/weewx/weewx/engine.py", line 210, in run
>>> Mär 19 21:25:26 32GB weewxd[113134]: CRITICAL __main__:     ****     
>>>  cursor.execute(_sql_replace_str, _write_tuple)
>>> Mär 19 21:25:26 32GB weewxd[113134]:     
>>> self.dispatchEvent(weewx.Event(weewx.CHECK_LOOP, packet=packet))
>>> Mär 19 21:25:26 32GB weewxd[113134]:   File 
>>> "/usr/share/weewx/weewx/engine.py", line 241, in dispatchEvent
>>> Mär 19 21:25:26 32GB weewxd[113134]:     callback(event)
>>> Mär 19 21:25:26 32GB weewxd[113134]: CRITICAL __main__:     ****    File 
>>> "/usr/share/weewx/weedb/sqlite.py", line 38, in guarded_fn
>>> Mär 19 21:25:26 32GB weewxd[113134]:   File 
>>> "/usr/share/weewx/weewx/engine.py", line 662, in check_loop
>>> Mär 19 21:25:26 32GB weewxd[113134]:     raise BreakLoop
>>> Mär 19 21:25:26 32GB weewxd[113134]: weewx.engine.BreakLoop
>>> Mär 19 21:25:26 32GB weewxd[113134]: During handling of the above 
>>> exception, another exception occurred:
>>> Mär 19 21:25:26 32GB weewxd[113134]: CRITICAL __main__:     ****     
>>>  return fn(*args, **kwargs)
>>> Mär 19 21:25:26 32GB weewxd[113134]: Traceback (most recent call last):
>>> Mär 19 21:25:26 32GB weewxd[113134]:   File 
>>> "/usr/share/weewx/weewx/engine.py", line 678, in post_loop
>>> Mär 19 21:25:26 32GB weewxd[113134]:     
>>> self._catchup(self.engine.console.genArchiveRecords)
>>> Mär 19 21:25:26 32GB weewxd[113134]:   File 
>>> "/usr/share/weewx/weewx/engine.py", line 725, in _catchup
>>> Mär 19 21:25:26 32GB weewxd[113134]: CRITICAL __main__:     ****         
>>>     ^^^^^^^^^^^^^^^^^^^
>>> Mär 19 21:25:26 32GB weewxd[113134]:     for record in 
>>> generator(lastgood_ts):
>>> Mär 19 21:25:26 32GB weewxd[113134]:                   
>>> ^^^^^^^^^^^^^^^^^^^^^^
>>> Mär 19 21:25:26 32GB weewxd[113134]:   File 
>>> "/usr/share/weewx/weewx/drivers/__init__.py", line 31, in genArchiveRecords
>>> Mär 19 21:25:26 32GB weewxd[113134]:     raise 
>>> NotImplementedError("Method 'genArchiveRecords' not implemented")
>>> Mär 19 21:25:26 32GB weewxd[113134]: NotImplementedError: Method 
>>> 'genArchiveRecords' not implemented
>>> Mär 19 21:25:26 32GB weewxd[113134]: During handling of the above 
>>> exception, another exception occurred:
>>> Mär 19 21:25:26 32GB weewxd[113134]: Traceback (most recent call last):
>>> Mär 19 21:25:26 32GB weewxd[113134]:   File 
>>> "/usr/share/weewx/weewxd.py", line 226, in <module>
>>> Mär 19 21:25:26 32GB weewxd[113134]: CRITICAL __main__:     ****    File 
>>> "/usr/share/weewx/weedb/sqlite.py", line 233, in execute
>>> Mär 19 21:25:26 32GB weewxd[113134]:     main()
>>> Mär 19 21:25:26 32GB weewxd[113134]:   File 
>>> "/usr/share/weewx/weewxd.py", line 127, in main
>>> Mär 19 21:25:26 32GB weewxd[113134]:     engine.run()
>>> Mär 19 21:25:26 32GB weewxd[113134]:   File 
>>> "/usr/share/weewx/weewx/engine.py", line 217, in run
>>> Mär 19 21:25:26 32GB weewxd[113134]:     
>>> self.dispatchEvent(weewx.Event(weewx.POST_LOOP))
>>> Mär 19 21:25:26 32GB weewxd[113134]:   File 
>>> "/usr/share/weewx/weewx/engine.py", line 241, in dispatchEvent
>>> Mär 19 21:25:26 32GB weewxd[113134]:     callback(event)
>>> Mär 19 21:25:26 32GB weewxd[113134]: CRITICAL __main__:     ****     
>>>  return sqlite3.Cursor.execute(self, *args, **kwargs)
>>> Mär 19 21:25:26 32GB weewxd[113134]:   File 
>>> "/usr/share/weewx/weewx/engine.py", line 680, in post_loop
>>> Mär 19 21:25:26 32GB weewxd[113134]:     self._software_catchup()
>>> Mär 19 21:25:26 32GB weewxd[113134]:   File 
>>> "/usr/share/weewx/weewx/engine.py", line 743, in _software_catchup
>>> Mär 19 21:25:26 32GB weewxd[113134]:     
>>> self.engine.dispatchEvent(weewx.Event(weewx.NEW_ARCHIVE_RECORD,
>>> Mär 19 21:25:26 32GB weewxd[113134]:   File 
>>> "/usr/share/weewx/weewx/engine.py", line 241, in dispatchEvent
>>> Mär 19 21:25:26 32GB weewxd[113134]: CRITICAL __main__:     ****         
>>>     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>>> Mär 19 21:25:26 32GB weewxd[113134]:     callback(event)
>>> Mär 19 21:25:26 32GB weewxd[113134]:   File 
>>> "/usr/share/weewx/weewx/engine.py", line 703, in new_archive_record
>>> Mär 19 21:25:26 32GB weewxd[113134]:     
>>> dbmanager.addRecord(event.record,
>>> Mär 19 21:25:26 32GB weewxd[113134]:   File 
>>> "/usr/share/weewx/weewx/manager.py", line 401, in addRecord
>>> Mär 19 21:25:26 32GB weewxd[113134]: CRITICAL __main__:     **** 
>>>  sqlite3.DatabaseError: database disk image is malformed
>>> Mär 19 21:25:26 32GB weewxd[113134]:     self._updateHiLo(accumulator, 
>>> cursor)
>>> Mär 19 21:25:26 32GB weewxd[113134]:   File 
>>> "/usr/share/weewx/weewx/manager.py", line 1219, in _updateHiLo
>>> Mär 19 21:25:26 32GB weewxd[113134]: CRITICAL __main__:     **** 
>>>  Exiting.
>>> Mär 19 21:25:26 32GB weewxd[113134]:     
>>> self._set_day_summary(_stats_dict, accumulator.timespan.stop, cursor)
>>> Mär 19 21:25:26 32GB weewxd[113134]:   File 
>>> "/usr/share/weewx/weewx/manager.py", line 1640, in _set_day_summary
>>> Mär 19 21:25:26 32GB weewxd[113134]:     
>>> cursor.execute(_sql_replace_str, _write_tuple)
>>> Mär 19 21:25:26 32GB weewxd[113134]:   File 
>>> "/usr/share/weewx/weedb/sqlite.py", line 38, in guarded_fn
>>> Mär 19 21:25:26 32GB weewxd[113134]:     return fn(*args, **kwargs)
>>> Mär 19 21:25:26 32GB weewxd[113134]:            ^^^^^^^^^^^^^^^^^^^
>>> Mär 19 21:25:26 32GB weewxd[113134]:   File 
>>> "/usr/share/weewx/weedb/sqlite.py", line 233, in execute
>>> Mär 19 21:25:26 32GB weewxd[113134]:     return 
>>> sqlite3.Cursor.execute(self, *args, **kwargs)
>>> Mär 19 21:25:26 32GB weewxd[113134]:           
>>>  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>>> Mär 19 21:25:26 32GB weewxd[113134]: sqlite3.DatabaseError: database 
>>> disk image is malformed
>>> Mär 19 21:25:26 32GB systemd[1]: weewx.service: Main process exited, 
>>> code=exited, status=1/FAILURE
>>> Mär 19 21:25:26 32GB systemd[1]: weewx.service: Failed with result 
>>> 'exit-code'.
>>> Mär 19 21:25:26 32GB systemd[1]: weewx.service: Consumed 1.588s CPU time.
>>>
>>>
>>> What or how can I get it working again?
>>> Or do I have to reinstall the whole thing?
>>> Thanks again for your support and have a nice evening.
>>> Best regards, Günther
>>>
>>>
>>> Hallo weewx Experten, wieder einmal funktioniert weewx auf meinem 
>>> Raspberry Pi nicht richtig.
>>>
>>> Folgende Fehlermeldung erscheind nach dem Neustart von weewx.
>>>
>>> [image: Bildschirmfoto vom 2025-03-19 21-41-08.png]
>>> [image: Bildschirmfoto vom 2025-03-19 21-41-27.png]
>>> [image: Bildschirmfoto vom 2025-03-19 21-42-04.png]
>>> Was oder wie kann ich das ganze wieder funktionfähig machen?
>>> Oder muss ich das ganze wieder einmal neu installieren.
>>>
>>> Ich danke wieder einmal für die Unterstützung und wünsche noch einen 
>>> schönen Abend.
>>>
>>> Grüße Günther
>>>
>>> I hope you understand my problem and thanks for all.
>>>
>>> Günther
>>> michael.k...@gmx.at schrieb am Samstag, 12. Oktober 2024 um 13:47:14 
>>> UTC+2:
>>>
>>>> Schön zu hören :) Grüße aus Salzburg.
>>>>
>>>> Günther Wrana schrieb am Samstag, 12. Oktober 2024 um 10:29:43 UTC+2:
>>>>
>>>>> Hallo ich danke allen die mir wieder einmal geholfen haben.
>>>>>
>>>>> Ich habe die Endungen im Treiber von Wh28xx auf Wh23xx geändert.
>>>>>
>>>>> Dann so wie EdwinZ geschrieben hat die weewx.rules in den Pfad 
>>>>> /etc/udev/rules.d/ kopiert und neu gestartet.
>>>>>
>>>>> Ab dann hat schon alles ohne Fehler funktioniert. Ich danke vielmals 
>>>>> für die Hilfe.
>>>>>
>>>>> Auf www.guentherwrana.ddns.net könnt ihr meine Werte sehen.
>>>>>
>>>>> VIELEN VIELEN Dank nochals aus Niederösterreich und schöne Grüße 
>>>>> Günther
>>>>>
>>>>>
>>>>>
>>>>> Hello, I thank everyone who helped me once again.
>>>>>
>>>>> I changed the endings in the driver from Wh28xx to Wh23xx.
>>>>>
>>>>> Then, as EdwinZ wrote, copied the rules.d to the path 
>>>>> /etc/udev/rules.d/ and restarted. From then on, everything worked without 
>>>>> errors.
>>>>>
>>>>> Thank you very much for your help.
>>>>>
>>>>> On www.guentherwrana.ddns.net you can see my values.
>>>>>
>>>>> THANK YOU again from Lower Austria and best regards Günther
>>>>>
>>>>>
>>>>> EdwinZ schrieb am Montag, 7. Oktober 2024 um 09:54:03 UTC+2:
>>>>>
>>>>>> Hi Guenther, did you also copy the weewx.rules file from 
>>>>>> /etc/weewx/udev/ to  /etc/udev/rules.d/ ?
>>>>>> And then reboot the system?
>>>>>>
>>>>>> I played around a bit yesterday with USB and access rights, and if 
>>>>>> your udev rules work well, the following Python code should show the 
>>>>>> manufacturer and product; when the rules do not work, it complains about 
>>>>>> a 
>>>>>> langid it can't find (not sure why this error is thrown):
>>>>>>
>>>>>> import usb.core
>>>>>> import usb.util
>>>>>> for xdev in usb.core.find(find_all=True):
>>>>>>   print("Raw idVendor = %s, idProduct = %s" % (xdev.idVendor, 
>>>>>> xdev.idProduct))
>>>>>>   vidhex_str = "{:04X}".format(xdev.idVendor)
>>>>>>   pidhex_str = "{:04X}".format(xdev.idProduct)
>>>>>>   try:
>>>>>>     langids_str = usb.util.get_langids(xdev)
>>>>>>     print("Lang raw %s" % langids_str)
>>>>>>   except Exception as e:
>>>>>>     langids_str = e
>>>>>>     print("Lang exception %s" % langids_str)
>>>>>>   try:
>>>>>>     mfr_str = usb.util.get_string(xdev, xdev.iManufacturer)
>>>>>>     print("Mft raw %s" % mfr_str)
>>>>>>   except Exception as e:
>>>>>>     mfr_str = e
>>>>>>     print("Mft exception %s" % mfr_str)
>>>>>>   try:
>>>>>>     prod_str = usb.util.get_string(xdev, xdev.iProduct)
>>>>>>     print("Prod raw %s" % prod_str)
>>>>>>   except Exception as e:
>>>>>>     prod_str = e
>>>>>>     print("Prod exception %s" % prod_str)
>>>>>>   out_str = "VID: 0x{}, PID: 0x{}, Mfr: '{}', Prod: 
>>>>>> '{}'".format(vidhex_str, pidhex_str, mfr_str, prod_str)
>>>>>>   print(out_str)
>>>>>>
>>>>>> What you can do is just run python, and paste the above in your 
>>>>>> shell window and press enter until it executes. If you run python as 
>>>>>> root (sudo 
>>>>>> python) it always shows the USB devices info. 
>>>>>> I did not find another way to check if the udev rules permissions are 
>>>>>> working. One thing I did find out is that the udev rules file is case 
>>>>>> sensitive, also on hex values like 10c4 (10C4 did not work...)
>>>>>>
>>>>>> Happy testing!
>>>>>> Edwin
>>>>>>
>>>>>> PS Yesterday I also updated my WH23xx code to have more debugging and 
>>>>>> USB info; it will not help you with the above, but I did not like the 
>>>>>> code 
>>>>>> to show empty strings with the USB device ("bus= device="), so fixed 
>>>>>> that 
>>>>>> to show Silicon Labs and HIDtoSPI Slave
>>>>>> On Sunday, October 6, 2024 at 11:54:52 AM UTC+2 Günther Wrana wrote:
>>>>>>
>>>>>>> Es funktioniert auch nicht wenn ich das in die Datei rules eintrage.
>>>>>>>
>>>>>>> [image: Bildschirmfoto vom 2024-10-06 11-47-02.png]
>>>>>>>
>>>>>>> Wenn ich dann Neustarte kommt wieder diese Meldung.
>>>>>>>
>>>>>>>
>>>>>>> [image: Bildschirmfoto vom 2024-10-06 11-47-22.png]
>>>>>>>
>>>>>>> Vor allem kann ich weewx nicht anhalten auch wenn ich hunderte male 
>>>>>>> sudo systemctl stop weewx schreibe.
>>>>>>>
>>>>>>> Ich weiß nicht wo nun das ganze Problem liegt.
>>>>>>> Danke sehr 
>>>>>>>
>>>>>>

-- 
You received this message because you are subscribed to the Google Groups 
"weewx-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to weewx-user+unsubscr...@googlegroups.com.
To view this discussion visit 
https://groups.google.com/d/msgid/weewx-user/54003f30-23fb-46f8-9f29-21e3fae9456dn%40googlegroups.com.

Reply via email to