“RECYCLED “ Rendiamo liberi i Gateway Xiaomi (Zigbee2Mqtt – Ble – Audio) con il firmware OpenWrt!

“RECYCLED “ Rendiamo liberi i Gateway Xiaomi (Zigbee2Mqtt – Ble – Audio) con il firmware OpenWrt!

 

 

Premessa ,la sostituzione del firmware originale è prevista solo per i seguenti modelli:
Versione EU DGNWG05LM Versione CN ZHWG11LM.

Prima di iniziare :

  • Ricordatevi di abbinare il Gateway alla rete wifi tramite Mi home.
  • Configurate e avviate il broker MQTT nel vostro Home Assistant.

Per poter accedere all’interno del nostro Gateway e sostituire i firmware c’è bisogno  di avere l’accesso come “root”.
Per avere tale accesso dobbiamo eseguire  una modifica hardware, saldando 3 fili a una interfaccia  FT232RL FTDI da USB a TTL (senza saldate nessuna alimentazione).

 

 

 

 

Per smontare il Gateway, vanno tolti i 3 gommini, sotto vi troverete le  viti di smontaggio come da foto.

 

 

 

 

 

 

 

 

Usate il seguente cacciavite Spanner Head.

 

Punti di saldatura.

Saldare 3 contatti GND, RX, TX.

Eseguite le saldature, colleghiamo rispettivi cavi alla UART e attacchiamo il Gateway alla presa di corrente.

ATTENZIONE!!!

IL GATEWAY E’ ALIMENTATO 220V, PER CUI PRENDETE LE DOVUTE PRECAUZIONI !!!!

Per poter interagire con il Gateway e abilitare il root , useremo Putty con un baudrate di 115200 e la COM abbinata all’USB del FTDI

Avviato Putty via Serial e alimentato il Gateway vi comparirà la seguente schermata.

 

Dovete essere veloci a inserire  tramite copia e incolla il seguente comando, ripetutamente:

setenv bootargs "${bootargs} single rw init=/bin/bash" && boot

Se il comando passa durante il boot vi si presenterà una bash consolle, quindi digitate:

passwd

Inserite una password di vostra scelta , oppure premete tre volte invio lasciando la password vuota.

Nel caso in cui non si presentasse la bash consolle, riavviate il Gateway e rifate la procedura inserendo  i 2 comandi qui sopra.

Eseguito il root, possiamo abilitare il servizio SSH per gestire il Gateway da una consolle alternativa, lasciando da parte il collegamento con la seriale.

Per abilitare il server ssh sul gateway aggiungere la seguente riga al file  /etc/rc.local aiutandoti con il file editor vi, digitate :

vi /etc/rc.local

All’interno del file rc.local prima della riga “/home/root/fac/fac_test” inerite il seguente comando:

/etc/init.d/dropbear start &

Salvate ed uscite dall’editor.
Vi consiglio di leggervi come usare l’editor “vi” cercando in google.

L’inserimento del comando “dropbear” abiliterà al boot del Gateway il collegamento SSH da poter gestire poi da consolle.
A questo punto staccate ftdi dalla presa USB e dal Gateway. Riavviate il gateway e tramite Putty collegatevi via SSH .

IP GATEWAY porta 22

Se il collegamento SSH avrà buon fine , ci troveremo in questa situazione :

Ora siamo pronti a flashare il firmware alternativo OPENWRT con il metodo “OVER THE AIR”
Eseguiamo prima di tutto un backup completo del Gateway .
Nel caso voleste tornare al gateway originale, tale ipotesi è fattibile tramite un cavo usb collegato e saldato alla scheda del gateway .

Usando MGTOOLS che trovate all’interno di questo file.

Ora siamo pronti a flashare il firmware alternativo OPENWRT con il METODO OVER THE AIR
Eseguiamo prima di tutto un backup completo del Gateway .
Colleghiamoci via ssh al nostro Device e digitiamo :

tar -cvpzf /tmp/lumi_stock.tar.gz -C / . --exclude = ' ./tmp/* ' --exclude = ' ./proc/* ' --exclude = ' ./sys/* '

Al termine del backup usate Winscp, collegatevi al gateway con protollo SCP nome utente “root” password “pw_scelta”.
Recatevi nella directory top/lumi e salvatevi il file “lumi_stock.tar.gz” , una volta salvato potete cancellarlo dal gateway.

