Chi usa Home Assistant e ha stazioni Ecowitt ha da anni la possibilità di usare una integrazione non ufficiale che si basa su un custom server, cioè la console invia i dati come si fa per Wunderground e altri siti del genere.
Questa integrazione però non supporta tutti i sensori.
Ecowitt ha deciso quindi di svilupparne una tutta sua basata però sulle API http per cui sono supportate solo le nuove console tipo il GW2000, GW3000...
Screenshot_12-8-2025_201326_github.com.jpeg
In questa tabella in alto sono indicate le console supportate dall'integrazione ufficiale e in basso quelle supportate da quella non ufficiale che sarebbero praticamente tutte tranne quelle vecchie che non hanno il caricamento di dati su custom server.
Io ho provato questa integrazione
GitHub - Ecowitt/ha-ecowitt-iot: This integrated uses web interfaces to obtain data from the local network.
ma con il GW3000 mi ha dato un errore, probabilmente perché ha solo una settimana che è stata pubblicata.
Ecowitt punta anche sull'uso del protocolo MQTT
Questo il link sull'argomento aperto sul wxforum da dove ho preso link e informazioni
Official Ecowitt Integration for Home Assistant
Spegazioni sulla wiki di Gyvate che è iscritto anche a questo forum
dataloggers [Wiki - Fine Offset Ecowitt Ambient Weather Stations (and clones)]
Ciao zoomx,
ho visto il tuo post e ho provato immediatamente ad installare la nuova integrazione, da felice utilizzatore di HA e felice possessore di GW3000. Mi ha dato errore: "Configurazione non riuscita, riproverà: name 'datetime' is not defined".
Premetto che io con HA ci sto giocando da poco, ancora nessuna automazione.
Il tuo errore è già diverso dal mio ma può anche essere che tu hai una versione più aggiornata, l'ultimo aggiornamento è di tre ore fa.
Ma ho sempre lo stesso errore.
Ho aperto una issue qui
GW3000 configuration failed Could not convert String To float · Issue #4 · Ecowitt/ha-ecowitt-iot
the datetime error has been removed - latest version 1.0.12 !
L'errore relativo alla data e all'ora è stato risolto - ultima versione 1.0.12!
Weather Landing page: https://meshka.eu
Fine Offset/Ecowitt WiKi: https://meshka.eu/Ecowitt/dokuwiki
I have this version.
The error changed from this
could not convert string to float: '---.-'
to this
could not convert string to float: '--.--'
the point moved a little to the left
Io ho questa versione
L'errore è cambiato da questo
could not convert string to float: '---.-'
a questo
could not convert string to float: '--.--'
il puntino si è spostato un po' a sinistra
Qualcosa è cambiato durante la notte, forse l'integrazione ha ignorato gli errori ed è andata avanti in qualche modo.
Adesso in plancia ho sia il GW3000 che i sensori ma nessun dato, li da tutti come non disponibili.
La console funziona, la ormai vecchia integrazione funziona e via http ho i dati.
Something changed during the night, maybe the integration tryed to ignore errors and continue.
Now in dashboard I have the GW3000 and the devices connected to it but all of them result unavailable.
The gateway is working, the now old integration works and I can see data on http requests.
Abilitato il debug (debug on!)
Questo errore ha avuto origine da un'integrazione personalizzata.
Codice:Unexpected error fetching ha_ecowitt_iot dataTraceback (most recent call last): File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 392, in _async_refresh self.data = await self._async_update_data() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/config/custom_components/ha_ecowitt_iot/coordinator.py", line 46, in _async_update_data res = await self.api.request_loc_allinfo() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.13/site-packages/wittiot/api.py", line 591, in request_loc_allinfo res=await self._request_loc_allinfo() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.13/site-packages/wittiot/api.py", line 956, in _request_loc_allinfo "solarradiation":self.locval_tosr(ld_sr,unit_light), ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.13/site-packages/wittiot/api.py", line 523, in locval_tosr val=float(val) ValueError: could not convert string to float: '---.-''
Quindi sembra che l'errore sta nel fatto che fra i dati stringa ci sono valori che sono --.- che quindi non possono essere convertiti in float
So it seems that error is due to a string value that is --.-- that should be converted to a float but it not represent a float
v1.0.12 funzionante per me! La testerò per qualche giorno e in caso di risultati positivi, la sostituirò a quella non ufficiale (ottimo il fatto che non è più necessario il custom upload da parte del gateway verso home assistant)
v1.0.12 working for me! I’ll test it for a few days and, if the results are positive, I’ll replace the unofficial one (great that the custom upload from the gateway to Home Assistant is no longer necessary).
Sospetto che la causa sia questo sensore mancante
Screenshot_15-8-2025_93015_www.ecowitt.net.jpeg
Tu lo hai?
Ultima modifica di zoomx; 15/08/2025 alle 13:44
Forse ho trovato il problema nella libreria wittiot
Maybe the problem is in wittiot libraryIn this function/in questa funzionethere is a val=float(val) that is not preceded by the check if self.is_valid_float(val):Codice:def locval_topress(self,val,unit): if val=="" or val =="--" or val =="--.-": return val val=val.replace("hPa","") val=val.replace("inHg","") val=val.replace("mmHg","") if self.is_valid_float(val): val=float(val) else: return "" val=float(val) if unit=="0": val=round((val/ 33.86388),2) elif unit=="1": val else: val=round((val*1.33322/ 33.86388),1) return val
c'è un val=float(val) che non è preceduto dal controllo if self.is_valid_float(val):Rate limit . GitHub 540
Segnalibri