Wolfgang,

As I was following this thread and as I had a 'similar' problem (wr_rrd_update.py would not connect to INDI), I looked at some code and I may have found a discrepancy in the /usr/share/weatherradio/bin/weatherradio.py file.

Being far from knowing python much, I know it uses indents a lot and, in the 'connect' function of weatherradio.py, where it either connects via Serial or Ethernet, there is al level of indent that may be wrong in the Ethernet part of the if-else. From what I get, the part that I highlighted below won't get executed for a Serial connection, resulting in failure in connecting to the INDI Weather Radio driver. I reduced the indent of this section and wr_rrd_update.py could connect again.

Now waiting for some data to be displayed on the Web page and I will let you know if things worked.

Gilles

            if mode == "Serial":
                # ensure serial mode
                indi.set_and_send_switchvector_by_elementlabel(dev,"CONNECTION_MODE","Serial")
                # set the configured port
                indi.set_and_send_text(dev,"DEVICE_PORT","PORT",devport)
            else:
                indi.set_and_send_switchvector_by_elementlabel(dev,"CONNECTION_MODE","Ethernet")
                indi.set_and_send_text(dev,"DEVICE_ADDRESS","ADDRESS",ipaddress)
                indi.set_and_send_text(dev,"DEVICE_ADDRESS","PORT",ipport)

[color=orange]
                # connect driver
                connection = indi.set_and_send_switchvector_by_elementlabel(dev,"CONNECTION","Connect")
                # wait for the connection
                time.sleep(7)
                # ensure that all information is up to date
                indi.process_events()
                # check if the connection has been established
                connection = indi.get_vector(dev, "CONNECTION")
                # set location if connection was successful
                if connection._light.is_ok():
                    indi.set_and_send_float(dev,"GEOGRAPHIC_COORD","LAT",float(lat))
                    indi.set_and_send_float(dev,"GEOGRAPHIC_COORD","LONG",float(long))
                    indi.set_and_send_float(dev,"GEOGRAPHIC_COORD","ELEV",float(elev))
[/color]                    

            # update the result states
            result = result and connection._light.is_ok()


Read More...