Wed, 12 Apr 2023 16:23:02 +0200
Reduced I2C master speed from 400 to 100 Khz. Hope to get power-on init for BMP280 more reliable. Added warnings for I2C devices that are missing. Some logmessages reduced to debug log messages. Added extra 10 mSec delays before read shunt voltage in the INA219 task. Removed and reduced log levels in the MQTT task. Show received data events. Remove WiFi total time debug logging, it's ok now.
# frozen_string_literal: true class Group VALID_KEYS = %w[name description].freeze def initialize(arg) validate_arg(arg) validate_keys(arg) if arg.is_a? Hash @metadata = if arg.is_a? String { "name" => arg } else arg end end def validate_keys(arg) arg.each_key do |k| raise ArgumentError, "unknown key: `#{k}`. valid keys are: #{VALID_KEYS.join(' ')}" unless VALID_KEYS.include? k end raise ArgumentError, "a key, `name` is required, but missing" unless arg.key?("name") end def validate_arg(arg) raise ArgumentError, "argument must be String or Hash" unless arg.is_a?(String) || arg.is_a?(Hash) end def name? @metadata.key?("name") end def name @metadata["name"] end def description? @metadata.key?("description") end def description @metadata["description"] end def to_s @metadata["name"] end end