Ora passiamo al flash del nuovo Firmware OVER THE AIR.
Collegati via SSH ed inviamo il seguente comando da consolle:

  1. echo -e "GET /openlumi/owrt-installer/main/install.sh HTTP/1.0\nHost: raw.githubusercontent.com\n" | openssl s_client -quiet -connect raw.githubusercontent.com:443 2>/dev/null | sed '1,/^\r$/d' | bash

Questo comando interromperà tutti i processi sul gateway.
È un comportamento normale se la tua connessione ssh viene interrotta.
Il processo di flashing richiede alcuni minuti. Al termine, il gateway creerà una rete Wi-Fi aperta con il nome “OpenWrt”.
Non abbiate fretta, aspettate!  (circa 10 min.)
Si tratta di attendere che il gateway venga flashato e si metta in modalità Access Point.
Nel caso il flash non andasse a buon fine , con un cavo usb saldato al gateway, come detto sopra , con il software MGTOOLS potete rifare il flash del firmware con “OpenWrt”.

Collegatevi al gateway in modalità Acess Point, digitate nel browser http:// 192.168.1.1 e vi ritroverete collegati alla consolle OPENWRT, entrate e configurate la rete wifi seguendo gli screenshot

immagine

 

Premete il pulsante Scan sulla prima interfaccia “radio0”, dopo pochi secondi, vedrete un elenco reti.

Scegliete la vostra e “Accedi alla rete”.

Immagine

 

Nella finestra pop-up impostare la casella di controllo “Sostituisci configurazione wireless”. Inserisci la passphrase dalla tua rete Wi-Fi di seguito.

immagine

Confermate le impostazioni nella finestra successiva, premete il pulsante Salva.

Immagine

Per applicare correttamente le modifiche, è necessario disabilitare Access Point premendo il pulsante “Disabilita” nella connessione per la seconda interfaccia.

Immagine

All’interno del firmware avrete:

• OpenWrt LuCi GUI sulla porta 80
• Un utility di comando per il flashing del modulo zigbee jn5169
• Plugin Web per LuCi per eseguire il flashing di firmware OPENWRT

 

RICORADATE ! NON abilitare contemporaneamente le modalità Wi-Fi e modalità AP. Il firmware non può gestire contemporaneamente entrambe le modalità.
Se avete fatto degli errori premete il pulsante sul gateway per 10 secondi. Lampeggerà 3 volte di color giallo e tornerà alla modalità AP di partenza.

PASSIAMO ORA A INSTALLARE ZIGBEE2MQTT

La parte hardware Zigbee è gestita dal chip jn5169 e flasheremo un firmware Zigate all’interno.

Digitiamo:

wget https://github.com/openlumi/ZiGate/releases/download/snapshot-20201201/ZigbeeNodeControlBridge_JN5169_FULL_FUNC_DEVICE_31e_115200.bin -O /tmp/zigate.bin

 

Poi:

jnflash /tmp/zigate.bin

Infine:

jntool erase_pdm

Se a qualcuno interessa c’e’ anche la possibilità di flashare un firmware zigbee ed usare il Gateway come router link

Abbiamo flashato il firmware zigbee, ora aggiungiamo la seguente repository “OpenLumi” dando il seguente comando:

[ -f /lib/libustream-ssl.so ] && echo "libustream already installed" || opkg install libustream-mbedtls
(! grep -q openlumi /etc/opkg/customfeeds.conf) && (
wget -q https://openlumi.github.io/openwrt-packages/public.key -O /tmp/public.key && 
opkg-key add /tmp/public.key && rm /tmp/public.key &&
echo 'src/gz openlumi https://openlumi.github.io/openwrt-packages/packages/19.07/arm_cortex-a9_neon' >> /etc/opkg/customfeeds.conf &&
echo "Feed added successfully!"
) || echo "Feed added already. Skip."

A questo punto installiamo le librerie per Zigbee2mqtt dando i sehuenti comandi:

opkg update

Successivamente:

opkg install mosquitto node node-zigbee2mqtt

Digitiamo:

sed -i 's/port: 8080/port: 8090/' /etc/zigbee2mqtt/configuration.yaml

Digitiamo:

sed -i 's/baudrate: 1000000/baudrate: 115200/' /etc/zigbee2mqtt/configuration.yaml

