Jak odróżnić licznik 1F oraz 3F

krycha88
Posts: 5575
Joined: Fri Nov 16, 2018 7:25 am
Been thanked: 5 times

Post

Code: Select all

auto channel = getChanelByChannelNumber(oled[state->currentFrame].chanelSensor);

  if (channel) {
    TSuplaChannelExtendedValue* extValue = channel->getExtValue();
    if (extValue == nullptr)
      return;

    TElectricityMeter_ExtendedValue_V2* emValue = reinterpret_cast<TElectricityMeter_ExtendedValue_V2*>(extValue->value);
    if (emValue->m_count < 1 || emValue == nullptr)
      return;

    displayUiGeneral(display, state, x, y, String(emValue->m[0].power_active[0] / 100000.0, 1), "W");
  }
Jest to przykładowy kod dzięki któremu odczytuje wartości z 1 fazy. Czy można jakoś odróżnić te kanały od siebie?
https://gui-generic-builder.supla.io/
User avatar
klew
Posts: 13907
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 134 times
Been thanked: 137 times

Post

krycha88 wrote: Wed Sep 20, 2023 1:12 pm

Code: Select all

auto channel = getChanelByChannelNumber(oled[state->currentFrame].chanelSensor);

  if (channel) {
    TSuplaChannelExtendedValue* extValue = channel->getExtValue();
    if (extValue == nullptr)
      return;

    TElectricityMeter_ExtendedValue_V2* emValue = reinterpret_cast<TElectricityMeter_ExtendedValue_V2*>(extValue->value);
    if (emValue->m_count < 1 || emValue == nullptr)
      return;

    displayUiGeneral(display, state, x, y, String(emValue->m[0].power_active[0] / 100000.0, 1), "W");
  }
Jest to przykładowy kod dzięki któremu odczytuje wartości z 1 fazy. Czy można jakoś odróżnić te kanały od siebie?
Jednofazowe mają ustawione:

Code: Select all

    extChannel.setFlag(SUPLA_CHANNEL_FLAG_PHASE2_UNSUPPORTED);
    extChannel.setFlag(SUPLA_CHANNEL_FLAG_PHASE3_UNSUPPORTED);
Także po tych flagach można to odczytać
Najlepsze suple dla Twojego domu :mrgreen:

Return to “supla-dev”