func (r *SensorChannel) SetMaxErrLimit(limit int) *SensorChannel {
	r.LimitMode = "1"
	r.LimitMaxError = strconv.Itoa(limit)
	return r
}
Define an upper error limit for the channel.
If enabled, the sensor will be set to a Down status if this value is overrun.
package prtg
import (
	"fmt"
	"strconv"
)
type SensorChannel struct {
	Channel string `json:"channel"`
	Value   string `json:"value"`
	ValueMode       string `json:"mode,omitempty"`
	Unit            string `json:"unit,omitempty"`
	CustomUnit      string `json:"customunit,omitempty"`
	ValueLookup     string `json:"valuelookup,omitempty"`
	VolumeSize      string `json:"volumesize,omitempty"`
	SpeedSize       string `json:"speedsize,omitempty"`
	SpeedTime       string `json:"speedtime,omitempty"`
	Float           string `json:"float,omitempty"`
	DecimalMode     string `json:"decimalmode,omitempty"`
	ShowChart       string `json:"showchart,omitempty"`
	ShowTable       string `json:"showtable,omitempty"`
	LimitMinWarning string `json:"limitminwarning,omitempty"`
	LimitMaxWarning string `json:"limitmaxwarning,omitempty"`
	LimitWarningMsg string `json:"limitwarningmsg,omitempty"`
	LimitMinError   string `json:"limitminerror,omitempty"`
	LimitMaxError   string `json:"limitmaxerror,omitempty"`
	LimitErrorMsg   string `json:"limiterrormsg,omitempty"`
	LimitMode       string `json:"limitmode,omitempty"`
	Warning         string `json:"warning,omitempty"`
}
func (r *SensorChannel) SetUnit(unit UnitType) *SensorChannel {
	r.Unit = string(unit)
	return r
}
func (r *SensorChannel) SetCustomUnit(unit string) *SensorChannel {
	r.Unit = "Custom"
	r.CustomUnit = unit
	return r
}
func (r *SensorChannel) SetValueLookup(lookup string) *SensorChannel {
	r.ValueLookup = lookup
	return r
}
func (r *SensorChannel) SetVolumeSize(size SizeType) *SensorChannel {
	r.VolumeSize = string(size)
	return r
}
func (r *SensorChannel) SetSpeedSize(size SpeedType) *SensorChannel {
	r.SpeedSize = string(size)
	return r
}
func (r *SensorChannel) SetSpeedTime(time TimeType) *SensorChannel {
	r.SpeedTime = string(time)
	return r
}
func (r *SensorChannel) SetValue(val interface{}) *SensorChannel {
	switch t := val.(type) {
	case float32, float64:
		r.Float = "1"
		r.Value = fmt.Sprintf("%v", t)
	case int8, uint8, int16, uint16, int32, uint32, uint64, int64, uint, int, string:
		r.Float = "0"
		r.Value = fmt.Sprintf("%v", t)
	case bool:
		r.Float = "0"
		r.Value = "0"
		if t {
			r.Value = "1"
		}
	default:
		fmt.Printf("type of %v is not supported\n", t)
	}
	return r
}
func (r *SensorChannel) ValueIsDifference() *SensorChannel {
	r.ValueMode = "Difference"
	return r
}
func (r *SensorChannel) SetDecimalMode(mode DecimalModeType) *SensorChannel {
	r.DecimalMode = string(mode)
	return r
}
func (r *SensorChannel) SetMaxWarnLimit(limit int) *SensorChannel {
	r.LimitMode = "1"
	r.LimitMaxWarning = strconv.Itoa(limit)
	return r
}
func (r *SensorChannel) SetMinWarnLimit(limit int) *SensorChannel {
	r.LimitMode = "1"
	r.LimitMinWarning = strconv.Itoa(limit)
	return r
}
func (r *SensorChannel) SetWarnLimitMsg(msg string) *SensorChannel {
	r.LimitWarningMsg = msg
	return r
}