logo elektroda
logo elektroda
X
logo elektroda

[BK7231N] Bresser Weather Station 7in1 ClimateConnect Tuya Smart

LennVilardi 1500 4
ADVERTISEMENT
  • #1 21027041
    LennVilardi
    Level 2  

    Digital weather station with an anemometer and color display.
    Actually using it with LocalTuya on Home Assistant but fed up with the cloud thing and the poor WiFi implementation (disconnects too regularly) so I opened it up and saw a CB3S chip.
    I'm used to flashing things but I don't know where to start, I can't find this product in the database.
    Here are some pics from the inside:
    CB3S module on a circuit board. Photo of a circuit board with a visible CB3S chip and other electronic components.
    Help will be gladly appreciated ^^
  • ADVERTISEMENT
  • #2 21027229
    p.kaczmarek2
    Moderator Smart Home
    Hello, can you provide some more information, is this a battery powered device?

    This station is most likely using TuyaMCU, so first step would be TuyaMCU flashing, setup and configuration guide - configure dpIDs for Home Assistant
    Helpful post? Buy me a coffee.
  • ADVERTISEMENT
  • #3 21027327
    LennVilardi
    Level 2  
    It's not a battery powered device, it has its own power supply which outputs 5V 1A. The battery, a CR2032, is only for backup.
    It has a screen and the smart app says that it has an MCU module in v1.0.
    The dpIDs seem to be:
    Code: JSON
    Log in, to see the code

    I don't find the MCU on the board to sever the connection between them. What will be the easiest way to flash it?
    Thanks for putting me in the way ^^
  • ADVERTISEMENT
  • #5 21327046
    LennVilardi
    Level 2  
    Hi everyone,

    First of all, a big thank you for all your help so far—it’s been invaluable and has allowed me to make great progress.

    I finally took the plunge: I desoldered the board, flashed the firmware, and had to desolder it again (turns out I entered the wrong Wi-Fi password 🙃). Unfortunately, I couldn’t get the board into safe mode, even after multiple attempts at unplugging and replugging the power.

    Now, I’m stuck on the next step: converting the DPIDs I retrieved from my weather station into usable MQTT data for Home Assistant. Based on what I’ve gathered and the examples I’ve studied, here’s the configuration file I plan to use:
    /startDriver TuyaMCU
    tuyaMcu_defWiFiState 4
    tuyaMcu_setBaudRate 115200
    
    # Définition des canaux pour tous les codes
    setChannelType 1 Temperature_div10
    SetChannelLabel 1 "Température intérieure"
    linkTuyaMCUOutputToChannel 1 val 1
    mqtt_publishChannel 1 "sensor" "in_temperature" "°C"
    
    setChannelType 2 Humidity_div10
    SetChannelLabel 2 "Humidité intérieure"
    linkTuyaMCUOutputToChannel 2 val 2
    mqtt_publishChannel 2 "sensor" "in_humidity" "%"
    
    setChannelType 3 Custom
    SetChannelLabel 3 "Niveau de batterie"
    linkTuyaMCUOutputToChannel 3 val 3
    mqtt_publishChannel 3 "sensor" "battery_level" ""
    
    setChannelType 4 Custom
    SetChannelLabel 4 "Unité de température"
    linkTuyaMCUOutputToChannel 4 val 9
    mqtt_publishChannel 4 "sensor" "temperature_unit" ""
    
    setChannelType 5 Custom
    SetChannelLabel 5 "Unité de vitesse du vent"
    linkTuyaMCUOutputToChannel 5 val 10
    mqtt_publishChannel 5 "sensor" "wind_speed_unit" ""
    
    setChannelType 6 Custom
    SetChannelLabel 6 "Unité de pression atmosphérique"
    linkTuyaMCUOutputToChannel 6 val 11
    mqtt_publishChannel 6 "sensor" "air_pressure_unit" ""
    
    setChannelType 7 Custom
    SetChannelLabel 7 "Unité de précipitations"
    linkTuyaMCUOutputToChannel 7 val 12
    mqtt_publishChannel 7 "sensor" "rainfall_unit" ""
    
    setChannelType 8 Custom
    SetChannelLabel 8 "Unité d'intensité lumineuse"
    linkTuyaMCUOutputToChannel 8 val 13
    mqtt_publishChannel 8 "sensor" "light_intensity_unit" ""
    
    setChannelType 9 Custom
    SetChannelLabel 9 "Type de défaut"
    linkTuyaMCUOutputToChannel 9 val 22
    mqtt_publishChannel 9 "sensor" "fault_type" ""
    
    setChannelType 10 Custom
    SetChannelLabel 10 "Statut de batterie extérieure"
    linkTuyaMCUOutputToChannel 10 val 30
    mqtt_publishChannel 10 "sensor" "out_battery_status" ""
    
    setChannelType 11 Custom
    SetChannelLabel 11 "Statut de batterie canal 1"
    linkTuyaMCUOutputToChannel 11 val 31
    mqtt_publishChannel 11 "sensor" "ch1_battery_status" ""
    
    setChannelType 12 Custom
    SetChannelLabel 12 "Statut de batterie canal 2"
    linkTuyaMCUOutputToChannel 12 val 32
    mqtt_publishChannel 12 "sensor" "ch2_battery_status" ""
    
    setChannelType 13 Custom
    SetChannelLabel 13 "Statut de batterie canal 3"
    linkTuyaMCUOutputToChannel 13 val 33
    mqtt_publishChannel 13 "sensor" "ch3_battery_status" ""
    
    setChannelType 14 Temperature_div10
    SetChannelLabel 14 "Température extérieure"
    linkTuyaMCUOutputToChannel 14 val 38
    mqtt_publishChannel 14 "sensor" "out_temperature" "°C"
    
    setChannelType 15 Humidity_div10
    SetChannelLabel 15 "Humidité extérieure"
    linkTuyaMCUOutputToChannel 15 val 39
    mqtt_publishChannel 15 "sensor" "out_humidity" "%"
    
    setChannelType 16 Temperature_div10
    SetChannelLabel 16 "Température canal 1"
    linkTuyaMCUOutputToChannel 16 val 40
    mqtt_publishChannel 16 "sensor" "ch1_temperature" "°C"
    
    setChannelType 17 Humidity_div10
    SetChannelLabel 17 "Humidité canal 1"
    linkTuyaMCUOutputToChannel 17 val 41
    mqtt_publishChannel 17 "sensor" "ch1_humidity" "%"
    
    setChannelType 18 Temperature_div10
    SetChannelLabel 18 "Température canal 2"
    linkTuyaMCUOutputToChannel 18 val 42
    mqtt_publishChannel 18 "sensor" "ch2_temperature" "°C"
    
    setChannelType 19 Humidity_div10
    SetChannelLabel 19 "Humidité canal 2"
    linkTuyaMCUOutputToChannel 19 val 43
    mqtt_publishChannel 19 "sensor" "ch2_humidity" "%"
    
    setChannelType 20 Temperature_div10
    SetChannelLabel 20 "Température canal 3"
    linkTuyaMCUOutputToChannel 20 val 44
    mqtt_publishChannel 20 "sensor" "ch3_temperature" "°C"
    
    setChannelType 21 Humidity_div10
    SetChannelLabel 21 "Humidité canal 3"
    linkTuyaMCUOutputToChannel 21 val 45
    mqtt_publishChannel 21 "sensor" "ch3_humidity" "%"
    
    setChannelType 22 Custom
    SetChannelLabel 22 "Pression atmosphérique"
    linkTuyaMCUOutputToChannel 22 val 54
    mqtt_publishChannel 22 "sensor" "air_pressure" "hPa"
    
    setChannelType 23 Custom
    SetChannelLabel 23 "Chute de pression"
    linkTuyaMCUOutputToChannel 23 val 55
    mqtt_publishChannel 23 "sensor" "pressure_drop" "hPa"
    
    setChannelType 24 Custom
    SetChannelLabel 24 "Vitesse du vent"
    linkTuyaMCUOutputToChannel 24 val 56
    mqtt_publishChannel 24 "sensor" "wind_speed" "m/s"
    
    setChannelType 25 Custom
    SetChannelLabel 25 "Rafales de vent"
    linkTuyaMCUOutputToChannel 25 val 57
    mqtt_publishChannel 25 "sensor" "gust" "m/s"
    
    setChannelType 26 Custom
    SetChannelLabel 26 "Direction du vent"
    linkTuyaMCUOutputToChannel 26 val 58
    mqtt_publishChannel 26 "sensor" "wind_direction" ""
    
    setChannelType 27 Custom
    SetChannelLabel 27 "Précipitations quotidiennes"
    linkTuyaMCUOutputToChannel 27 val 60
    mqtt_publishChannel 27 "sensor" "daily_rainfall" "mm"
    
    setChannelType 28 Custom
    SetChannelLabel 28 "Taux de précipitations"
    linkTuyaMCUOutputToChannel 28 val 61
    mqtt_publishChannel 28 "sensor" "rain_rate" "mm/h"
    
    setChannelType 29 Custom
    SetChannelLabel 29 "Indice UV"
    linkTuyaMCUOutputToChannel 29 val 62
    mqtt_publishChannel 29 "sensor" "uv_index" ""
    
    setChannelType 30 Custom
    SetChannelLabel 30 "Intensité lumineuse"
    linkTuyaMCUOutputToChannel 30 val 63
    mqtt_publishChannel 30 "sensor" "light_intensity" "lux"
    
    setChannelType 31 Custom
    SetChannelLabel 31 "Point de rosée"
    linkTuyaMCUOutputToChannel 31 val 64
    mqtt_publishChannel 31 "sensor" "dew_point" "°C"
    
    setChannelType 32 Custom
    SetChannelLabel 32 "Température ressentie"
    linkTuyaMCUOutputToChannel 32 val 65
    mqtt_publishChannel 32 "sensor" "feels_like" "°C"
    
    setChannelType 33 Custom
    SetChannelLabel 33 "Indice de chaleur"
    linkTuyaMCUOutputToChannel 33 val 66
    mqtt_publishChannel 33 "sensor" "heat_index" "°C"
    
    setChannelType 34 Custom
    SetChannelLabel 34 "Windchill"
    linkTuyaMCUOutputToChannel 34 val 67
    mqtt_publishChannel 34 "sensor" "windchill" "°C"
    
    setChannelType 35 Custom
    SetChannelLabel 35 "Indice de confort"
    linkTuyaMCUOutputToChannel 35 val 68
    mqtt_publishChannel 35 "sensor" "comfort_index" ""
    
    setChannelType 36 Custom
    SetChannelLabel 36 "Degré"
    linkTuyaMCUOutputToChannel 36 val 101
    mqtt_publishChannel 36 "sensor" "degree" "°"
    
    setChannelType 37 Custom
    SetChannelLabel 37 "Max / Min"
    linkTuyaMCUOutputToChannel 37 val 102
    mqtt_publishChannel 37 "sensor" "max_min" ""
    
    setChannelType 38 Custom
    SetChannelLabel 38 "Type de canal"
    linkTuyaMCUOutputToChannel 38 val 103
    mqtt_publishChannel 38 "sensor" "channel_type" ""
    
    # Envoi des requêtes régulières
    alias sendQuery tuyaMcu_sendQueryState
    addRepeatingEvent 10 -1 sendQuery
    
    


    Could someone confirm if this configuration looks correct? My main concern is avoiding another desoldering session. If you see anything off, please let me know before I proceed further!

    Thanks again for your time and expertise! 🙏

    Added after 1 [hours] 2 [minutes]:

    Still digging, I've found Link after I've flashed the tuya device :(
    From the Tuya developper platform I've gathered code / type and values. I tried to make a json conf file
    {
        "modelId": "Smart 7-in-1 weather station",
        "services": [
            {
                "name": "Station météorologique Bresser 7 en 1",
                "code": "bresser_weather_station",
                "description": "Service de collecte et de transmission de données météorologiques",
                "properties": [
                    {
                        "code": "indoor_temperature",
                        "name": "Température intérieure",
                        "abilityId": 1,
                        "accessMode": "ro",
                        "typeSpec": {
                            "type": "value",
                            "unit": "℃",
                            "min": -40,
                            "max": 60,
                            "scale": 1,
                            "step": 1,
                            "typeDefaultValue": 0
                        }
                    },
                    {
                        "code": "indoor_humidity",
                        "name": "Humidité intérieure",
                        "abilityId": 2,
                        "accessMode": "ro",
                        "typeSpec": {
                            "type": "value",
                            "unit": "%",
                            "min": 0,
                            "max": 100,
                            "scale": 0,
                            "step": 1,
                            "typeDefaultValue": 0
                        }
                    },
                    {
                        "code": "battery_level",
                        "name": "Niveau de batterie",
                        "abilityId": 3,
                        "accessMode": "ro",
                        "typeSpec": {
                            "type": "enum",
                            "range": ["low", "high"],
                            "typeDefaultValue": "high"
                        }
                    },
                    {
                        "code": "temperature_unit",
                        "name": "Unité de température",
                        "abilityId": 9,
                        "accessMode": "rw",
                        "typeSpec": {
                            "type": "enum",
                            "range": ["c", "f"],
                            "typeDefaultValue": "c"
                        }
                    },
                    {
                        "code": "wind_speed_unit",
                        "name": "Unité de vitesse du vent",
                        "abilityId": 10,
                        "accessMode": "rw",
                        "typeSpec": {
                            "type": "enum",
                            "range": ["mph"],
                            "typeDefaultValue": "mph"
                        }
                    },
                    {
                        "code": "air_pressure_unit",
                        "name": "Unité de pression atmosphérique",
                        "abilityId": 11,
                        "accessMode": "rw",
                        "typeSpec": {
                            "type": "enum",
                            "range": ["hpa", "inhg", "mmhg"],
                            "typeDefaultValue": "hpa"
                        }
                    },
                    {
                        "code": "rainfall_unit",
                        "name": "Unité de précipitations",
                        "abilityId": 12,
                        "accessMode": "rw",
                        "typeSpec": {
                            "type": "enum",
                            "range": ["mm", "inch"],
                            "typeDefaultValue": "mm"
                        }
                    },
                    {
                        "code": "light_intensity_unit",
                        "name": "Unité d'intensité lumineuse",
                        "abilityId": 13,
                        "accessMode": "rw",
                        "typeSpec": {
                            "type": "enum",
                            "range": ["lux", "fc", "wm2"],
                            "typeDefaultValue": "lux"
                        }
                    },
                    {
                        "code": "fault_type",
                        "name": "Type de défaut",
                        "abilityId": 22,
                        "accessMode": "ro",
                        "typeSpec": {
                            "type": "enum",
                            "range": [
                                "normal", 
                                "ch1_offline", 
                                "ch2_offline", 
                                "ch3_offline", 
                                "offline"
                            ],
                            "typeDefaultValue": "normal"
                        }
                    },
                    {
                        "code": "outdoor_battery_status",
                        "name": "Statut de batterie extérieure",
                        "abilityId": 30,
                        "accessMode": "ro",
                        "typeSpec": {
                            "type": "enum",
                            "range": ["low", "high"],
                            "typeDefaultValue": "high"
                        }
                    },
                    {
                        "code": "channel1_battery_status",
                        "name": "Statut de batterie du canal 1",
                        "abilityId": 31,
                        "accessMode": "ro",
                        "typeSpec": {
                            "type": "enum",
                            "range": ["low", "high"],
                            "typeDefaultValue": "high"
                        }
                    },
                    {
                        "code": "channel2_battery_status",
                        "name": "Statut de batterie du canal 2",
                        "abilityId": 32,
                        "accessMode": "ro",
                        "typeSpec": {
                            "type": "enum",
                            "range": ["low", "high"],
                            "typeDefaultValue": "high"
                        }
                    },
                    {
                        "code": "channel3_battery_status",
                        "name": "Statut de batterie du canal 3",
                        "abilityId": 33,
                        "accessMode": "ro",
                        "typeSpec": {
                            "type": "enum",
                            "range": ["low", "high"],
                            "typeDefaultValue": "high"
                        }
                    },
                    {
                        "code": "outdoor_temperature",
                        "name": "Température extérieure",
                        "abilityId": 38,
                        "accessMode": "ro",
                        "typeSpec": {
                            "type": "value",
                            "unit": "℃",
                            "min": -40,
                            "max": 60,
                            "scale": 1,
                            "step": 1,
                            "typeDefaultValue": 0
                        }
                    },
                    {
                        "code": "outdoor_humidity",
                        "name": "Humidité extérieure",
                        "abilityId": 39,
                        "accessMode": "ro",
                        "typeSpec": {
                            "type": "value",
                            "unit": "%",
                            "min": 0,
                            "max": 100,
                            "scale": 0,
                            "step": 1,
                            "typeDefaultValue": 0
                        }
                    },
                    {
                        "code": "channel1_temperature",
                        "name": "Température du canal 1",
                        "abilityId": 40,
                        "accessMode": "ro",
                        "typeSpec": {
                            "type": "value",
                            "unit": "℃",
                            "min": -40,
                            "max": 60,
                            "scale": 1,
                            "step": 1,
                            "typeDefaultValue": 0
                        }
                    },
                    {
                        "code": "channel1_humidity",
                        "name": "Humidité du canal 1",
                        "abilityId": 41,
                        "accessMode": "ro",
                        "typeSpec": {
                            "type": "value",
                            "unit": "%",
                            "min": 0,
                            "max": 100,
                            "scale": 0,
                            "step": 1,
                            "typeDefaultValue": 0
                        }
                    },
                    {
                        "code": "channel2_temperature",
                        "name": "Température du canal 2",
                        "abilityId": 42,
                        "accessMode": "ro",
                        "typeSpec": {
                            "type": "value",
                            "unit": "℃",
                            "min": -40,
                            "max": 60,
                            "scale": 1,
                            "step": 1,
                            "typeDefaultValue": 0
                        }
                    },
                    {
                        "code": "channel2_humidity",
                        "name": "Humidité du canal 2",
                        "abilityId": 43,
                        "accessMode": "ro",
                        "typeSpec": {
                            "type": "value",
                            "unit": "%",
                            "min": 0,
                            "max": 100,
                            "scale": 0,
                            "step": 1,
                            "typeDefaultValue": 0
                        }
                    },
                    {
                        "code": "channel3_temperature",
                        "name": "Température du canal 3",
                        "abilityId": 44,
                        "accessMode": "ro",
                        "typeSpec": {
                            "type": "value",
                            "unit": "℃",
                            "min": -40,
                            "max": 60,
                            "scale": 1,
                            "step": 1,
                            "typeDefaultValue": 0
                        }
                    },
                    {
                        "code": "channel3_humidity",
                        "name": "Humidité du canal 3",
                        "abilityId": 45,
                        "accessMode": "ro",
                        "typeSpec": {
                            "type": "value",
                            "unit": "%",
                            "min": 0,
                            "max": 100,
                            "scale": 0,
                            "step": 1,
                            "typeDefaultValue": 0
                        }
                    },
                    {
                        "code": "air_pressure",
                        "name": "Pression atmosphérique",
                        "abilityId": 54,
                        "accessMode": "ro",
                        "typeSpec": {
                            "type": "value",
                            "unit": "hPa",
                            "min": 300,
                            "max": 1200,
                            "scale": 1,
                            "step": 1,
                            "typeDefaultValue": 1013
                        }
                    },
                    {
                        "code": "pressure_drop",
                        "name": "Chute de pression",
                        "abilityId": 55,
                        "accessMode": "ro",
                        "typeSpec": {
                            "type": "value",
                            "unit": "hPa",
                            "min": 0,
                            "max": 15,
                            "scale": 0,
                            "step": 1,
                            "typeDefaultValue": 0
                        }
                    },
                    {
                        "code": "wind_speed",
                        "name": "Vitesse du vent",
                        "abilityId": 56,
                        "accessMode": "ro",
                        "typeSpec": {
                            "type": "value",
                            "unit": "m/s",
                            "min": 0,
                            "max": 70,
                            "scale": 1,
                            "step": 1,
                            "typeDefaultValue": 0
                        }
                    },
                    {
                        "code": "wind_gust",
                        "name": "Rafales de vent",
                        "abilityId": 57,
                        "accessMode": "ro",
                        "typeSpec": {
                            "type": "value",
                            "unit": "m/s",
                            "min": 0,
                            "max": 70,
                            "scale": 1,
                            "step": 1,
                            "typeDefaultValue": 0
                        }
                    },
                    {
                        "code": "wind_direction",
                        "name": "Direction du vent",
                        "abilityId": 58,
                        "accessMode": "ro",
                        "typeSpec": {
                            "type": "enum",
                            "range": [
                                "north", "north_north_east", "north_east", 
                                "east_north_east", "east", "east_south_east", 
                                "south_east", "south_south_east", "south", 
                                "south_south_west", "south_west", "west_south_west", 
                                "west", "west_north_west", "north_west", 
                                "north_north_west"
                            ],
                            "typeDefaultValue": "north"
                        }
                    },
                    {
                        "code": "daily_rainfall",
                        "name": "Précipitations quotidiennes",
                        "abilityId": 60,
                        "accessMode": "ro",
                        "typeSpec": {
                            "type": "value",
                            "unit": "mm",
                            "min": 0,
                            "max": 1000,
                            "scale": 3,
                            "step": 1,
                            "typeDefaultValue": 0
                        }
                    },
                    {
                        "code": "rain_rate",
                        "name": "Taux de précipitations",
                        "abilityId": 61,
                        "accessMode": "ro",
                        "typeSpec": {
                            "type": "value",
                            "unit": "mm",
                            "min": 0,
                            "max": 1000,
                            "scale": 3,
                            "step": 1,
                            "typeDefaultValue": 0
                        }
                    },
                    {
                        "code": "uv_index",
                        "name": "Indice UV",
                        "abilityId": 62,
                        "accessMode": "ro",
                        "typeSpec": {
                            "type": "value",
                            "unit": "",
                            "min": 0,
                            "max": 180,
                            "scale": 1,
                            "step": 1,
                            "typeDefaultValue": 0
                        }
                    },
                    {
                        "code": "light_intensity",
                        "name": "Intensité lumineuse",
                        "abilityId": 63,
                        "accessMode": "ro",
                        "typeSpec": {
                            "type": "value",
                            "unit": "lux",
                            "min": 0,
                            "max": 238000,
                            "scale": 0,
                            "step": 100,
                            "typeDefaultValue": 0
                        }
                    },
                    {
                        "code": "dew_point",
                        "name": "Point de rosée",
                        "abilityId": 64,
                        "accessMode": "ro",
                        "typeSpec": {
                            "type": "value",
                            "unit": "℃",
                            "min": -40,
                            "max": 80,
                            "scale": 1,
                            "step": 1,
                            "typeDefaultValue": 0
                        }
                    },
                    {
                        "code": "feels_like",
                        "name": "Température ressentie",
                        "abilityId": 65,
                        "accessMode": "ro",
                        "typeSpec": {
                            "type": "value",
                            "unit": "℃",
                            "min": -65,
                            "max": 50,
                            "scale":
                        {
                            "code": "heat_index",
                            "name": "Indice de chaleur",
                            "abilityId": 66,
                            "accessMode": "ro",
                            "typeSpec": {
                                "type": "value",
                                "unit": "℃",
                                "min": 26,
                                "max": 50,
                                "scale": 1,
                                "step": 1,
                                "typeDefaultValue": 0
                            }
                        },
                        {
                            "code": "windchill",
                            "name": "Température ressentie par vent froid",
                            "abilityId": 67,
                            "accessMode": "ro",
                            "typeSpec": {
                                "type": "value",
                                "unit": "℃",
                                "min": -65,
                                "max": 60,
                                "scale": 1,
                                "step": 1,
                                "typeDefaultValue": 0
                            }
                        },
                        {
                            "code": "comfort_index",
                            "name": "Indice de confort",
                            "abilityId": 68,
                            "accessMode": "ro",
                            "typeSpec": {
                                "type": "value",
                                "unit": "℃",
                                "min": -40,
                                "max": 50,
                                "scale": 1,
                                "step": 1,
                                "typeDefaultValue": 0
                            }
                        },
                        {
                            "code": "degree",
                            "name": "Degré",
                            "abilityId": 101,
                            "accessMode": "ro",
                            "typeSpec": {
                                "type": "value",
                                "unit": "°",
                                "min": 0,
                                "max": 360,
                                "scale": 1,
                                "step": 1,
                                "typeDefaultValue": 0
                            }
                        },
                        {
                            "code": "max_min",
                            "name": "Maximum / Minimum",
                            "abilityId": 102,
                            "accessMode": "ro",
                            "typeSpec": {
                                "type": "enum",
                                "range": ["max", "min"],
                                "typeDefaultValue": "max"
                            }
                        },
                        {
                            "code": "channel_type",
                            "name": "Type de canal",
                            "abilityId": 103,
                            "accessMode": "ro",
                            "typeSpec": {
                                "type": "enum",
                                "range": ["indoor", "outdoor", "supplementary"],
                                "typeDefaultValue": "indoor"
                            }
                        }
                    ]
                }
            ]
        }
ADVERTISEMENT