Digitiamo:

sed -i 's/homeassistant: false/homeassistant: true/' /etc/zigbee2mqtt/configuration.yaml

Vi consiglio di usare winscp ed editare il file congifuration.yaml nella cartella “/etc/zigbee2mqtt/“ ed inserire i dati del vostro broker MQTT, altrimenti zigbee2mqtt non partirà

Vi inserisco un esempio :

# Home Assistant integration (MQTT discovery)
homeassistant: true

# allow new devices to join
permit_join: false
# MQTT settings
mqtt:
# MQTT base topic for zigbee2mqtt MQTT messages
  base_topic: zigbee2mqtt
  # MQTT server URL
  server: 'mqtt://192.168.178.89'  
  # MQTT server authentication, uncomment if required:
  user: user_name
  password: password
# Serial settings
serial:
  port: /dev/ttymxc1
  adapter: zigate
advanced:
  baudrate: 115200
  log_level: info
  # Optional: Location of log directory (default: shown below)    
  log_directory: /tmp/log/zigbee2mqtt/%TIMESTAMP%  
  # Optional: Log file name, can also contain timestamp, e.g.:  zigbee2mqtt_%TIMESTAMP%.log (default: shown below)
  log_file: log.txt
  # Optional: Log rotation (default: shown below)
  log_rotation: true
  # Optional: Output location of the log (default: shown below), leave empty to supress logging (log_output: [])
  # possible options: 'console', 'file', 'syslog'
  log_output: 
  # - console
    - file
devices: devices.yaml
groups: groups.yaml
frontend:
  port: 8090
experimental:
  new_api: true

Appena avete salvato il file ritorniamo alla nostra consolle SSH e diamo il comando:

/etc/init.d/zigbee2mqtt restart

Ora potete connettervi all’interfaccia Zigbee2mqtt tramite browser http://tuo_ip:8090 e configurare tutti i vostri Device Zigbee.

Ma come sempre , noi di HASSIOHELP, non ci fermiamo al primo traguardo.
Il Gateway all’interno ha una luce Led Rgb e una Cassa Audio.
Vogliamo sfruttare anche quelle!!

Dobbiamo quindi farci aiutare sempre dal nostro broker Mqtt, abilitare anche queste due caratteristiche da poter sfruttare in Home Assitant

CONFIGRARE LUCE GATEWAY E AUDIO

Colleghiamoci via SSH con putty al nostro Gateway e diamo i seguenti  comand::

wget https://openlumi.github.io/openwrt-packages/public.key -O /tmp/public.key

Comando:

opkg-key add /tmp/public.key

Comando:

echo ‘src/gz openlumi https://openlumi.github.io/openwrt-packages/packages/19.07/arm_cortex-a9_neon’ >> /etc/opkg/customfeeds.conf

Comando:

opkg update && opkg install node git-http mpc mpd-full

 

Proseguiamo:

Comando:

mkdir /opt

Comando

cd /opt

Comando

git clone https://github.com/Beetle-II/lumi.git

Comando

cd lumi

Comando

cp config_example.json config.json

Editiamo sempre con l’aiuto di winscp il file config.json

{
"sensor_debounce_period": 300,
"sensor_treshhold": 50,

"homeassistant": true,
"use_ble": false,

"mqtt_url": "mqtt://192.168.178.89",
"mqtt_topic": "lumi",
"use_mac_in_mqtt_topic": false,
"mqtt_options": {
"port": 1883,
"username":"zigbee2mqtt",
"password": "5P86AB",
"keepalive": 60,
"reconnectPeriod": 1000,
"clean": true,
"encoding": "utf8"
}
}

Testiamo il funzionamento dando il comando:

node /opt/lumi/lumi.js

Se avete degli  errori riavviate il Gateway digitando “reboot” in consolle.

Poi ricollegatevi via ssh e ridate il comando:

node /opt/lumi/lumi.js

Dovreste vedere i primi topic mqtt partire verso il vostro broker .

 

Se tutto e’ andato a buon fine uscite dall’avvio di “lumi.js” con i tasti “ctrl-c” e attivate l’avvio al boot del gateway con i seguenti comandi:

cd /opt/lumi

Comando

chmod +x lumi

Comando

cp lumi /etc/init.d/lumi

Comando

/etc/init.d/lumi enable

Comando

