Bob, no reason not to use WeeWX --- just write a driver. At their simplest, you need implement only 3 functions, two of which are trivial. The hard one is genLoopPackets(), whose job is to return Python dictionaries holding any data returned by your station. See the section *Porting to new hardware <http://www.weewx.com/docs/customizing.htm#porting>* in the Customizing Guide for details.
Once you have a driver, you can leverage everything else WeeWX has to offer --- archiving, reporting, uploading, HTML generation, etc. -tk On Sun, Feb 9, 2020 at 3:29 AM Bob Atchley <bob.atch...@gmail.com> wrote: > The good news is I have reverse engineered the USB interface to this > weather station, and while there are still nuances and additional commands > to be understood I have a test program running reliably. > > As there has been no interest here I'll probably write my own solution for > this rather than go down the weewx route, but once polished I'll make my > solution available (but I could still be persuaded to go down the weewx > route). > > The only other weather station interface that I am familiar with is the > ws2300 - compared to that this weather station interface is orders of > magnitude simpler and more reliable > > Not expecting any responses, but if there is any interest let me know > > Bob > > On Friday, 3 January 2020 18:20:49 UTC, Bob Atchley wrote: >> >> Hi, >> >> Has anyone had any luck interfacing weewx (on a rpi) to this weather >> station (which is identical to the Bresser 6 in 1) and if so could you give >> me any pointers ? >> >> https://youshiko.co.uk/collections/digital-weather-stations/products/yc9388 >> >> My basic assumption is that this is a Fine Offset clone. >> >> The fundamental problem I'm having is with the USB interface >> >> $ lsusb -v -d 1941:8021 >> >> *Bus 001 Device 004: ID 1941:8021 Dream Link WH1080 Weather Station / USB >> Missile Launcher* >> *Device Descriptor:* >> * bLength 18* >> * bDescriptorType 1* >> * bcdUSB 2.00* >> * bDeviceClass 0 * >> * bDeviceSubClass 0 * >> * bDeviceProtocol 0 * >> * bMaxPacketSize0 64* >> * idVendor 0x1941 Dream Link* >> * idProduct 0x8021 WH1080 Weather Station / USB Missile >> Launcher* >> * bcdDevice 0.00* >> * iManufacturer 1 Silicon Laboratories Inc.* >> * iProduct 2 CCLEL C8488* >> * iSerial 3 CCLEL c8488* >> * bNumConfigurations 1* >> * Configuration Descriptor:* >> * bLength 9* >> * bDescriptorType 2* >> * wTotalLength 0x0022* >> * bNumInterfaces 1* >> * bConfigurationValue 1* >> * iConfiguration 0 * >> * bmAttributes 0xc0* >> * Self Powered* >> * MaxPower 100mA* >> * Interface Descriptor:* >> * bLength 9* >> * bDescriptorType 4* >> * bInterfaceNumber 0* >> * bAlternateSetting 0* >> * bNumEndpoints 1* >> * bInterfaceClass 3 Human Interface Device* >> * bInterfaceSubClass 0 * >> * bInterfaceProtocol 1 Keyboard* >> * iInterface 0 * >> * HID Device Descriptor:* >> * bLength 9* >> * bDescriptorType 33* >> * bcdHID 1.11* >> * bCountryCode 0 Not supported* >> * bNumDescriptors 1* >> * bDescriptorType 34 Report* >> * wDescriptorLength 36* >> * Report Descriptor: (length is 36)* >> * Item(Global): Usage Page, data= [ 0x00 0xff ] 65280* >> * (null)* >> * Item(Local ): Usage, data= [ 0x01 ] 1* >> * (null)* >> * Item(Main ): Collection, data= [ 0x01 ] 1* >> * Application* >> * Item(Local ): Usage Minimum, data= [ 0x01 ] 1* >> * (null)* >> * Item(Local ): Usage Maximum, data= [ 0x08 ] 8* >> * (null)* >> * Item(Global): Logical Minimum, data= [ 0x00 ] 0* >> * Item(Global): Logical Maximum, data= [ 0xff ] 255* >> * Item(Global): Report Count, data= [ 0x40 ] 64* >> * Item(Global): Report Size, data= [ 0x08 ] 8* >> * Item(Main ): Input, data= [ 0x02 ] 2* >> * Data Variable Absolute No_Wrap Linear* >> * Preferred_State No_Null_Position >> Non_Volatile Bitfield* >> * Item(Local ): Usage Minimum, data= [ 0x01 ] 1* >> * (null)* >> * Item(Local ): Usage Maximum, data= [ 0x08 ] 8* >> * (null)* >> * Item(Global): Logical Minimum, data= [ 0x00 ] 0* >> * Item(Global): Logical Maximum, data= [ 0xff ] 255* >> * Item(Global): Report Count, data= [ 0x08 ] 8* >> * Item(Global): Report Size, data= [ 0x08 ] 8* >> * Item(Main ): Output, data= [ 0x02 ] 2* >> * Data Variable Absolute No_Wrap Linear* >> * Preferred_State No_Null_Position >> Non_Volatile Bitfield* >> * Item(Main ): End Collection, data=none* >> * Endpoint Descriptor:* >> * bLength 7* >> * bDescriptorType 5* >> * bEndpointAddress 0x81 EP 1 IN* >> * bmAttributes 3* >> * Transfer Type Interrupt* >> * Synch Type None* >> * Usage Type Data* >> * wMaxPacketSize 0x0040 1x 64 bytes* >> * bInterval 1* >> *can't get device qualifier: Resource temporarily unavailable* >> *can't get debug descriptor: Resource temporarily unavailable* >> *Device Status: 0x0001* >> * Self Powered* >> >> >> Running wee_ device works, but the values returned are all defaults not >> what the console is displaying. >> >> $ sudo bin/wee_device --info >> >> *Using configuration file /home/weewx/weewx.conf* >> *Using FineOffsetUSB driver version 1.20 (weewx.drivers.fousb)* >> *Querying the station...* >> *Fine Offset station settings:* >> * local time: 2020.01.03 17:47:03 GMT* >> * polling mode: PERIODIC* >> >> * abs_pressure: 0* >> * current_pos: 0* >> * data_changed: 0* >> * data_count: 0* >> * date_time: 2000-00-00 00:00* >> * hum_in_offset: 0* >> * hum_out_offset: 0* >> * id: 0* >> * lux_wm2_coeff: 0* >> * magic_1: 0xfa* >> * magic_2: 0x 3* >> * model: 0* >> * rain_coef: 0* >> * read_period: 0* >> * rel_pressure: 101.8* >> * temp_in_offset: 0* >> * temp_out_offset: 0* >> * timezone: 0* >> * unknown_01: 0* >> * unknown_18: 3* >> * version: 0* >> * wind_coef: 0* >> * wind_mult: 0* >> >> * max.abs_pressure.date: 2000-00-00 00:00* >> * max.abs_pressure.val: 0* >> * max.dewpoint.date: 2000-160-03 00:00* >> * max.dewpoint.val: 0* >> >> .... (cut similar) >> >> and the log file shows : >> >> *Jan 3 17:45:28 rpi2 wee_device[2565] INFO weewx.drivers.fousb: driver >> version is 1.20* >> *Jan 3 17:45:28 rpi2 wee_device[2565] INFO weewx.drivers.fousb: polling >> mode is PERIODIC* >> *Jan 3 17:45:28 rpi2 wee_device[2565] INFO weewx.drivers.fousb: polling >> interval is 60* >> *Jan 3 17:45:28 rpi2 wee_device[2565] INFO weewx.drivers.fousb: found >> station on USB bus= device=* >> *Jan 3 17:45:28 rpi2 wee_device[2565] INFO weewx.drivers.fousb: unstable >> read: blocks differ for ptr 0x000000* >> *Jan 3 17:45:30 rpi2 wee_device[2565] INFO weewx.drivers.fousb: unstable >> read: blocks differ for ptr 0x000000* >> *Jan 3 17:45:32 rpi2 wee_device[2565] INFO weewx.drivers.fousb: unstable >> read: blocks differ for ptr 0x000000* >> *.... (many similar cut)* >> *Jan 3 17:46:53 rpi2 wee_device[2565] INFO weewx.drivers.fousb: unstable >> read: blocks differ for ptr 0x0000e0* >> *Jan 3 17:46:55 rpi2 wee_device[2565] INFO weewx.drivers.fousb: unstable >> read: blocks differ for ptr 0x0000e0* >> *Jan 3 17:46:57 rpi2 wee_device[2565] INFO weewx.drivers.fousb: unstable >> read: blocks differ for ptr 0x0000e0* >> *Jan 3 17:46:59 rpi2 wee_device[2565] INFO weewx.drivers.fousb: unstable >> read: blocks differ for ptr 0x0000e0* >> *Jan 3 17:47:01 rpi2 wee_device[2565] INFO weewx.drivers.fousb: unstable >> read: blocks differ for ptr 0x0000e0* >> *Jan 3 17:47:03 rpi2 wee_device[2565] ERROR weewx.drivers.fousb: >> unrecognised magic number fa03* >> >> >> I've cycled through the model numbers in the weewx.conf [FineOffsetUSB] >> settings but this has made no difference. >> >> I should say I was using the latest stable version on a rpi4 but >> wee_device crashes with this on the first usb block read (errno 75, >> Overflow). I am now using 4.0.0b6 on an rpi2 which at least doesn't crash. >> >> I have attached a laptop running windows with the manufacturers software >> - this works perfectly (but the software is very limited) so at least I >> know the weather station is fully functional >> >> Thanks >> >> Bob >> > -- > 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 on the web visit > https://groups.google.com/d/msgid/weewx-user/99c989b3-0028-40d4-9836-8e5ea0df2ea8%40googlegroups.com > <https://groups.google.com/d/msgid/weewx-user/99c989b3-0028-40d4-9836-8e5ea0df2ea8%40googlegroups.com?utm_medium=email&utm_source=footer> > . > -- 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 on the web visit https://groups.google.com/d/msgid/weewx-user/CAPq0zEC3e7KCCR2J9%2BPOzSpnkyDDe%3DoOav_FWLY7gBtyH60wXg%40mail.gmail.com.