public BME280(Topic pin) {
if(pin==null) {
throw new ArgumentNullException();
}
if(pin.name=="BME280_T") {
_T=pin as DVar<double>;
if(_T==null) {
throw new ArgumentException();
}
_P=_T.parent.Get<long>("BME280_P");
_H=_T.parent.Get<double>("BME280_H");
} else if(pin.name=="BME280_P") {
_P=pin as DVar<long>;
if(_P==null) {
throw new ArgumentException();
}
_T=_P.parent.Get<double>("BME280_T");
_H=_P.parent.Get<double>("BME280_H");
} else if(pin.name=="BME280_H") {
_H=pin as DVar<double>;
if(_H==null) {
throw new ArgumentException();
}
_P=_H.parent.Get<long>("BME280_P");
_T=_H.parent.Get<double>("BME280_T");
} else {
throw new ArgumentException();
}
_present=_T.Get<bool>("present");
_present.saved=false;
_present.value=false;
Reset();
}
public override bool VarChanged(Topic snd, bool delete) {