/etc/init.d/lumi start

Entrate nel vostro Home Assistant e vi ritroverete dentro all’integrazione Mqtt light.light_gategay gestibile con tutti i  colori rgb.

Per quanto riguarda la gestione dell’audio ho fatto un package per rendervi la vita più’ semplice:

link.Package

All’interno del package ho messo tutti i topic sfruttabili e degli script per rendere semplice l’uso delle notifiche tts google in italiano.

Non e’ finita qui !!

È stato riscontrato che il modulo wifi rtl8723bs della versione europea del gateway ha un bluetooth integrato con supporto BLE.

E’ possibile gestire device come , LYWSDCGQ,  LYWSD02, LYWSD03MMC, BILANCIA MI, Mi BAND 3, HHCCJCY01, MIFLORA …

Conosco i seguenti comandi per abilitare l’adattatore Bluetooth.

• Con il comando “hciconfig hci0 up”

• Modificando il parametro “AutoEnable” in config /etc/bluetooth/main.conf in “true”

Scelgo il secondo.

Quando l’interfaccia è in esecuzione. Puoi eseguire una scansione per verificare il funzionamento digitando “hcitool lescan”

Per gestire I device ble useremo EspruinoHub

Installiamolo…

Comando

opkg update

Comando

opkg install node-espruinohub

Con winscp editiamo il file che si trova “/etc/espurinohub/config.json”

Con la seguente configurazione di esempio link

 

Se conosci gli indirizzi Mac dei tuoi dispositivi, ti consiglio di inserirli nella configurazione, modificando  “only_known_devices: true” .

Questo permettrà al gatway di controllare solo i device noti.

Per interagire con HomeAssistant, è sufficiente che i dati arrivino in formato json. Impostate  le tre voci in “true” :

“mqtt_format_json”: true,
“homeassistant”: true,
“mqtt_cache_state”: true

Anche questa è fatta, spero di essere stato d’aiuto a qualcuno…..

 

 


Sostienici, dona un caffè al nostro sito

 

