package mqttclient import ( "fmt" "strconv" "strings" "github.com/AFASystems/presence/internal/pkg/model" ) func IncomingBeaconFilter(incoming model.Incoming_json) model.Incoming_json { out_json := incoming if incoming.Beacon_type == "hb_button" { raw_data := incoming.Data hb_button_prefix_str := fmt.Sprintf("02010612FF5900") if strings.HasPrefix(raw_data, hb_button_prefix_str) { out_json.Namespace = "ddddeeeeeeffff5544ff" counter_str := fmt.Sprintf("0x%s", raw_data[22:24]) counter, _ := strconv.ParseInt(counter_str, 0, 64) out_json.HB_ButtonCounter = counter battery_str := fmt.Sprintf("0x%s%s", raw_data[20:22], raw_data[18:20]) battery, _ := strconv.ParseInt(battery_str, 0, 64) out_json.HB_Battery = battery out_json.TX_power = fmt.Sprintf("0x%s", "4") out_json.Beacon_type = "hb_button" out_json.HB_ButtonMode = "presence_button" } } return out_json }