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.