36 risposte

  1. Daniele ha detto:

    Quindi mi confermate che la modifica può essere fatta anche su gateway Aqara M1 ZHWG11LM?

    • Alesoft73 ha detto:

      Si i due modelli dell’articolo.
      Unica differenza, nel modello ZHWG11LM non c’e’ il bluetooth… e quindi non lo puoi attivare.

  2. Luigi ha detto:

    Io ho il modello DGNWG02LM cinese. E’ inutile che ci provo perchè non funzionerà sicuramente o potrebbe funzionare?
    Non ho paura di rendere il gateway inutilizzabile.

    • Alesoft73 ha detto:

      Buongiorno,
      i modelli sono solo quelli inseriti nell’articolo.
      Gli altri hanno un hardware che non potrebbe supportare il flash di un Sistema Operativo come OpenWrt.
      Mi dispiace.

    • Domenico ha detto:

      Ciao Luigi anche io ho questo modello e volevo provare visto che non lo uso…tu hai provato?

  3. MaGiDeL ha detto:

    Ciao Alesoft73, ottimo articolo sul gateway xiaomi.
    Ho alcuni dubbi. 🙂
    Parliamo del gateway v2, quello che si connette tranquillamente ad hassio, una volta abilitato il token (cliccando più volte in un passo di menu di Mi Home nelle impostazioni, se ricordo bene) e poi con l’integrazione aqara, giusto?
    Se ho ben capito, questo gateway si connette tramite wifi alla rete di casa. Utilizza sia lo zigbee che il bluetooth per riconoscere i dispositivi (parliamo della versione DGNWG05LM, per il bluetooth).
    Con il flash del firmware che proponi, metti dentro un openwrt (grandissima cosa!!!! ) per gestire tutto il dispositivo e poi carichi i protocolli zigbee e bluetooth per utilizzarli.
    Quello che ti volevo chiedere era circa la cassa audio. Come viene gestita?
    Con il firmware originale lumi la cassa viene usata con il servizio “xiaomi_aqara.play_ringtone” con quei “ringtone_id” fissi che non si possono cambiare.
    Flashandolo con il tuo metodo, alla fine avrò una casa che posso utilizzare come un mediaplayer? tipo voglio sentire un mp3 e attraverso il servizio “media_player.play_media” lo posso sentire, creando su hassio un entità tipo “entity_id: media_player.gateway” per esempio?
    Grazie in anticipo per la tua risposta

    • Alesoft73 ha detto:

      Grazie!!
      Andiamo al punto, il modello del Gateway lo ritrovi vicino al plug della corrente.
      La cassa audio viene gestita tramite protocollo MQTT.
      Tramite comandi MQTT puoi selezionare il file da riprodurre oppure l’url di una radio.
      Per semplificare le cose ho inserito un package con degli script da richiamare per la gestione audio e TTS.
      Inoltre ho creato una piccola radio con alcune stazioni.
      I servizi xiaomi e sevizi mediaplayer non vengono assolutamenti usati in questo device , gira tutto via MQTT come anche la light.

  4. ivityc ha detto:

    Salve,
    intanto complimenti per l’articolo.
    Sono riuscito a fare i collegamente, nonostante le saldature su spazio microscopico
    riesco a collegarmi con la seriale
    arrivo al cambio password
    ma quando provo a modificare il file rc.local il terminale inizia a fare le bizze
    mette caratteri spuri, non funzioano i comandi base vi e dopo poco devo ricominciare da capo
    esempio di caratteri strani :
    :▒>▒>▒▒>▒>▒▒
    il collegamento sembra corretto , non so da cosa possa dipendere
    non credo si surriscaldino le saldature
    qualche idea ?

    grazie

    • Alesoft73 ha detto:

      Ti ringrazio,
      i problemi potrebbero essere molteplici, o hai settato la velocità della porta seriale in putty errata o qualche saldatura fa contatto.
      Scrivimi nel gruppo, in caso mi fai vedere che problema ti da con un video in pvt.
      Telegram : https://t.me/HassioHelp
      A presto 😉

  5. Domenico Soriano ha detto:

    dopo l’aggiornamento firmware, potrá essere gestito da HA il sensore di luminositá e il pulsante?

  6. icelucio ha detto:

    E’ la milionesima volta che riavvio l’hub… non riesco a capire come fare per bloccarne il boot. Credo di averle provate tutte. C’è un momento preciso o una combinazione di tasti specifica o basta un “invio”, un ctrl+z durante lo scorrere le log?

    Grazie, Lucio

    • icelucio ha detto:

      Se può essere d’aiuto a qualcun altro, visto che ci ho perso un paio d’ore… bisogna premere “invio” appena si alimenta l’hub ed incollare il comando “setenv …” altrimenti il boot parte e non si ferma più.
      Pur comprendendo l’1% di quello che stavo facendo, ho portato a termine la guida senza alcun problema o intoppo.

      Grazie, è stato divertente.
      Lucio

    • Alesoft73 ha detto:

      Buongiorno,
      devi copiarti il comando con copia incolla. e incollarlo piu’ volte mentre fa il boot premendo invio.
      Devi essere ababstanza veloce.
      Se prende il comando mentre fa il boot, ti esce il “bash”.
      Allora puoi procedere con il cambio password.

  7. Marco ha detto:

    C’è un errore nella riga relativa al comando di flash del firmware over the air. In particolare il punto sbagliato è: raw.githubusercontent.comn, invece dovrebbe essere: raw.githubusercontent.com\n.
    Poi avrei un paio di domande, si può anche gestire il colore della luce via MQTT? e funziona anche il sensore di luminosità integrato nel Gateway via MQTT?

  8. Marco ha detto:

    Se volessi assegnare un IP fisso al gateway, dove lo imposto?
    Ho visto nella scheda Network->Interface che ci sono due Interfacce, una chiamata LAN in cui è scritto Protocollo: stati address e una WWAN con scritto Protocollo: DHCP Client.
    E’ quest’ultima da cambiare in Static Address?

    • Alesoft73 ha detto:

      Il firmware Openwrt e’ stato adattato per essere usato con il Gateway.
      Ti conviene prenotare un Ip dal DHCP del router con cui gestisci tutta la rete.
      Saluti.

      • Marco ha detto:

        Si, alla fine ho fatto cosi. Una domanda, se avessi piu di un gateway, per riprodurre un file mp3 su uno specifico gateway, come faccio?

        • Alesoft73 ha detto:

          Se hai piu’ Gateway ti consiglio di flashare il firmware come router e gestire allo stesso modo l’audio, ovviamente dovrai cambiare il topic mqtt altrimenti non direzioni l’audio al gateway corretto.

          • Marco ha detto:

            Grazie. Ma se utilizzo il firmware per farlo diventare router, posso sempre utilizzare la luce rgb seguendo la guida LUCE E AUDIO?

          • Alesoft73 ha detto:

            Esattamente.. Ma evita di installare zigbee2mqtt in quanto non ti serve e non fuinzionerebbe flashando firmware come router 😉

          • Marco ha detto:

            Quale è il topic da cambiare sul gateway per distinguerli ed indirizzare l’audio sul gateway corretto?

          • Alesoft73 ha detto:

            Buongiorno.
            Devi sostituire il topic “mqtt_topic” : “lumi” in “mqtt_topic” : “lumi2” (per esempio) nel file “config.json”.
            Trovi l’esempio nella guida in cui si configura “LUCE E AUDIO”
            Saluti e grazie 😉

  9. Marco Lupieri ha detto:

    Ho un problema con il funzionamento della cassa del gateway. Fiano a qualche giorno fa funzionava perfettamente, adesso nulla. La luce funziona perfettamente, ma non riesco piu a riprodurre nulla dalla cassa. Da cosa potrebbe dipendere? Grazie

    • Alesoft73 ha detto:

      Buongiorno,
      molto probabile che il problema sia altrove.
      Nel senso che se tutto andava fino a poco tempo fa, forse dipende dall’Addon che gestisce Mqtt.

  10. matrix866 ha detto:

    Con questa modifica abbinata al gateway DGNWG05LM si possono abbinare i sensori xiaomi non compatibili di serie come temperatura o porte aquara?

  11. matrix866 ha detto:

    Ciao finalmente sono riuscito a fare quanto descritto. Il repository per attivare led e audio del gateway europeo vale solo per la versione 19 di openwrt. Con la nuova la 21 non funziona.

    Non vedo però tra le entità il media player del gateway.

    Inoltre è possibile sapere come si integrano gli script per la gestione dello speaker? Grazie

    • Alesoft73 ha detto:

      Buongiorno,
      con la Ver.21 non funziona perchè la guida è basta su Openwrt 19 e quindi ha le sue repo.
      Non c’e’ nessuna entità mediaplayer del gateway perchè tutto è controllato via mqtt come da package che ho inserito nella guida.
      Il package va inserito nella cartella package di Home Assistant e in automatico, leggendo il mio doc, sfrutti gli script per l’audio.
      Se hai installato openwrt ver.21 ti posso dare dei link con gli aggiornamenti, ma esula dalla guida che ho inserito.
      Ecco il link : https://github.com/DivanX10/Openwrt-scripts-for-gateway-dgnwg05lm
      Puoi trovare tutte le repo aggiornate per la tua versione.

  12. dumas ha detto:

    Buongiorno,
    durante la modifica del gateway DGNWG05LM dissaldando i collegamenti della seriale si e’ staccata la piazzola del pinout GND dalla scheda. Dovendo ripetere la procedura, dove posso trovare un punto alternativo per poter saldare il GND?

    • Alesoft73 ha detto:

      Bungiorno,
      puoi usare un altro gnd come quello indicato nella foto per fare il flash via usb…
      Contattami pure il pvt https://t.me/@Alesoft73 cosi’ ti giro eventualmente le immagini.
      Tieni presente che la guida la sto aggiornado in quanto ci sono degli aggiornamenti nei servizi OpenWrt 21.02.

      • dumas ha detto:

        Buongiorno,
        ti ringrazio innanzitutto per l’interesse, poi però controllando bene la scheda PCB xiaomi ho notato che sia il pin GND che il TX si sono dissaldati …. quindi il problema non è tanto per il GND (che immaginavo fosse possibile collegarlo in più punti) quanto per il TX.
        Hai qualche soluzione per rimediare a questo problema?
        Grazie.

        • Alesoft73 ha detto:

          Buongiorno.
          Devi per forza di cose ricotruire le piste.
          TX / RX ti serve per forza, in alternativa non puoi modificarlo.
          Mi spiace.
          Saluti e grz

  13. Marco ha detto:

    Ciao, sarebbe possibile avere una guida per la versione 21.02?
    Anche con la possibilità di usare la luce e lo speaker.
    Grazie

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Advertisment ad adsense adlogger