mirror of
https://github.com/arendst/Tasmota.git
synced 2025-04-24 23:07:17 +00:00
Matter add friendly-name (NodeLabel) to each endpoint (#18897)
This commit is contained in:
parent
b2fd311186
commit
4a3b6457ca
@ -11,6 +11,7 @@ All notable changes to this project will be documented in this file.
|
||||
- Matter redesigned UI
|
||||
- Matter add support for Contact Sensor
|
||||
- Berry `string.format()` now automatically converts type according to format
|
||||
- Matter add friendly-name (NodeLabel) to each endpoint
|
||||
|
||||
### Breaking Changed
|
||||
|
||||
|
@ -698,7 +698,7 @@ class Matter_Device
|
||||
var param_log = ''
|
||||
for k:_class.k2l(plugin_conf)
|
||||
if k == 'type' continue end
|
||||
param_log += string.format(" %s = %s", k, plugin_conf[k])
|
||||
param_log += string.format(" %s:%s", k, plugin_conf[k])
|
||||
end
|
||||
return param_log
|
||||
end
|
||||
@ -718,7 +718,7 @@ class Matter_Device
|
||||
|
||||
# start with mandatory endpoint 0 for root node
|
||||
self.plugins.push(matter.Plugin_Root(self, 0, {}))
|
||||
tasmota.log(string.format("MTR: endpoint = %5i type = %s%s", 0, 'root', ''), 2)
|
||||
tasmota.log(string.format("MTR: endpoint = %5i type:%s%s", 0, 'root', ''), 2)
|
||||
|
||||
# always include an aggregator for dynamic endpoints
|
||||
self.plugins.push(matter.Plugin_Aggregator(self, 0xFF00, {}))
|
||||
@ -738,12 +738,12 @@ class Matter_Device
|
||||
var pi = pi_class(self, ep, plugin_conf)
|
||||
self.plugins.push(pi)
|
||||
|
||||
tasmota.log(string.format("MTR: endpoint = %5i type = %s%s", ep, pi_class_name, self.conf_to_log(plugin_conf)), 2)
|
||||
tasmota.log(string.format("MTR: endpoint = %5i type:%s%s", ep, pi_class_name, self.conf_to_log(plugin_conf)), 2)
|
||||
except .. as e, m
|
||||
tasmota.log("MTR: Exception" + str(e) + "|" + str(m), 2)
|
||||
end
|
||||
end
|
||||
tasmota.log(string.format("MTR: endpoint = %5i type = %s%s", 0xFF00, 'aggregator', ''), 2)
|
||||
tasmota.log(string.format("MTR: endpoint = %5i type:%s%s", 0xFF00, 'aggregator', ''), 2)
|
||||
|
||||
tasmota.publish_result('{"Matter":{"Initialized":1}}', 'Matter')
|
||||
end
|
||||
@ -1260,7 +1260,7 @@ class Matter_Device
|
||||
pi_conf[k] = plugin_conf[k]
|
||||
end
|
||||
# add to main
|
||||
tasmota.log(string.format("MTR: adding endpoint = %i type = %s%s", ep, pi_class_name, self.conf_to_log(plugin_conf)), 2)
|
||||
tasmota.log(string.format("MTR: adding endpoint = %i type:%s%s", ep, pi_class_name, self.conf_to_log(plugin_conf)), 2)
|
||||
self.plugins_config[ep_str] = pi_conf
|
||||
self.plugins_persist = true
|
||||
self.next_ep += 1 # increment next allocated endpoint before saving
|
||||
|
@ -24,6 +24,7 @@ import matter
|
||||
# dummy declaration for solidification
|
||||
class Matter_Plugin_Device end
|
||||
|
||||
#@ solidify:Matter_Plugin_Bridge_HTTP.GetOptionReader,weak
|
||||
#@ solidify:Matter_Plugin_Bridge_HTTP,weak
|
||||
|
||||
class Matter_Plugin_Bridge_HTTP : Matter_Plugin_Device
|
||||
@ -209,9 +210,20 @@ class Matter_Plugin_Bridge_HTTP : Matter_Plugin_Device
|
||||
# web_values
|
||||
#
|
||||
# Show values of the remote device as HTML
|
||||
static var PREFIX = "| <i>%s</i> "
|
||||
def web_values()
|
||||
import webserver
|
||||
webserver.content_send("| <-- (" + self.NAME + ") -->")
|
||||
import string
|
||||
self.web_values_prefix()
|
||||
webserver.content_send("<-- (" + self.NAME + ") -->")
|
||||
end
|
||||
|
||||
# Show prefix before web value
|
||||
def web_values_prefix()
|
||||
import webserver
|
||||
import string
|
||||
var name = self.get_name()
|
||||
webserver.content_send(string.format(self.PREFIX, name ? webserver.html_escape(name) : ""))
|
||||
end
|
||||
|
||||
# Show on/off value as html
|
||||
@ -219,5 +231,52 @@ class Matter_Plugin_Bridge_HTTP : Matter_Plugin_Device
|
||||
var onoff_html = (onoff != nil ? (onoff ? "<b>On</b>" : "Off") : "")
|
||||
return onoff_html
|
||||
end
|
||||
|
||||
#############################################################
|
||||
# GetOption reader to decode `SetOption<x>` values from `Status 3`
|
||||
static class GetOptionReader
|
||||
var flag, flag2, flag3, flag4, flag5, flag6
|
||||
|
||||
def init(j)
|
||||
if j == nil raise "value_error", "invalid json" end
|
||||
var so = j['SetOption']
|
||||
self.flag = bytes().fromhex(so[0]).reverse()
|
||||
self.flag2 = bytes().fromhex(so[1])
|
||||
self.flag3 = bytes().fromhex(so[2]).reverse()
|
||||
self.flag4 = bytes().fromhex(so[3]).reverse()
|
||||
self.flag5 = bytes().fromhex(so[4]).reverse()
|
||||
self.flag6 = bytes().fromhex(so[5]).reverse()
|
||||
end
|
||||
def getoption(x)
|
||||
if x < 32 # SetOption0 .. 31 = Settings->flag
|
||||
return self.flag.getbits(x, 1)
|
||||
elif x < 50 # SetOption32 .. 49 = Settings->param
|
||||
return self.flag2.get(x - 32, 1)
|
||||
elif x < 82 # SetOption50 .. 81 = Settings->flag3
|
||||
return self.flag3.getbits(x - 50, 1)
|
||||
elif x < 114 # SetOption82 .. 113 = Settings->flag4
|
||||
return self.flag4.getbits(x - 82, 1)
|
||||
elif x < 146 # SetOption114 .. 145 = Settings->flag5
|
||||
return self.flag5.getbits(x - 114, 1)
|
||||
elif x < 178 # SetOption146 .. 177 = Settings->flag6
|
||||
return self.flag6.getbits(x - 146, 1)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
#- Examples
|
||||
|
||||
import json
|
||||
|
||||
var p = '{"SerialLog":2,"WebLog":3,"MqttLog":0,"SysLog":0,"LogHost":"","LogPort":514,"SSId":["Livebox-781A",""],"TelePeriod":300,"Resolution":"558180C0","SetOption":["00008009","2805C80001800600003C5A0A192800000000","00000080","00006000","00006000","00000020"]}'
|
||||
var j = json.load(p)
|
||||
|
||||
var gor = matter.Plugin_Bridge_HTTP.GetOptionReader(j)
|
||||
assert(gor.getoption(151) == 1)
|
||||
assert(gor.getoption(150) == 0)
|
||||
assert(gor.getoption(32) == 40)
|
||||
assert(gor.getoption(37) == 128)
|
||||
|
||||
-#
|
||||
end
|
||||
matter.Plugin_Bridge_HTTP = Matter_Plugin_Bridge_HTTP
|
||||
|
@ -145,7 +145,19 @@ class Matter_Plugin_Bridge_Light0 : Matter_Plugin_Bridge_HTTP
|
||||
def web_values()
|
||||
import webserver
|
||||
import string
|
||||
webserver.content_send(string.format("| Light %s", self.web_value_onoff(self.shadow_onoff)))
|
||||
self.web_values_prefix() # display '| ' and name if present
|
||||
webserver.content_send(string.format("%s", self.web_value_onoff(self.shadow_onoff)))
|
||||
end
|
||||
|
||||
# Show prefix before web value
|
||||
def web_values_prefix()
|
||||
import webserver
|
||||
import string
|
||||
var name = self.get_name()
|
||||
if !name
|
||||
name = "Power" + str(self.tasmota_relay_index)
|
||||
end
|
||||
webserver.content_send(string.format(self.PREFIX, name ? webserver.html_escape(name) : ""))
|
||||
end
|
||||
|
||||
end
|
||||
|
@ -173,7 +173,8 @@ class Matter_Plugin_Bridge_Light1 : Matter_Plugin_Bridge_Light0
|
||||
def web_values()
|
||||
import webserver
|
||||
import string
|
||||
webserver.content_send(string.format("| Light %s %s", self.web_value_onoff(self.shadow_onoff), self.web_value_dimmer()))
|
||||
self.web_values_prefix() # display '| ' and name if present
|
||||
webserver.content_send(string.format("%s %s", self.web_value_onoff(self.shadow_onoff), self.web_value_dimmer()))
|
||||
end
|
||||
|
||||
# Show on/off value as html
|
||||
|
@ -175,7 +175,8 @@ class Matter_Plugin_Bridge_Light2 : Matter_Plugin_Bridge_Light1
|
||||
def web_values()
|
||||
import webserver
|
||||
import string
|
||||
webserver.content_send(string.format("| Light %s %s %s",
|
||||
self.web_values_prefix() # display '| ' and name if present
|
||||
webserver.content_send(string.format("%s %s %s",
|
||||
self.web_value_onoff(self.shadow_onoff), self.web_value_dimmer(),
|
||||
self.web_value_ct()))
|
||||
end
|
||||
|
@ -201,7 +201,8 @@ class Matter_Plugin_Bridge_Light3 : Matter_Plugin_Bridge_Light1
|
||||
def web_values()
|
||||
import webserver
|
||||
import string
|
||||
webserver.content_send(string.format("| Light %s %s %s",
|
||||
self.web_values_prefix() # display '| ' and name if present
|
||||
webserver.content_send(string.format("%s %s %s",
|
||||
self.web_value_onoff(self.shadow_onoff), self.web_value_dimmer(),
|
||||
self.web_value_RGB()))
|
||||
end
|
||||
|
@ -39,7 +39,8 @@ class Matter_Plugin_Bridge_OnOff : Matter_Plugin_Bridge_Light0
|
||||
def web_values()
|
||||
import webserver
|
||||
import string
|
||||
webserver.content_send(string.format("| Relay %i %s", self.tasmota_relay_index, self.web_value_onoff(self.shadow_onoff)))
|
||||
self.web_values_prefix() # display '| ' and name if present
|
||||
webserver.content_send(string.format("Relay %i %s", self.tasmota_relay_index, self.web_value_onoff(self.shadow_onoff)))
|
||||
end
|
||||
|
||||
end
|
||||
|
@ -98,5 +98,14 @@ class Matter_Plugin_Bridge_Sensor : Matter_Plugin_Bridge_HTTP
|
||||
return ""
|
||||
end
|
||||
|
||||
# Show prefix before web value
|
||||
def web_values_prefix()
|
||||
import webserver
|
||||
import string
|
||||
var name = self.get_name()
|
||||
if (!name) name = self.filter_name_html() end
|
||||
webserver.content_send(string.format(self.PREFIX, name ? webserver.html_escape(name) : ""))
|
||||
end
|
||||
|
||||
end
|
||||
matter.Plugin_Bridge_Sensor = Matter_Plugin_Bridge_Sensor
|
||||
|
@ -103,8 +103,19 @@ class Matter_Plugin_Bridge_Sensor_Contact : Matter_Plugin_Bridge_HTTP
|
||||
def web_values()
|
||||
import webserver
|
||||
import string
|
||||
webserver.content_send(string.format("| Contact%i %s", self.tasmota_switch_index, self.web_value_onoff(self.shadow_contact)))
|
||||
self.web_values_prefix() # display '| ' and name if present
|
||||
webserver.content_send(string.format("Contact%i %s", self.tasmota_switch_index, self.web_value_onoff(self.shadow_contact)))
|
||||
end
|
||||
|
||||
# Show prefix before web value
|
||||
def web_values_prefix()
|
||||
import webserver
|
||||
import string
|
||||
var name = self.get_name()
|
||||
if !name
|
||||
name = "Switch" + str(self.tasmota_switch_index)
|
||||
end
|
||||
webserver.content_send(string.format(self.PREFIX, name ? webserver.html_escape(name) : ""))
|
||||
end
|
||||
end
|
||||
matter.Plugin_Bridge_Sensor_Contact = Matter_Plugin_Bridge_Sensor_Contact
|
||||
|
@ -92,8 +92,8 @@ class Matter_Plugin_Bridge_Sensor_Humidity : Matter_Plugin_Bridge_Sensor
|
||||
def web_values()
|
||||
import webserver
|
||||
import string
|
||||
webserver.content_send(string.format("| %s 💧 %2.0f%%",
|
||||
self.filter_name_html(),
|
||||
self.web_values_prefix() # display '| ' and name if present
|
||||
webserver.content_send(string.format("💧 %2.0f%%",
|
||||
self.shadow_value != nil ? real(self.shadow_value) / 100 : nil))
|
||||
end
|
||||
|
||||
|
@ -99,8 +99,8 @@ class Matter_Plugin_Bridge_Sensor_Illuminance : Matter_Plugin_Bridge_Sensor
|
||||
def web_values()
|
||||
import webserver
|
||||
import string
|
||||
webserver.content_send(string.format("| %s 🔅 %ilux",
|
||||
self.filter_name_html(),
|
||||
self.web_values_prefix() # display '| ' and name if present
|
||||
webserver.content_send(string.format("🔅 %ilux",
|
||||
int(self.shadow_value)))
|
||||
end
|
||||
|
||||
|
@ -107,8 +107,19 @@ class Matter_Plugin_Bridge_Sensor_Occupancy : Matter_Plugin_Bridge_HTTP
|
||||
def web_values()
|
||||
import webserver
|
||||
import string
|
||||
webserver.content_send(string.format("| Occupancy%i %s", self.tasmota_switch_index, self.web_value_onoff(self.shadow_occupancy)))
|
||||
self.web_values_prefix() # display '| ' and name if present
|
||||
webserver.content_send(string.format("Occupancy%i %s", self.tasmota_switch_index, self.web_value_onoff(self.shadow_occupancy)))
|
||||
end
|
||||
|
||||
# Show prefix before web value
|
||||
def web_values_prefix()
|
||||
import webserver
|
||||
import string
|
||||
var name = self.get_name()
|
||||
if !name
|
||||
name = "Switch" + str(self.tasmota_switch_index)
|
||||
end
|
||||
webserver.content_send(string.format(self.PREFIX, name ? webserver.html_escape(name) : ""))
|
||||
end
|
||||
end
|
||||
matter.Plugin_Bridge_Sensor_Occupancy = Matter_Plugin_Bridge_Sensor_Occupancy
|
||||
|
@ -92,8 +92,8 @@ class Matter_Plugin_Bridge_Sensor_Pressure : Matter_Plugin_Bridge_Sensor
|
||||
def web_values()
|
||||
import webserver
|
||||
import string
|
||||
webserver.content_send(string.format("| %s ⛅ %i hPa",
|
||||
self.filter_name_html(),
|
||||
self.web_values_prefix() # display '| ' and name if present
|
||||
webserver.content_send(string.format("⛅ %i hPa",
|
||||
int(self.shadow_value)))
|
||||
end
|
||||
|
||||
|
@ -92,8 +92,8 @@ class Matter_Plugin_Bridge_Sensor_Temp : Matter_Plugin_Bridge_Sensor
|
||||
def web_values()
|
||||
import webserver
|
||||
import string
|
||||
webserver.content_send(string.format("| %s ☀️ %.1f °C",
|
||||
self.filter_name_html(),
|
||||
self.web_values_prefix() # display '| ' and name if present
|
||||
webserver.content_send(string.format("☀️ %.1f °C",
|
||||
self.shadow_value != nil ? real(self.shadow_value) / 100 : nil))
|
||||
end
|
||||
|
||||
|
@ -27,7 +27,7 @@ class Matter_Plugin end
|
||||
class Matter_Plugin_Device : Matter_Plugin
|
||||
static var CLUSTERS = {
|
||||
# 0x001D: inherited # Descriptor Cluster 9.5 p.453
|
||||
0x0039: [0x11], # Bridged Device Basic Information 9.13 p.485
|
||||
0x0039: [5], # Bridged Device Basic Information 9.13 p.485
|
||||
0x0003: [0,1,0xFFFC,0xFFFD], # Identify 1.2 p.16
|
||||
0x0004: [0,0xFFFC,0xFFFD], # Groups 1.3 p.21
|
||||
0x0005: [0,1,2,3,4,5,0xFFFC,0xFFFD], # Scenes 1.4 p.30 - no writable
|
||||
@ -35,11 +35,22 @@ class Matter_Plugin_Device : Matter_Plugin
|
||||
static var TYPES = { 0x0013: 1 } # fake type
|
||||
static var NON_BRIDGE_VENDOR = [ 0x1217, 0x1381 ] # Fabric VendorID not supporting Bridge mode
|
||||
|
||||
var node_label # name of the endpoint, used only in bridge mode, "" if none
|
||||
|
||||
def set_name(n)
|
||||
if n != self.node_label
|
||||
self.attribute_updated(0x0039, 0x0005)
|
||||
end
|
||||
self.node_label = n
|
||||
end
|
||||
def get_name() return self.node_label end
|
||||
|
||||
#############################################################
|
||||
# Constructor
|
||||
# def init(device, endpoint, arguments)
|
||||
# super(self).init(device, endpoint, arguments)
|
||||
# end
|
||||
def init(device, endpoint, config)
|
||||
self.node_label = config.find("name", "")
|
||||
super(self).init(device, endpoint, config)
|
||||
end
|
||||
|
||||
#############################################################
|
||||
# read an attribute
|
||||
@ -103,7 +114,16 @@ class Matter_Plugin_Device : Matter_Plugin
|
||||
else
|
||||
return super(self).read_attribute(session, ctx)
|
||||
end
|
||||
|
||||
|
||||
# ====================================================================================================
|
||||
elif cluster == 0x0039 # ========== Bridged Device Basic Information 9.13 p.485 ==========
|
||||
|
||||
if attribute == 0x0005 # ---------- NodeLabel / string ----------
|
||||
return TLV.create_TLV(TLV.UTF1, self.get_name())
|
||||
else
|
||||
return super(self).read_attribute(session, ctx)
|
||||
end
|
||||
|
||||
else
|
||||
return super(self).read_attribute(session, ctx)
|
||||
end
|
||||
|
@ -301,8 +301,14 @@ class Matter_UI
|
||||
|
||||
webserver.content_send("<form action='/matterc' method='post'>"
|
||||
"<p><b>Local sensors and devices</b></p>"
|
||||
"<table style='width:100%'>"
|
||||
"<tr><td width='25'>#</td><td width='115'>Type</td><td>Parameter</td><td width='15'></td></tr>")
|
||||
"<table style='width:100%'>")
|
||||
webserver.content_send("<tr>"
|
||||
"<td width='25' style='font-size:smaller;'>#</td>"
|
||||
"<td width='78' style='font-size:smaller;'>Name</td>"
|
||||
"<td width='115' style='font-size:smaller;'>Type</td>"
|
||||
"<td style='font-size:smaller;'>Parameter</td>"
|
||||
"<td width='15' style='font-size:smaller;'></td>"
|
||||
"</tr>")
|
||||
|
||||
# display one line per plug-in
|
||||
self.device.plugins_config.remove("0") # remove any leftover from ancient configuration
|
||||
@ -327,9 +333,10 @@ class Matter_UI
|
||||
|
||||
found = true
|
||||
webserver.content_send(string.format("<tr><td style='font-size:smaller;'><b>%i</b></td>", ep))
|
||||
|
||||
webserver.content_send(string.format("<td style='font-size:smaller;'><input type='text' name='nam%i' size='1' value='%s'></td>",
|
||||
ep, webserver.html_escape(conf.find('name', ''))))
|
||||
webserver.content_send(string.format("<td style='font-size:smaller;'><b>%s</b></td>", self.plugin_name(conf.find('type', ''))))
|
||||
webserver.content_send(string.format("<td style='font-size:smaller;'><input type='text' name='arg%i' size='8' value='%s' placeholder='%s'></td>",
|
||||
webserver.content_send(string.format("<td style='font-size:smaller;'><input type='text' name='arg%i' size='1' value='%s' placeholder='%s'></td>",
|
||||
ep, webserver.html_escape(arg), cl ? webserver.html_escape(cl.ARG_HINT) : ''))
|
||||
webserver.content_send(string.format("<td style='text-align:center;'><button name='del%i' "
|
||||
"style='background:none;border:none;line-height:1;'"
|
||||
@ -361,7 +368,13 @@ class Matter_UI
|
||||
|
||||
webserver.content_send(string.format("🔗 <a target='_blank' href=\"http://%s/\">%s</a>", webserver.html_escape(remote), webserver.html_escape(remote)))
|
||||
webserver.content_send("<table style='width:100%'>")
|
||||
webserver.content_send("<tr><td width='25'></td><td width='115'></td><td></td><td width='15'></td></tr>")
|
||||
webserver.content_send("<tr>"
|
||||
"<td width='25'></td>"
|
||||
"<td width='78'></td>"
|
||||
"<td width='115'>"
|
||||
"</td><td>"
|
||||
"</td><td width='15'></td>"
|
||||
"</tr>")
|
||||
|
||||
found = false
|
||||
i = 0
|
||||
@ -384,6 +397,8 @@ class Matter_UI
|
||||
|
||||
found = true
|
||||
webserver.content_send(string.format("<tr><td width='22' style='font-size:smaller;'><b>%i</b></td>", ep))
|
||||
webserver.content_send(string.format("<td width='78' style='font-size:smaller;'><input type='text' name='nam%i' size='1' value='%s' placeholder='(optional)'></td>",
|
||||
ep, webserver.html_escape(conf.find('name', ''))))
|
||||
|
||||
webserver.content_send(string.format("<td width='115' style='font-size:smaller;'><b>%s</b></select></td>", self.plugin_name(conf.find('type', ''))))
|
||||
webserver.content_send(string.format("<td style='font-size:smaller;'><input type='text' name='arg%i' size='8' value='%s'></td>",
|
||||
@ -415,13 +430,19 @@ class Matter_UI
|
||||
webserver.content_send("<p></p><fieldset><legend><b> Add to Configuration </b></legend><p></p>")
|
||||
webserver.content_send("<p><b>Add local sensor or device</b></p>"
|
||||
"<form action='/matterc' method='post'>"
|
||||
"<table style='width:100%'>"
|
||||
"<tr><td width='145'>Type</td><td>Parameter</td></tr>")
|
||||
"<table style='width:100%'>")
|
||||
webserver.content_send("<tr>"
|
||||
"<td width='100' style='font-size:smaller;'>Name</td>"
|
||||
"<td width='115' style='font-size:smaller;'>Type</td>"
|
||||
"<td style='font-size:smaller;'>Parameter</td>"
|
||||
"</tr>")
|
||||
|
||||
webserver.content_send("<tr><td style='font-size:smaller;'><select id='pi' name='pi' onchange='otm(\"arg\",this.value)'>")
|
||||
webserver.content_send("<tr>"
|
||||
"<td style='font-size:smaller;'><input type='text' name='nam' size='1' value='' placeholder='(optional)'></td>"
|
||||
"<td style='font-size:smaller;'><select id='pi' name='pi' onchange='otm(\"arg\",this.value)'>")
|
||||
self.plugin_option('', self._CLASSES_TYPES)
|
||||
webserver.content_send("</select></td>")
|
||||
webserver.content_send("<td style='font-size:smaller;'><input type='text' id='arg' name='arg' size='8' value=''></td>"
|
||||
webserver.content_send("<td style='font-size:smaller;'><input type='text' id='arg' name='arg' size='1' value=''></td>"
|
||||
"</tr></table>")
|
||||
|
||||
webserver.content_send("<div style='display: block;'></div>")
|
||||
@ -627,7 +648,11 @@ class Matter_UI
|
||||
# Add new endpoint section
|
||||
webserver.content_send("<form action='/matterc' method='post'>"
|
||||
"<table style='width:100%'>"
|
||||
"<tr><td width='145'>Type</td><td>Parameter</td></tr>")
|
||||
"<tr>"
|
||||
"<td width='100' style='font-size:smaller;'>Name</td>"
|
||||
"<td width='115' style='font-size:smaller;'>Type</td>"
|
||||
"<td style='font-size:smaller;'>Parameter</td>"
|
||||
"</tr>")
|
||||
|
||||
webserver.content_send(string.format("<input name='url' type='hidden' value='%s'>", webserver.html_escape(url)))
|
||||
|
||||
@ -643,21 +668,23 @@ class Matter_UI
|
||||
arg = cl.ui_conf_to_string(cl, config)
|
||||
end
|
||||
|
||||
webserver.content_send(string.format("<tr><td style='font-size:smaller;'><select name='pi%i' onchange='otm(\"arg%i\",this.value)'>", i, i))
|
||||
webserver.content_send(string.format("<tr><td style='font-size:smaller;'><input type='text' name='nam%i' size='1' value='' placeholder='(optional)'></td>", i))
|
||||
webserver.content_send(string.format("<td style='font-size:smaller;'><select name='pi%i' onchange='otm(\"arg%i\",this.value)'>", i, i))
|
||||
self.plugin_option(typ, self._CLASSES_TYPES2)
|
||||
webserver.content_send("</select></td>"
|
||||
"<td style='font-size:smaller;'>")
|
||||
webserver.content_send(string.format("<input type='text' id='arg%i' name='arg%i' size='8' value='%s' placeholder='%s'>",
|
||||
webserver.content_send(string.format("<input type='text' id='arg%i' name='arg%i' size='1' value='%s' placeholder='%s'>",
|
||||
i, i, webserver.html_escape(arg), cl ? webserver.html_escape(cl.ARG_HINT) : ''))
|
||||
webserver.content_send("</td></tr>")
|
||||
i += 1
|
||||
end
|
||||
# empty line for new endpoint
|
||||
webserver.content_send(string.format("<tr><td style='font-size:smaller;'><select name='pi%i' onchange='otm(\"arg%i\",this.value)'>", i, i))
|
||||
webserver.content_send(string.format("<tr><td style='font-size:smaller;'><input type='text' name='nam%i' size='1' value='' placeholder='(optional)'></td>", i))
|
||||
webserver.content_send(string.format("<td style='font-size:smaller;'><select name='pi%i' onchange='otm(\"arg%i\",this.value)'>", i, i))
|
||||
self.plugin_option('', self._CLASSES_TYPES2)
|
||||
webserver.content_send("</select></td>"
|
||||
"<td style='font-size:smaller;'>")
|
||||
webserver.content_send(string.format("<input type='text' id='arg%i' name='arg%i' size='8' value='%s'>",
|
||||
webserver.content_send(string.format("<input type='text' id='arg%i' name='arg%i' size='1' value='%s'>",
|
||||
i, i, ''))
|
||||
webserver.content_send("</td></tr>")
|
||||
|
||||
@ -714,9 +741,9 @@ class Matter_UI
|
||||
try
|
||||
|
||||
# debug information about parameters
|
||||
# for i:0..webserver.arg_size()-1
|
||||
# tasmota.log(string.format("MTR: Arg%i '%s' = '%s'", i, webserver.arg_name(i), webserver.arg(i)))
|
||||
# end
|
||||
for i:0..webserver.arg_size()-1
|
||||
tasmota.log(string.format("MTR: Arg%i '%s' = '%s'", i, webserver.arg_name(i), webserver.arg(i)))
|
||||
end
|
||||
|
||||
#---------------------------------------------------------------------#
|
||||
# Change Passcode and/or Passcode
|
||||
@ -800,7 +827,7 @@ class Matter_UI
|
||||
# iterate by endpoint number
|
||||
for i:0..webserver.arg_size()-1
|
||||
var arg_name = webserver.arg_name(i)
|
||||
if string.find(arg_name, "arg") == 0
|
||||
if string.find(arg_name, "arg") == 0 # 'arg<i>' with i being the endpoint
|
||||
var arg_ep = int(arg_name[3..]) # target endpoint as int
|
||||
var arg = webserver.arg(i) # text value
|
||||
|
||||
@ -829,6 +856,31 @@ class Matter_UI
|
||||
else
|
||||
tasmota.log(string.format("MTR: ep=%i not found", arg_ep), 3)
|
||||
end
|
||||
elif string.find(arg_name, "nam") == 0 # 'nam<i>' with i being the endpoint
|
||||
var nam_ep = int(arg_name[3..]) # target endpoint as int
|
||||
var nam = webserver.arg(i) # text value
|
||||
|
||||
var conf_ep = self.device.plugins_config.find(str(nam_ep)) # find the corresponding configuration map
|
||||
|
||||
if conf_ep != nil # found
|
||||
var prev_name = conf_ep.find("name", "")
|
||||
var changed = (prev_name != nam)
|
||||
if changed
|
||||
needs_saving = true
|
||||
var pl = self.device.find_plugin_by_endpoint(nam_ep)
|
||||
if pl
|
||||
# apply or remove
|
||||
pl.set_name(nam)
|
||||
if nam
|
||||
conf_ep['name'] = nam
|
||||
else
|
||||
conf_ep.remove('name')
|
||||
end
|
||||
tasmota.log(string.format("MTR: apply name '%s' (%i) to %s", conf_ep, nam_ep, pl), 3)
|
||||
pl.parse_configuration(conf_ep)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@ -850,12 +902,14 @@ class Matter_UI
|
||||
elif webserver.has_arg("addep")
|
||||
var typ = webserver.arg('pi')
|
||||
var arg = webserver.arg('arg')
|
||||
var nam = webserver.arg('nam')
|
||||
tasmota.log(string.format("MTR: add endpoint typ='%s' arg='%s'", typ, arg), 3)
|
||||
|
||||
# check if type exists
|
||||
var typ_class = self.device.plugins_classes.find(typ)
|
||||
if typ_class != nil
|
||||
var config = {}
|
||||
if nam config['name'] = nam end
|
||||
typ_class.ui_string_to_conf(typ_class, config, arg)
|
||||
self.device.bridge_add_endpoint(typ, config)
|
||||
end
|
||||
@ -863,7 +917,7 @@ class Matter_UI
|
||||
webserver.redirect("/matterc?")
|
||||
|
||||
#---------------------------------------------------------------------#
|
||||
# Add new endpoint for local sensor or device
|
||||
# Add new endpoint for remote sensor or device
|
||||
#---------------------------------------------------------------------#
|
||||
elif webserver.has_arg("addrem")
|
||||
var url = webserver.arg('url')
|
||||
@ -875,12 +929,16 @@ class Matter_UI
|
||||
while webserver.has_arg('pi'+idx_str)
|
||||
var typ = webserver.arg('pi'+idx_str)
|
||||
var arg = webserver.arg('arg'+idx_str)
|
||||
var nam = webserver.arg('nam'+idx_str)
|
||||
|
||||
if typ != ''
|
||||
# check if type exists
|
||||
var typ_class = self.device.plugins_classes.find(typ)
|
||||
if typ_class != nil
|
||||
var config = {'url': url, 'type': typ}
|
||||
if nam
|
||||
config['name'] = nam
|
||||
end
|
||||
typ_class.ui_string_to_conf(typ_class, config, arg)
|
||||
# check if configuration is already present
|
||||
var duplicate = false
|
||||
|
@ -1796,7 +1796,7 @@ be_local_closure(Matter_Device__instantiate_plugins_from_config, /* name */
|
||||
/* K9 */ be_nested_str_weak(Plugin_Root),
|
||||
/* K10 */ be_const_int(0),
|
||||
/* K11 */ be_nested_str_weak(format),
|
||||
/* K12 */ be_nested_str_weak(MTR_X3A_X20_X20_X20endpoint_X20_X3D_X20_X255i_X20type_X20_X3D_X20_X25s_X25s),
|
||||
/* K12 */ be_nested_str_weak(MTR_X3A_X20_X20_X20endpoint_X20_X3D_X20_X255i_X20type_X3A_X25s_X25s),
|
||||
/* K13 */ be_nested_str_weak(root),
|
||||
/* K14 */ be_nested_str_weak(),
|
||||
/* K15 */ be_nested_str_weak(Plugin_Aggregator),
|
||||
@ -2444,7 +2444,7 @@ be_local_closure(Matter_Device_conf_to_log, /* name */
|
||||
/* K3 */ be_nested_str_weak(k2l),
|
||||
/* K4 */ be_nested_str_weak(type),
|
||||
/* K5 */ be_nested_str_weak(format),
|
||||
/* K6 */ be_nested_str_weak(_X20_X25s_X20_X3D_X20_X25s),
|
||||
/* K6 */ be_nested_str_weak(_X20_X25s_X3A_X25s),
|
||||
/* K7 */ be_nested_str_weak(stop_iteration),
|
||||
}),
|
||||
be_str_weak(conf_to_log),
|
||||
@ -3838,7 +3838,7 @@ be_local_closure(Matter_Device_bridge_add_endpoint, /* name */
|
||||
/* K12 */ be_nested_str_weak(keys),
|
||||
/* K13 */ be_nested_str_weak(stop_iteration),
|
||||
/* K14 */ be_nested_str_weak(format),
|
||||
/* K15 */ be_nested_str_weak(MTR_X3A_X20adding_X20endpoint_X20_X3D_X20_X25i_X20type_X20_X3D_X20_X25s_X25s),
|
||||
/* K15 */ be_nested_str_weak(MTR_X3A_X20adding_X20endpoint_X20_X3D_X20_X25i_X20type_X3A_X25s_X25s),
|
||||
/* K16 */ be_nested_str_weak(conf_to_log),
|
||||
/* K17 */ be_const_int(2),
|
||||
/* K18 */ be_nested_str_weak(plugins_config),
|
||||
|
@ -4,15 +4,15 @@
|
||||
\********************************************************************/
|
||||
#include "be_constobj.h"
|
||||
|
||||
extern const bclass be_class_Matter_Plugin_Bridge_HTTP;
|
||||
extern const bclass be_class_GetOptionReader;
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: read_attribute
|
||||
** Solidified function: getoption
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Bridge_HTTP_read_attribute, /* name */
|
||||
be_local_closure(GetOptionReader_getoption, /* name */
|
||||
be_nested_proto(
|
||||
10, /* nstack */
|
||||
3, /* argc */
|
||||
6, /* nstack */
|
||||
2, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
@ -20,54 +20,290 @@ be_local_closure(Matter_Plugin_Bridge_HTTP_read_attribute, /* name */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 9]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(matter),
|
||||
/* K1 */ be_nested_str_weak(TLV),
|
||||
/* K2 */ be_nested_str_weak(cluster),
|
||||
/* K3 */ be_nested_str_weak(attribute),
|
||||
/* K4 */ be_nested_str_weak(create_TLV),
|
||||
/* K5 */ be_nested_str_weak(BOOL),
|
||||
/* K6 */ be_nested_str_weak(http_remote),
|
||||
/* K7 */ be_nested_str_weak(reachable),
|
||||
/* K8 */ be_nested_str_weak(read_attribute),
|
||||
/* K0 */ be_nested_str_weak(flag),
|
||||
/* K1 */ be_nested_str_weak(getbits),
|
||||
/* K2 */ be_const_int(1),
|
||||
/* K3 */ be_nested_str_weak(flag2),
|
||||
/* K4 */ be_nested_str_weak(get),
|
||||
/* K5 */ be_nested_str_weak(flag3),
|
||||
/* K6 */ be_nested_str_weak(flag4),
|
||||
/* K7 */ be_nested_str_weak(flag5),
|
||||
/* K8 */ be_nested_str_weak(flag6),
|
||||
}),
|
||||
be_str_weak(read_attribute),
|
||||
be_str_weak(getoption),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[35]) { /* code */
|
||||
0xB80E0000, // 0000 GETNGBL R3 K0
|
||||
0x880C0701, // 0001 GETMBR R3 R3 K1
|
||||
0x88100502, // 0002 GETMBR R4 R2 K2
|
||||
0x88140503, // 0003 GETMBR R5 R2 K3
|
||||
0x541A0038, // 0004 LDINT R6 57
|
||||
0x1C180806, // 0005 EQ R6 R4 R6
|
||||
0x781A0012, // 0006 JMPF R6 #001A
|
||||
0x541A0010, // 0007 LDINT R6 17
|
||||
0x1C180A06, // 0008 EQ R6 R5 R6
|
||||
0x781A0006, // 0009 JMPF R6 #0011
|
||||
0x8C180704, // 000A GETMET R6 R3 K4
|
||||
0x88200705, // 000B GETMBR R8 R3 K5
|
||||
0x88240106, // 000C GETMBR R9 R0 K6
|
||||
0x88241307, // 000D GETMBR R9 R9 K7
|
||||
0x7C180600, // 000E CALL R6 3
|
||||
0x80040C00, // 000F RET 1 R6
|
||||
0x70020007, // 0010 JMP #0019
|
||||
0x60180003, // 0011 GETGBL R6 G3
|
||||
0x5C1C0000, // 0012 MOVE R7 R0
|
||||
( &(const binstruction[65]) { /* code */
|
||||
0x540A001F, // 0000 LDINT R2 32
|
||||
0x14080202, // 0001 LT R2 R1 R2
|
||||
0x780A0006, // 0002 JMPF R2 #000A
|
||||
0x88080100, // 0003 GETMBR R2 R0 K0
|
||||
0x8C080501, // 0004 GETMET R2 R2 K1
|
||||
0x5C100200, // 0005 MOVE R4 R1
|
||||
0x58140002, // 0006 LDCONST R5 K2
|
||||
0x7C080600, // 0007 CALL R2 3
|
||||
0x80040400, // 0008 RET 1 R2
|
||||
0x70020035, // 0009 JMP #0040
|
||||
0x540A0031, // 000A LDINT R2 50
|
||||
0x14080202, // 000B LT R2 R1 R2
|
||||
0x780A0007, // 000C JMPF R2 #0015
|
||||
0x88080103, // 000D GETMBR R2 R0 K3
|
||||
0x8C080504, // 000E GETMET R2 R2 K4
|
||||
0x5412001F, // 000F LDINT R4 32
|
||||
0x04100204, // 0010 SUB R4 R1 R4
|
||||
0x58140002, // 0011 LDCONST R5 K2
|
||||
0x7C080600, // 0012 CALL R2 3
|
||||
0x80040400, // 0013 RET 1 R2
|
||||
0x7002002A, // 0014 JMP #0040
|
||||
0x540A0051, // 0015 LDINT R2 82
|
||||
0x14080202, // 0016 LT R2 R1 R2
|
||||
0x780A0007, // 0017 JMPF R2 #0020
|
||||
0x88080105, // 0018 GETMBR R2 R0 K5
|
||||
0x8C080501, // 0019 GETMET R2 R2 K1
|
||||
0x54120031, // 001A LDINT R4 50
|
||||
0x04100204, // 001B SUB R4 R1 R4
|
||||
0x58140002, // 001C LDCONST R5 K2
|
||||
0x7C080600, // 001D CALL R2 3
|
||||
0x80040400, // 001E RET 1 R2
|
||||
0x7002001F, // 001F JMP #0040
|
||||
0x540A0071, // 0020 LDINT R2 114
|
||||
0x14080202, // 0021 LT R2 R1 R2
|
||||
0x780A0007, // 0022 JMPF R2 #002B
|
||||
0x88080106, // 0023 GETMBR R2 R0 K6
|
||||
0x8C080501, // 0024 GETMET R2 R2 K1
|
||||
0x54120051, // 0025 LDINT R4 82
|
||||
0x04100204, // 0026 SUB R4 R1 R4
|
||||
0x58140002, // 0027 LDCONST R5 K2
|
||||
0x7C080600, // 0028 CALL R2 3
|
||||
0x80040400, // 0029 RET 1 R2
|
||||
0x70020014, // 002A JMP #0040
|
||||
0x540A0091, // 002B LDINT R2 146
|
||||
0x14080202, // 002C LT R2 R1 R2
|
||||
0x780A0007, // 002D JMPF R2 #0036
|
||||
0x88080107, // 002E GETMBR R2 R0 K7
|
||||
0x8C080501, // 002F GETMET R2 R2 K1
|
||||
0x54120071, // 0030 LDINT R4 114
|
||||
0x04100204, // 0031 SUB R4 R1 R4
|
||||
0x58140002, // 0032 LDCONST R5 K2
|
||||
0x7C080600, // 0033 CALL R2 3
|
||||
0x80040400, // 0034 RET 1 R2
|
||||
0x70020009, // 0035 JMP #0040
|
||||
0x540A00B1, // 0036 LDINT R2 178
|
||||
0x14080202, // 0037 LT R2 R1 R2
|
||||
0x780A0006, // 0038 JMPF R2 #0040
|
||||
0x88080108, // 0039 GETMBR R2 R0 K8
|
||||
0x8C080501, // 003A GETMET R2 R2 K1
|
||||
0x54120091, // 003B LDINT R4 146
|
||||
0x04100204, // 003C SUB R4 R1 R4
|
||||
0x58140002, // 003D LDCONST R5 K2
|
||||
0x7C080600, // 003E CALL R2 3
|
||||
0x80040400, // 003F RET 1 R2
|
||||
0x80000000, // 0040 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: init
|
||||
********************************************************************/
|
||||
be_local_closure(GetOptionReader_init, /* name */
|
||||
be_nested_proto(
|
||||
6, /* nstack */
|
||||
2, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[15]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(value_error),
|
||||
/* K1 */ be_nested_str_weak(invalid_X20json),
|
||||
/* K2 */ be_nested_str_weak(SetOption),
|
||||
/* K3 */ be_nested_str_weak(flag),
|
||||
/* K4 */ be_nested_str_weak(fromhex),
|
||||
/* K5 */ be_const_int(0),
|
||||
/* K6 */ be_nested_str_weak(reverse),
|
||||
/* K7 */ be_nested_str_weak(flag2),
|
||||
/* K8 */ be_const_int(1),
|
||||
/* K9 */ be_nested_str_weak(flag3),
|
||||
/* K10 */ be_const_int(2),
|
||||
/* K11 */ be_nested_str_weak(flag4),
|
||||
/* K12 */ be_const_int(3),
|
||||
/* K13 */ be_nested_str_weak(flag5),
|
||||
/* K14 */ be_nested_str_weak(flag6),
|
||||
}),
|
||||
be_str_weak(init),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[54]) { /* code */
|
||||
0x4C080000, // 0000 LDNIL R2
|
||||
0x1C080202, // 0001 EQ R2 R1 R2
|
||||
0x780A0000, // 0002 JMPF R2 #0004
|
||||
0xB0060101, // 0003 RAISE 1 K0 K1
|
||||
0x94080302, // 0004 GETIDX R2 R1 K2
|
||||
0x600C0015, // 0005 GETGBL R3 G21
|
||||
0x7C0C0000, // 0006 CALL R3 0
|
||||
0x8C0C0704, // 0007 GETMET R3 R3 K4
|
||||
0x94140505, // 0008 GETIDX R5 R2 K5
|
||||
0x7C0C0400, // 0009 CALL R3 2
|
||||
0x8C0C0706, // 000A GETMET R3 R3 K6
|
||||
0x7C0C0200, // 000B CALL R3 1
|
||||
0x90020603, // 000C SETMBR R0 K3 R3
|
||||
0x600C0015, // 000D GETGBL R3 G21
|
||||
0x7C0C0000, // 000E CALL R3 0
|
||||
0x8C0C0704, // 000F GETMET R3 R3 K4
|
||||
0x94140508, // 0010 GETIDX R5 R2 K8
|
||||
0x7C0C0400, // 0011 CALL R3 2
|
||||
0x90020E03, // 0012 SETMBR R0 K7 R3
|
||||
0x600C0015, // 0013 GETGBL R3 G21
|
||||
0x7C0C0000, // 0014 CALL R3 0
|
||||
0x8C0C0704, // 0015 GETMET R3 R3 K4
|
||||
0x9414050A, // 0016 GETIDX R5 R2 K10
|
||||
0x7C0C0400, // 0017 CALL R3 2
|
||||
0x8C0C0706, // 0018 GETMET R3 R3 K6
|
||||
0x7C0C0200, // 0019 CALL R3 1
|
||||
0x90021203, // 001A SETMBR R0 K9 R3
|
||||
0x600C0015, // 001B GETGBL R3 G21
|
||||
0x7C0C0000, // 001C CALL R3 0
|
||||
0x8C0C0704, // 001D GETMET R3 R3 K4
|
||||
0x9414050C, // 001E GETIDX R5 R2 K12
|
||||
0x7C0C0400, // 001F CALL R3 2
|
||||
0x8C0C0706, // 0020 GETMET R3 R3 K6
|
||||
0x7C0C0200, // 0021 CALL R3 1
|
||||
0x90021603, // 0022 SETMBR R0 K11 R3
|
||||
0x600C0015, // 0023 GETGBL R3 G21
|
||||
0x7C0C0000, // 0024 CALL R3 0
|
||||
0x8C0C0704, // 0025 GETMET R3 R3 K4
|
||||
0x54160003, // 0026 LDINT R5 4
|
||||
0x94140405, // 0027 GETIDX R5 R2 R5
|
||||
0x7C0C0400, // 0028 CALL R3 2
|
||||
0x8C0C0706, // 0029 GETMET R3 R3 K6
|
||||
0x7C0C0200, // 002A CALL R3 1
|
||||
0x90021A03, // 002B SETMBR R0 K13 R3
|
||||
0x600C0015, // 002C GETGBL R3 G21
|
||||
0x7C0C0000, // 002D CALL R3 0
|
||||
0x8C0C0704, // 002E GETMET R3 R3 K4
|
||||
0x54160004, // 002F LDINT R5 5
|
||||
0x94140405, // 0030 GETIDX R5 R2 R5
|
||||
0x7C0C0400, // 0031 CALL R3 2
|
||||
0x8C0C0706, // 0032 GETMET R3 R3 K6
|
||||
0x7C0C0200, // 0033 CALL R3 1
|
||||
0x90021C03, // 0034 SETMBR R0 K14 R3
|
||||
0x80000000, // 0035 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified class: GetOptionReader
|
||||
********************************************************************/
|
||||
be_local_class(GetOptionReader,
|
||||
6,
|
||||
NULL,
|
||||
be_nested_map(8,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_weak(flag2, -1), be_const_var(1) },
|
||||
{ be_const_key_weak(flag4, -1), be_const_var(3) },
|
||||
{ be_const_key_weak(getoption, -1), be_const_closure(GetOptionReader_getoption_closure) },
|
||||
{ be_const_key_weak(init, 5), be_const_closure(GetOptionReader_init_closure) },
|
||||
{ be_const_key_weak(flag3, -1), be_const_var(2) },
|
||||
{ be_const_key_weak(flag6, -1), be_const_var(5) },
|
||||
{ be_const_key_weak(flag5, -1), be_const_var(4) },
|
||||
{ be_const_key_weak(flag, 0), be_const_var(0) },
|
||||
})),
|
||||
be_str_weak(GetOptionReader)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
void be_load_GetOptionReader_class(bvm *vm) {
|
||||
be_pushntvclass(vm, &be_class_GetOptionReader);
|
||||
be_setglobal(vm, "GetOptionReader");
|
||||
be_pop(vm, 1);
|
||||
}
|
||||
|
||||
extern const bclass be_class_Matter_Plugin_Bridge_HTTP;
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: init
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Bridge_HTTP_init, /* name */
|
||||
be_nested_proto(
|
||||
10, /* nstack */
|
||||
4, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 9]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(string),
|
||||
/* K1 */ be_nested_str_weak(init),
|
||||
/* K2 */ be_nested_str_weak(find),
|
||||
/* K3 */ be_nested_str_weak(ARG_HTTP),
|
||||
/* K4 */ be_nested_str_weak(http_remote),
|
||||
/* K5 */ be_nested_str_weak(device),
|
||||
/* K6 */ be_nested_str_weak(register_http_remote),
|
||||
/* K7 */ be_nested_str_weak(PROBE_TIMEOUT),
|
||||
/* K8 */ be_nested_str_weak(register_cmd_cb),
|
||||
}),
|
||||
be_str_weak(init),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[21]) { /* code */
|
||||
0xA4120000, // 0000 IMPORT R4 K0
|
||||
0x60140003, // 0001 GETGBL R5 G3
|
||||
0x5C180000, // 0002 MOVE R6 R0
|
||||
0x7C140200, // 0003 CALL R5 1
|
||||
0x8C140B01, // 0004 GETMET R5 R5 K1
|
||||
0x5C1C0200, // 0005 MOVE R7 R1
|
||||
0x5C200400, // 0006 MOVE R8 R2
|
||||
0x5C240600, // 0007 MOVE R9 R3
|
||||
0x7C140800, // 0008 CALL R5 4
|
||||
0x8C140702, // 0009 GETMET R5 R3 K2
|
||||
0x881C0103, // 000A GETMBR R7 R0 K3
|
||||
0x7C140400, // 000B CALL R5 2
|
||||
0x88180105, // 000C GETMBR R6 R0 K5
|
||||
0x8C180D06, // 000D GETMET R6 R6 K6
|
||||
0x5C200A00, // 000E MOVE R8 R5
|
||||
0x88240107, // 000F GETMBR R9 R0 K7
|
||||
0x7C180600, // 0010 CALL R6 3
|
||||
0x90020806, // 0011 SETMBR R0 K4 R6
|
||||
0x8C180108, // 0012 GETMET R6 R0 K8
|
||||
0x7C180200, // 0013 CALL R6 1
|
||||
0x8C180D08, // 0014 GETMET R6 R6 K8
|
||||
0x5C200200, // 0015 MOVE R8 R1
|
||||
0x5C240400, // 0016 MOVE R9 R2
|
||||
0x7C180600, // 0017 CALL R6 3
|
||||
0x80040C00, // 0018 RET 1 R6
|
||||
0x70020007, // 0019 JMP #0022
|
||||
0x60180003, // 001A GETGBL R6 G3
|
||||
0x5C1C0000, // 001B MOVE R7 R0
|
||||
0x7C180200, // 001C CALL R6 1
|
||||
0x8C180D08, // 001D GETMET R6 R6 K8
|
||||
0x5C200200, // 001E MOVE R8 R1
|
||||
0x5C240400, // 001F MOVE R9 R2
|
||||
0x7C180600, // 0020 CALL R6 3
|
||||
0x80040C00, // 0021 RET 1 R6
|
||||
0x80000000, // 0022 RET 0
|
||||
0x80000000, // 0014 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: every_250ms
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Bridge_HTTP_every_250ms, /* name */
|
||||
be_nested_proto(
|
||||
3, /* nstack */
|
||||
1, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 2]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(http_remote),
|
||||
/* K1 */ be_nested_str_weak(scheduler),
|
||||
}),
|
||||
be_str_weak(every_250ms),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[ 4]) { /* code */
|
||||
0x88040100, // 0000 GETMBR R1 R0 K0
|
||||
0x8C040301, // 0001 GETMET R1 R1 K1
|
||||
0x7C040200, // 0002 CALL R1 1
|
||||
0x80000000, // 0003 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
@ -111,124 +347,6 @@ be_local_closure(Matter_Plugin_Bridge_HTTP_web_value_onoff, /* name */
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: update_shadow
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Bridge_HTTP_update_shadow, /* name */
|
||||
be_nested_proto(
|
||||
7, /* nstack */
|
||||
1, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 6]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(tick),
|
||||
/* K1 */ be_nested_str_weak(device),
|
||||
/* K2 */ be_nested_str_weak(call_remote_sync),
|
||||
/* K3 */ be_nested_str_weak(UPDATE_CMD),
|
||||
/* K4 */ be_nested_str_weak(parse_http_response),
|
||||
/* K5 */ be_const_int(1),
|
||||
}),
|
||||
be_str_weak(update_shadow),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[13]) { /* code */
|
||||
0x88040101, // 0000 GETMBR R1 R0 K1
|
||||
0x88040300, // 0001 GETMBR R1 R1 K0
|
||||
0x90020001, // 0002 SETMBR R0 K0 R1
|
||||
0x8C040102, // 0003 GETMET R1 R0 K2
|
||||
0x880C0103, // 0004 GETMBR R3 R0 K3
|
||||
0x7C040400, // 0005 CALL R1 2
|
||||
0x78060004, // 0006 JMPF R1 #000C
|
||||
0x8C080104, // 0007 GETMET R2 R0 K4
|
||||
0x58100005, // 0008 LDCONST R4 K5
|
||||
0x5C140200, // 0009 MOVE R5 R1
|
||||
0x88180103, // 000A GETMBR R6 R0 K3
|
||||
0x7C080800, // 000B CALL R2 4
|
||||
0x80000000, // 000C RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: parse_http_response
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Bridge_HTTP_parse_http_response, /* name */
|
||||
be_nested_proto(
|
||||
12, /* nstack */
|
||||
4, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[12]) { /* constants */
|
||||
/* K0 */ be_const_int(0),
|
||||
/* K1 */ be_nested_str_weak(http_remote),
|
||||
/* K2 */ be_nested_str_weak(device_is_alive),
|
||||
/* K3 */ be_nested_str_weak(device),
|
||||
/* K4 */ be_nested_str_weak(tick),
|
||||
/* K5 */ be_nested_str_weak(json),
|
||||
/* K6 */ be_nested_str_weak(load),
|
||||
/* K7 */ be_nested_str_weak(contains),
|
||||
/* K8 */ be_nested_str_weak(StatusSNS),
|
||||
/* K9 */ be_nested_str_weak(StatusSTS),
|
||||
/* K10 */ be_nested_str_weak(StatusSHT),
|
||||
/* K11 */ be_nested_str_weak(parse_update),
|
||||
}),
|
||||
be_str_weak(parse_http_response),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[39]) { /* code */
|
||||
0x24100300, // 0000 GT R4 R1 K0
|
||||
0x78120023, // 0001 JMPF R4 #0026
|
||||
0x88100101, // 0002 GETMBR R4 R0 K1
|
||||
0x8C100902, // 0003 GETMET R4 R4 K2
|
||||
0x50180200, // 0004 LDBOOL R6 1 0
|
||||
0x7C100400, // 0005 CALL R4 2
|
||||
0x88100103, // 0006 GETMBR R4 R0 K3
|
||||
0x88100904, // 0007 GETMBR R4 R4 K4
|
||||
0xA4160A00, // 0008 IMPORT R5 K5
|
||||
0x8C180B06, // 0009 GETMET R6 R5 K6
|
||||
0x5C200400, // 000A MOVE R8 R2
|
||||
0x7C180400, // 000B CALL R6 2
|
||||
0x4C1C0000, // 000C LDNIL R7
|
||||
0x781A0017, // 000D JMPF R6 #0026
|
||||
0x8C200D07, // 000E GETMET R8 R6 K7
|
||||
0x58280008, // 000F LDCONST R10 K8
|
||||
0x7C200400, // 0010 CALL R8 2
|
||||
0x78220002, // 0011 JMPF R8 #0015
|
||||
0x94180D08, // 0012 GETIDX R6 R6 K8
|
||||
0x541E0007, // 0013 LDINT R7 8
|
||||
0x7002000C, // 0014 JMP #0022
|
||||
0x8C200D07, // 0015 GETMET R8 R6 K7
|
||||
0x58280009, // 0016 LDCONST R10 K9
|
||||
0x7C200400, // 0017 CALL R8 2
|
||||
0x78220002, // 0018 JMPF R8 #001C
|
||||
0x94180D09, // 0019 GETIDX R6 R6 K9
|
||||
0x541E000A, // 001A LDINT R7 11
|
||||
0x70020005, // 001B JMP #0022
|
||||
0x8C200D07, // 001C GETMET R8 R6 K7
|
||||
0x5828000A, // 001D LDCONST R10 K10
|
||||
0x7C200400, // 001E CALL R8 2
|
||||
0x78220001, // 001F JMPF R8 #0022
|
||||
0x94180D09, // 0020 GETIDX R6 R6 K9
|
||||
0x541E000C, // 0021 LDINT R7 13
|
||||
0x8C20010B, // 0022 GETMET R8 R0 K11
|
||||
0x5C280C00, // 0023 MOVE R10 R6
|
||||
0x5C2C0E00, // 0024 MOVE R11 R7
|
||||
0x7C200600, // 0025 CALL R8 3
|
||||
0x80000000, // 0026 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: call_remote_sync
|
||||
********************************************************************/
|
||||
@ -312,11 +430,11 @@ be_local_closure(Matter_Plugin_Bridge_HTTP_call_remote_sync, /* name */
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: every_250ms
|
||||
** Solidified function: update_shadow
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Bridge_HTTP_every_250ms, /* name */
|
||||
be_local_closure(Matter_Plugin_Bridge_HTTP_update_shadow, /* name */
|
||||
be_nested_proto(
|
||||
3, /* nstack */
|
||||
7, /* nstack */
|
||||
1, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
@ -324,17 +442,30 @@ be_local_closure(Matter_Plugin_Bridge_HTTP_every_250ms, /* name */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 2]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(http_remote),
|
||||
/* K1 */ be_nested_str_weak(scheduler),
|
||||
( &(const bvalue[ 6]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(tick),
|
||||
/* K1 */ be_nested_str_weak(device),
|
||||
/* K2 */ be_nested_str_weak(call_remote_sync),
|
||||
/* K3 */ be_nested_str_weak(UPDATE_CMD),
|
||||
/* K4 */ be_nested_str_weak(parse_http_response),
|
||||
/* K5 */ be_const_int(1),
|
||||
}),
|
||||
be_str_weak(every_250ms),
|
||||
be_str_weak(update_shadow),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[ 4]) { /* code */
|
||||
0x88040100, // 0000 GETMBR R1 R0 K0
|
||||
0x8C040301, // 0001 GETMET R1 R1 K1
|
||||
0x7C040200, // 0002 CALL R1 1
|
||||
0x80000000, // 0003 RET 0
|
||||
( &(const binstruction[13]) { /* code */
|
||||
0x88040101, // 0000 GETMBR R1 R0 K1
|
||||
0x88040300, // 0001 GETMBR R1 R1 K0
|
||||
0x90020001, // 0002 SETMBR R0 K0 R1
|
||||
0x8C040102, // 0003 GETMET R1 R0 K2
|
||||
0x880C0103, // 0004 GETMBR R3 R0 K3
|
||||
0x7C040400, // 0005 CALL R1 2
|
||||
0x78060004, // 0006 JMPF R1 #000C
|
||||
0x8C080104, // 0007 GETMET R2 R0 K4
|
||||
0x58100005, // 0008 LDCONST R4 K5
|
||||
0x5C140200, // 0009 MOVE R5 R1
|
||||
0x88180103, // 000A GETMBR R6 R0 K3
|
||||
0x7C080800, // 000B CALL R2 4
|
||||
0x80000000, // 000C RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
@ -366,42 +497,6 @@ be_local_closure(Matter_Plugin_Bridge_HTTP_is_local_device, /* name */
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: web_values
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Bridge_HTTP_web_values, /* name */
|
||||
be_nested_proto(
|
||||
5, /* nstack */
|
||||
1, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 5]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(webserver),
|
||||
/* K1 */ be_nested_str_weak(content_send),
|
||||
/* K2 */ be_nested_str_weak(_X7C_X20_X26lt_X3B_X2D_X2D_X20_X28),
|
||||
/* K3 */ be_nested_str_weak(NAME),
|
||||
/* K4 */ be_nested_str_weak(_X29_X20_X2D_X2D_X26gt_X3B),
|
||||
}),
|
||||
be_str_weak(web_values),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[ 7]) { /* code */
|
||||
0xA4060000, // 0000 IMPORT R1 K0
|
||||
0x8C080301, // 0001 GETMET R2 R1 K1
|
||||
0x88100103, // 0002 GETMBR R4 R0 K3
|
||||
0x00120404, // 0003 ADD R4 K2 R4
|
||||
0x00100904, // 0004 ADD R4 R4 K4
|
||||
0x7C080400, // 0005 CALL R2 2
|
||||
0x80000000, // 0006 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: parse_update
|
||||
********************************************************************/
|
||||
@ -427,12 +522,60 @@ be_local_closure(Matter_Plugin_Bridge_HTTP_parse_update, /* name */
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: init
|
||||
** Solidified function: web_values_prefix
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Bridge_HTTP_init, /* name */
|
||||
be_local_closure(Matter_Plugin_Bridge_HTTP_web_values_prefix, /* name */
|
||||
be_nested_proto(
|
||||
12, /* nstack */
|
||||
1, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 8]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(webserver),
|
||||
/* K1 */ be_nested_str_weak(string),
|
||||
/* K2 */ be_nested_str_weak(get_name),
|
||||
/* K3 */ be_nested_str_weak(content_send),
|
||||
/* K4 */ be_nested_str_weak(format),
|
||||
/* K5 */ be_nested_str_weak(PREFIX),
|
||||
/* K6 */ be_nested_str_weak(html_escape),
|
||||
/* K7 */ be_nested_str_weak(),
|
||||
}),
|
||||
be_str_weak(web_values_prefix),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[16]) { /* code */
|
||||
0xA4060000, // 0000 IMPORT R1 K0
|
||||
0xA40A0200, // 0001 IMPORT R2 K1
|
||||
0x8C0C0102, // 0002 GETMET R3 R0 K2
|
||||
0x7C0C0200, // 0003 CALL R3 1
|
||||
0x8C100303, // 0004 GETMET R4 R1 K3
|
||||
0x8C180504, // 0005 GETMET R6 R2 K4
|
||||
0x88200105, // 0006 GETMBR R8 R0 K5
|
||||
0x780E0003, // 0007 JMPF R3 #000C
|
||||
0x8C240306, // 0008 GETMET R9 R1 K6
|
||||
0x5C2C0600, // 0009 MOVE R11 R3
|
||||
0x7C240400, // 000A CALL R9 2
|
||||
0x70020000, // 000B JMP #000D
|
||||
0x58240007, // 000C LDCONST R9 K7
|
||||
0x7C180600, // 000D CALL R6 3
|
||||
0x7C100400, // 000E CALL R4 2
|
||||
0x80000000, // 000F RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: read_attribute
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Bridge_HTTP_read_attribute, /* name */
|
||||
be_nested_proto(
|
||||
10, /* nstack */
|
||||
4, /* argc */
|
||||
3, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
@ -440,40 +583,170 @@ be_local_closure(Matter_Plugin_Bridge_HTTP_init, /* name */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 9]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(string),
|
||||
/* K1 */ be_nested_str_weak(init),
|
||||
/* K2 */ be_nested_str_weak(find),
|
||||
/* K3 */ be_nested_str_weak(ARG_HTTP),
|
||||
/* K4 */ be_nested_str_weak(http_remote),
|
||||
/* K5 */ be_nested_str_weak(device),
|
||||
/* K6 */ be_nested_str_weak(register_http_remote),
|
||||
/* K7 */ be_nested_str_weak(PROBE_TIMEOUT),
|
||||
/* K8 */ be_nested_str_weak(register_cmd_cb),
|
||||
/* K0 */ be_nested_str_weak(matter),
|
||||
/* K1 */ be_nested_str_weak(TLV),
|
||||
/* K2 */ be_nested_str_weak(cluster),
|
||||
/* K3 */ be_nested_str_weak(attribute),
|
||||
/* K4 */ be_nested_str_weak(create_TLV),
|
||||
/* K5 */ be_nested_str_weak(BOOL),
|
||||
/* K6 */ be_nested_str_weak(http_remote),
|
||||
/* K7 */ be_nested_str_weak(reachable),
|
||||
/* K8 */ be_nested_str_weak(read_attribute),
|
||||
}),
|
||||
be_str_weak(init),
|
||||
be_str_weak(read_attribute),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[21]) { /* code */
|
||||
0xA4120000, // 0000 IMPORT R4 K0
|
||||
0x60140003, // 0001 GETGBL R5 G3
|
||||
0x5C180000, // 0002 MOVE R6 R0
|
||||
0x7C140200, // 0003 CALL R5 1
|
||||
0x8C140B01, // 0004 GETMET R5 R5 K1
|
||||
0x5C1C0200, // 0005 MOVE R7 R1
|
||||
0x5C200400, // 0006 MOVE R8 R2
|
||||
0x5C240600, // 0007 MOVE R9 R3
|
||||
0x7C140800, // 0008 CALL R5 4
|
||||
0x8C140702, // 0009 GETMET R5 R3 K2
|
||||
0x881C0103, // 000A GETMBR R7 R0 K3
|
||||
0x7C140400, // 000B CALL R5 2
|
||||
0x88180105, // 000C GETMBR R6 R0 K5
|
||||
0x8C180D06, // 000D GETMET R6 R6 K6
|
||||
0x5C200A00, // 000E MOVE R8 R5
|
||||
0x88240107, // 000F GETMBR R9 R0 K7
|
||||
0x7C180600, // 0010 CALL R6 3
|
||||
0x90020806, // 0011 SETMBR R0 K4 R6
|
||||
0x8C180108, // 0012 GETMET R6 R0 K8
|
||||
( &(const binstruction[35]) { /* code */
|
||||
0xB80E0000, // 0000 GETNGBL R3 K0
|
||||
0x880C0701, // 0001 GETMBR R3 R3 K1
|
||||
0x88100502, // 0002 GETMBR R4 R2 K2
|
||||
0x88140503, // 0003 GETMBR R5 R2 K3
|
||||
0x541A0038, // 0004 LDINT R6 57
|
||||
0x1C180806, // 0005 EQ R6 R4 R6
|
||||
0x781A0012, // 0006 JMPF R6 #001A
|
||||
0x541A0010, // 0007 LDINT R6 17
|
||||
0x1C180A06, // 0008 EQ R6 R5 R6
|
||||
0x781A0006, // 0009 JMPF R6 #0011
|
||||
0x8C180704, // 000A GETMET R6 R3 K4
|
||||
0x88200705, // 000B GETMBR R8 R3 K5
|
||||
0x88240106, // 000C GETMBR R9 R0 K6
|
||||
0x88241307, // 000D GETMBR R9 R9 K7
|
||||
0x7C180600, // 000E CALL R6 3
|
||||
0x80040C00, // 000F RET 1 R6
|
||||
0x70020007, // 0010 JMP #0019
|
||||
0x60180003, // 0011 GETGBL R6 G3
|
||||
0x5C1C0000, // 0012 MOVE R7 R0
|
||||
0x7C180200, // 0013 CALL R6 1
|
||||
0x80000000, // 0014 RET 0
|
||||
0x8C180D08, // 0014 GETMET R6 R6 K8
|
||||
0x5C200200, // 0015 MOVE R8 R1
|
||||
0x5C240400, // 0016 MOVE R9 R2
|
||||
0x7C180600, // 0017 CALL R6 3
|
||||
0x80040C00, // 0018 RET 1 R6
|
||||
0x70020007, // 0019 JMP #0022
|
||||
0x60180003, // 001A GETGBL R6 G3
|
||||
0x5C1C0000, // 001B MOVE R7 R0
|
||||
0x7C180200, // 001C CALL R6 1
|
||||
0x8C180D08, // 001D GETMET R6 R6 K8
|
||||
0x5C200200, // 001E MOVE R8 R1
|
||||
0x5C240400, // 001F MOVE R9 R2
|
||||
0x7C180600, // 0020 CALL R6 3
|
||||
0x80040C00, // 0021 RET 1 R6
|
||||
0x80000000, // 0022 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: web_values
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Bridge_HTTP_web_values, /* name */
|
||||
be_nested_proto(
|
||||
6, /* nstack */
|
||||
1, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 7]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(webserver),
|
||||
/* K1 */ be_nested_str_weak(string),
|
||||
/* K2 */ be_nested_str_weak(web_values_prefix),
|
||||
/* K3 */ be_nested_str_weak(content_send),
|
||||
/* K4 */ be_nested_str_weak(_X26lt_X3B_X2D_X2D_X20_X28),
|
||||
/* K5 */ be_nested_str_weak(NAME),
|
||||
/* K6 */ be_nested_str_weak(_X29_X20_X2D_X2D_X26gt_X3B),
|
||||
}),
|
||||
be_str_weak(web_values),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[10]) { /* code */
|
||||
0xA4060000, // 0000 IMPORT R1 K0
|
||||
0xA40A0200, // 0001 IMPORT R2 K1
|
||||
0x8C0C0102, // 0002 GETMET R3 R0 K2
|
||||
0x7C0C0200, // 0003 CALL R3 1
|
||||
0x8C0C0303, // 0004 GETMET R3 R1 K3
|
||||
0x88140105, // 0005 GETMBR R5 R0 K5
|
||||
0x00160805, // 0006 ADD R5 K4 R5
|
||||
0x00140B06, // 0007 ADD R5 R5 K6
|
||||
0x7C0C0400, // 0008 CALL R3 2
|
||||
0x80000000, // 0009 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: parse_http_response
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Bridge_HTTP_parse_http_response, /* name */
|
||||
be_nested_proto(
|
||||
12, /* nstack */
|
||||
4, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[12]) { /* constants */
|
||||
/* K0 */ be_const_int(0),
|
||||
/* K1 */ be_nested_str_weak(http_remote),
|
||||
/* K2 */ be_nested_str_weak(device_is_alive),
|
||||
/* K3 */ be_nested_str_weak(device),
|
||||
/* K4 */ be_nested_str_weak(tick),
|
||||
/* K5 */ be_nested_str_weak(json),
|
||||
/* K6 */ be_nested_str_weak(load),
|
||||
/* K7 */ be_nested_str_weak(contains),
|
||||
/* K8 */ be_nested_str_weak(StatusSNS),
|
||||
/* K9 */ be_nested_str_weak(StatusSTS),
|
||||
/* K10 */ be_nested_str_weak(StatusSHT),
|
||||
/* K11 */ be_nested_str_weak(parse_update),
|
||||
}),
|
||||
be_str_weak(parse_http_response),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[39]) { /* code */
|
||||
0x24100300, // 0000 GT R4 R1 K0
|
||||
0x78120023, // 0001 JMPF R4 #0026
|
||||
0x88100101, // 0002 GETMBR R4 R0 K1
|
||||
0x8C100902, // 0003 GETMET R4 R4 K2
|
||||
0x50180200, // 0004 LDBOOL R6 1 0
|
||||
0x7C100400, // 0005 CALL R4 2
|
||||
0x88100103, // 0006 GETMBR R4 R0 K3
|
||||
0x88100904, // 0007 GETMBR R4 R4 K4
|
||||
0xA4160A00, // 0008 IMPORT R5 K5
|
||||
0x8C180B06, // 0009 GETMET R6 R5 K6
|
||||
0x5C200400, // 000A MOVE R8 R2
|
||||
0x7C180400, // 000B CALL R6 2
|
||||
0x4C1C0000, // 000C LDNIL R7
|
||||
0x781A0017, // 000D JMPF R6 #0026
|
||||
0x8C200D07, // 000E GETMET R8 R6 K7
|
||||
0x58280008, // 000F LDCONST R10 K8
|
||||
0x7C200400, // 0010 CALL R8 2
|
||||
0x78220002, // 0011 JMPF R8 #0015
|
||||
0x94180D08, // 0012 GETIDX R6 R6 K8
|
||||
0x541E0007, // 0013 LDINT R7 8
|
||||
0x7002000C, // 0014 JMP #0022
|
||||
0x8C200D07, // 0015 GETMET R8 R6 K7
|
||||
0x58280009, // 0016 LDCONST R10 K9
|
||||
0x7C200400, // 0017 CALL R8 2
|
||||
0x78220002, // 0018 JMPF R8 #001C
|
||||
0x94180D09, // 0019 GETIDX R6 R6 K9
|
||||
0x541E000A, // 001A LDINT R7 11
|
||||
0x70020005, // 001B JMP #0022
|
||||
0x8C200D07, // 001C GETMET R8 R6 K7
|
||||
0x5828000A, // 001D LDCONST R10 K10
|
||||
0x7C200400, // 001E CALL R8 2
|
||||
0x78220001, // 001F JMPF R8 #0022
|
||||
0x94180D09, // 0020 GETIDX R6 R6 K9
|
||||
0x541E000C, // 0021 LDINT R7 13
|
||||
0x8C20010B, // 0022 GETMET R8 R0 K11
|
||||
0x5C280C00, // 0023 MOVE R10 R6
|
||||
0x5C2C0E00, // 0024 MOVE R11 R7
|
||||
0x7C200600, // 0025 CALL R8 3
|
||||
0x80000000, // 0026 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
@ -550,32 +823,35 @@ extern const bclass be_class_Matter_Plugin_Device;
|
||||
be_local_class(Matter_Plugin_Bridge_HTTP,
|
||||
1,
|
||||
&be_class_Matter_Plugin_Device,
|
||||
be_nested_map(21,
|
||||
be_nested_map(24,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_weak(read_attribute, -1), be_const_closure(Matter_Plugin_Bridge_HTTP_read_attribute_closure) },
|
||||
{ be_const_key_weak(web_value_onoff, -1), be_const_closure(Matter_Plugin_Bridge_HTTP_web_value_onoff_closure) },
|
||||
{ be_const_key_weak(ARG_HTTP, 23), be_nested_str_weak(url) },
|
||||
{ be_const_key_weak(register_cmd_cb, 11), be_const_closure(Matter_Plugin_Bridge_HTTP_register_cmd_cb_closure) },
|
||||
{ be_const_key_weak(SYNC_TIMEOUT, -1), be_const_int(500) },
|
||||
{ be_const_key_weak(CLUSTERS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
{ be_const_key_weak(init, -1), be_const_closure(Matter_Plugin_Bridge_HTTP_init_closure) },
|
||||
{ be_const_key_weak(http_remote, -1), be_const_var(0) },
|
||||
{ be_const_key_weak(GetOptionReader, 1), be_const_class(be_class_GetOptionReader) },
|
||||
{ be_const_key_weak(NAME, -1), be_nested_str_weak() },
|
||||
{ be_const_key_weak(CLUSTERS, 21), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
be_const_map( * be_nested_map(0,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
})) ) } )) },
|
||||
{ be_const_key_weak(is_local_device, -1), be_const_closure(Matter_Plugin_Bridge_HTTP_is_local_device_closure) },
|
||||
{ be_const_key_weak(every_250ms, 12), be_const_closure(Matter_Plugin_Bridge_HTTP_every_250ms_closure) },
|
||||
{ be_const_key_weak(PREFIX, -1), be_nested_str_weak(_X7C_X20_X3Ci_X3E_X25s_X3C_X2Fi_X3E_X20) },
|
||||
{ be_const_key_weak(web_value_onoff, 7), be_const_closure(Matter_Plugin_Bridge_HTTP_web_value_onoff_closure) },
|
||||
{ be_const_key_weak(parse_http_response, -1), be_const_closure(Matter_Plugin_Bridge_HTTP_parse_http_response_closure) },
|
||||
{ be_const_key_weak(init, 18), be_const_closure(Matter_Plugin_Bridge_HTTP_init_closure) },
|
||||
{ be_const_key_weak(update_shadow, 3), be_const_closure(Matter_Plugin_Bridge_HTTP_update_shadow_closure) },
|
||||
{ be_const_key_weak(every_250ms, -1), be_const_closure(Matter_Plugin_Bridge_HTTP_every_250ms_closure) },
|
||||
{ be_const_key_weak(UPDATE_TIME, -1), be_const_int(3000) },
|
||||
{ be_const_key_weak(TYPE, 4), be_nested_str_weak() },
|
||||
{ be_const_key_weak(web_values, -1), be_const_closure(Matter_Plugin_Bridge_HTTP_web_values_closure) },
|
||||
{ be_const_key_weak(ARG_HTTP, 6), be_nested_str_weak(url) },
|
||||
{ be_const_key_weak(PROBE_TIMEOUT, -1), be_const_int(1700) },
|
||||
{ be_const_key_weak(ARG, -1), be_nested_str_weak() },
|
||||
{ be_const_key_weak(NAME, 14), be_nested_str_weak() },
|
||||
{ be_const_key_weak(call_remote_sync, 17), be_const_closure(Matter_Plugin_Bridge_HTTP_call_remote_sync_closure) },
|
||||
{ be_const_key_weak(parse_update, -1), be_const_closure(Matter_Plugin_Bridge_HTTP_parse_update_closure) },
|
||||
{ be_const_key_weak(TYPE, 20), be_nested_str_weak() },
|
||||
{ be_const_key_weak(UPDATE_CMD, -1), be_nested_str_weak(Status_X2011) },
|
||||
{ be_const_key_weak(http_remote, -1), be_const_var(0) },
|
||||
{ be_const_key_weak(register_cmd_cb, -1), be_const_closure(Matter_Plugin_Bridge_HTTP_register_cmd_cb_closure) },
|
||||
{ be_const_key_weak(ARG, 14), be_nested_str_weak() },
|
||||
{ be_const_key_weak(is_local_device, 19), be_const_closure(Matter_Plugin_Bridge_HTTP_is_local_device_closure) },
|
||||
{ be_const_key_weak(web_values_prefix, -1), be_const_closure(Matter_Plugin_Bridge_HTTP_web_values_prefix_closure) },
|
||||
{ be_const_key_weak(read_attribute, -1), be_const_closure(Matter_Plugin_Bridge_HTTP_read_attribute_closure) },
|
||||
{ be_const_key_weak(parse_update, -1), be_const_closure(Matter_Plugin_Bridge_HTTP_parse_update_closure) },
|
||||
{ be_const_key_weak(update_shadow, 22), be_const_closure(Matter_Plugin_Bridge_HTTP_update_shadow_closure) },
|
||||
{ be_const_key_weak(call_remote_sync, -1), be_const_closure(Matter_Plugin_Bridge_HTTP_call_remote_sync_closure) },
|
||||
{ be_const_key_weak(PROBE_TIMEOUT, -1), be_const_int(1700) },
|
||||
{ be_const_key_weak(UPDATE_TIME, -1), be_const_int(3000) },
|
||||
})),
|
||||
be_str_weak(Matter_Plugin_Bridge_HTTP)
|
||||
);
|
||||
|
@ -7,168 +7,26 @@
|
||||
extern const bclass be_class_Matter_Plugin_Bridge_Light0;
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: init
|
||||
** Solidified function: <lambda>
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Bridge_Light0_init, /* name */
|
||||
be_local_closure(Matter_Plugin_Bridge_Light0__X3Clambda_X3E, /* name */
|
||||
be_nested_proto(
|
||||
9, /* nstack */
|
||||
4, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 7]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(init),
|
||||
/* K1 */ be_nested_str_weak(shadow_onoff),
|
||||
/* K2 */ be_nested_str_weak(tasmota_relay_index),
|
||||
/* K3 */ be_nested_str_weak(find),
|
||||
/* K4 */ be_nested_str_weak(ARG),
|
||||
/* K5 */ be_const_int(1),
|
||||
/* K6 */ be_const_int(0),
|
||||
}),
|
||||
be_str_weak(init),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[22]) { /* code */
|
||||
0x60100003, // 0000 GETGBL R4 G3
|
||||
0x5C140000, // 0001 MOVE R5 R0
|
||||
0x7C100200, // 0002 CALL R4 1
|
||||
0x8C100900, // 0003 GETMET R4 R4 K0
|
||||
0x5C180200, // 0004 MOVE R6 R1
|
||||
0x5C1C0400, // 0005 MOVE R7 R2
|
||||
0x5C200600, // 0006 MOVE R8 R3
|
||||
0x7C100800, // 0007 CALL R4 4
|
||||
0x50100000, // 0008 LDBOOL R4 0 0
|
||||
0x90020204, // 0009 SETMBR R0 K1 R4
|
||||
0x60100009, // 000A GETGBL R4 G9
|
||||
0x8C140703, // 000B GETMET R5 R3 K3
|
||||
0x881C0104, // 000C GETMBR R7 R0 K4
|
||||
0x58200005, // 000D LDCONST R8 K5
|
||||
0x7C140600, // 000E CALL R5 3
|
||||
0x7C100200, // 000F CALL R4 1
|
||||
0x90020404, // 0010 SETMBR R0 K2 R4
|
||||
0x88100102, // 0011 GETMBR R4 R0 K2
|
||||
0x18100906, // 0012 LE R4 R4 K6
|
||||
0x78120000, // 0013 JMPF R4 #0015
|
||||
0x90020505, // 0014 SETMBR R0 K2 K5
|
||||
0x80000000, // 0015 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: parse_update
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Bridge_Light0_parse_update, /* name */
|
||||
be_nested_proto(
|
||||
8, /* nstack */
|
||||
3, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 9]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(tasmota_relay_index),
|
||||
/* K1 */ be_const_int(1),
|
||||
/* K2 */ be_nested_str_weak(contains),
|
||||
/* K3 */ be_nested_str_weak(POWER),
|
||||
/* K4 */ be_nested_str_weak(find),
|
||||
/* K5 */ be_nested_str_weak(ON),
|
||||
/* K6 */ be_nested_str_weak(shadow_onoff),
|
||||
/* K7 */ be_nested_str_weak(attribute_updated),
|
||||
/* K8 */ be_const_int(0),
|
||||
}),
|
||||
be_str_weak(parse_update),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[41]) { /* code */
|
||||
0x540E000A, // 0000 LDINT R3 11
|
||||
0x1C0C0403, // 0001 EQ R3 R2 R3
|
||||
0x780E0024, // 0002 JMPF R3 #0028
|
||||
0x500C0000, // 0003 LDBOOL R3 0 0
|
||||
0x88100100, // 0004 GETMBR R4 R0 K0
|
||||
0x1C100901, // 0005 EQ R4 R4 K1
|
||||
0x78120009, // 0006 JMPF R4 #0011
|
||||
0x8C100302, // 0007 GETMET R4 R1 K2
|
||||
0x58180003, // 0008 LDCONST R6 K3
|
||||
0x7C100400, // 0009 CALL R4 2
|
||||
0x78120005, // 000A JMPF R4 #0011
|
||||
0x8C100304, // 000B GETMET R4 R1 K4
|
||||
0x58180003, // 000C LDCONST R6 K3
|
||||
0x7C100400, // 000D CALL R4 2
|
||||
0x1C100905, // 000E EQ R4 R4 K5
|
||||
0x5C0C0800, // 000F MOVE R3 R4
|
||||
0x70020007, // 0010 JMP #0019
|
||||
0x8C100304, // 0011 GETMET R4 R1 K4
|
||||
0x60180008, // 0012 GETGBL R6 G8
|
||||
0x881C0100, // 0013 GETMBR R7 R0 K0
|
||||
0x7C180200, // 0014 CALL R6 1
|
||||
0x001A0606, // 0015 ADD R6 K3 R6
|
||||
0x7C100400, // 0016 CALL R4 2
|
||||
0x1C100905, // 0017 EQ R4 R4 K5
|
||||
0x5C0C0800, // 0018 MOVE R3 R4
|
||||
0x88100106, // 0019 GETMBR R4 R0 K6
|
||||
0x4C140000, // 001A LDNIL R5
|
||||
0x20100805, // 001B NE R4 R4 R5
|
||||
0x78120009, // 001C JMPF R4 #0027
|
||||
0x88100106, // 001D GETMBR R4 R0 K6
|
||||
0x60140017, // 001E GETGBL R5 G23
|
||||
0x5C180600, // 001F MOVE R6 R3
|
||||
0x7C140200, // 0020 CALL R5 1
|
||||
0x20100805, // 0021 NE R4 R4 R5
|
||||
0x78120003, // 0022 JMPF R4 #0027
|
||||
0x8C100107, // 0023 GETMET R4 R0 K7
|
||||
0x541A0005, // 0024 LDINT R6 6
|
||||
0x581C0008, // 0025 LDCONST R7 K8
|
||||
0x7C100600, // 0026 CALL R4 3
|
||||
0x90020C03, // 0027 SETMBR R0 K6 R3
|
||||
0x80000000, // 0028 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: web_values
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Bridge_Light0_web_values, /* name */
|
||||
be_nested_proto(
|
||||
11, /* nstack */
|
||||
3, /* nstack */
|
||||
1, /* argc */
|
||||
2, /* varg */
|
||||
0, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 7]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(webserver),
|
||||
/* K1 */ be_nested_str_weak(string),
|
||||
/* K2 */ be_nested_str_weak(content_send),
|
||||
/* K3 */ be_nested_str_weak(format),
|
||||
/* K4 */ be_nested_str_weak(_X7C_X20Light_X20_X25s),
|
||||
/* K5 */ be_nested_str_weak(web_value_onoff),
|
||||
/* K6 */ be_nested_str_weak(shadow_onoff),
|
||||
}),
|
||||
be_str_weak(web_values),
|
||||
0, /* has constants */
|
||||
NULL, /* no const */
|
||||
be_str_weak(_X3Clambda_X3E),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[11]) { /* code */
|
||||
0xA4060000, // 0000 IMPORT R1 K0
|
||||
0xA40A0200, // 0001 IMPORT R2 K1
|
||||
0x8C0C0302, // 0002 GETMET R3 R1 K2
|
||||
0x8C140503, // 0003 GETMET R5 R2 K3
|
||||
0x581C0004, // 0004 LDCONST R7 K4
|
||||
0x8C200105, // 0005 GETMET R8 R0 K5
|
||||
0x88280106, // 0006 GETMBR R10 R0 K6
|
||||
0x7C200400, // 0007 CALL R8 2
|
||||
0x7C140600, // 0008 CALL R5 3
|
||||
0x7C0C0400, // 0009 CALL R3 2
|
||||
0x80000000, // 000A RET 0
|
||||
( &(const binstruction[ 4]) { /* code */
|
||||
0x60040009, // 0000 GETGBL R1 G9
|
||||
0x5C080000, // 0001 MOVE R2 R0
|
||||
0x7C040200, // 0002 CALL R1 1
|
||||
0x80040200, // 0003 RET 1 R1
|
||||
})
|
||||
)
|
||||
);
|
||||
@ -224,38 +82,11 @@ be_local_closure(Matter_Plugin_Bridge_Light0_set_onoff, /* name */
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: <lambda>
|
||||
** Solidified function: init
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Bridge_Light0__X3Clambda_X3E, /* name */
|
||||
be_local_closure(Matter_Plugin_Bridge_Light0_init, /* name */
|
||||
be_nested_proto(
|
||||
3, /* nstack */
|
||||
1, /* argc */
|
||||
0, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
0, /* has constants */
|
||||
NULL, /* no const */
|
||||
be_str_weak(_X3Clambda_X3E),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[ 4]) { /* code */
|
||||
0x60040009, // 0000 GETGBL R1 G9
|
||||
0x5C080000, // 0001 MOVE R2 R0
|
||||
0x7C040200, // 0002 CALL R1 1
|
||||
0x80040200, // 0003 RET 1 R1
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: invoke_request
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Bridge_Light0_invoke_request, /* name */
|
||||
be_nested_proto(
|
||||
10, /* nstack */
|
||||
9, /* nstack */
|
||||
4, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
@ -263,57 +94,40 @@ be_local_closure(Matter_Plugin_Bridge_Light0_invoke_request, /* name */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[10]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(matter),
|
||||
/* K1 */ be_nested_str_weak(TLV),
|
||||
/* K2 */ be_nested_str_weak(cluster),
|
||||
/* K3 */ be_nested_str_weak(command),
|
||||
/* K4 */ be_nested_str_weak(update_shadow_lazy),
|
||||
/* K5 */ be_const_int(0),
|
||||
/* K6 */ be_nested_str_weak(set_onoff),
|
||||
/* K7 */ be_const_int(1),
|
||||
/* K8 */ be_const_int(2),
|
||||
/* K9 */ be_nested_str_weak(shadow_onoff),
|
||||
( &(const bvalue[ 7]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(init),
|
||||
/* K1 */ be_nested_str_weak(shadow_onoff),
|
||||
/* K2 */ be_nested_str_weak(tasmota_relay_index),
|
||||
/* K3 */ be_nested_str_weak(find),
|
||||
/* K4 */ be_nested_str_weak(ARG),
|
||||
/* K5 */ be_const_int(1),
|
||||
/* K6 */ be_const_int(0),
|
||||
}),
|
||||
be_str_weak(invoke_request),
|
||||
be_str_weak(init),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[36]) { /* code */
|
||||
0xB8120000, // 0000 GETNGBL R4 K0
|
||||
0x88100901, // 0001 GETMBR R4 R4 K1
|
||||
0x88140702, // 0002 GETMBR R5 R3 K2
|
||||
0x88180703, // 0003 GETMBR R6 R3 K3
|
||||
0x541E0005, // 0004 LDINT R7 6
|
||||
0x1C1C0A07, // 0005 EQ R7 R5 R7
|
||||
0x781E001B, // 0006 JMPF R7 #0023
|
||||
0x8C1C0104, // 0007 GETMET R7 R0 K4
|
||||
0x7C1C0200, // 0008 CALL R7 1
|
||||
0x1C1C0D05, // 0009 EQ R7 R6 K5
|
||||
0x781E0005, // 000A JMPF R7 #0011
|
||||
0x8C1C0106, // 000B GETMET R7 R0 K6
|
||||
0x50240000, // 000C LDBOOL R9 0 0
|
||||
0x7C1C0400, // 000D CALL R7 2
|
||||
0x501C0200, // 000E LDBOOL R7 1 0
|
||||
0x80040E00, // 000F RET 1 R7
|
||||
0x70020011, // 0010 JMP #0023
|
||||
0x1C1C0D07, // 0011 EQ R7 R6 K7
|
||||
0x781E0005, // 0012 JMPF R7 #0019
|
||||
0x8C1C0106, // 0013 GETMET R7 R0 K6
|
||||
0x50240200, // 0014 LDBOOL R9 1 0
|
||||
0x7C1C0400, // 0015 CALL R7 2
|
||||
0x501C0200, // 0016 LDBOOL R7 1 0
|
||||
0x80040E00, // 0017 RET 1 R7
|
||||
0x70020009, // 0018 JMP #0023
|
||||
0x1C1C0D08, // 0019 EQ R7 R6 K8
|
||||
0x781E0007, // 001A JMPF R7 #0023
|
||||
0x8C1C0106, // 001B GETMET R7 R0 K6
|
||||
0x88240109, // 001C GETMBR R9 R0 K9
|
||||
0x78260000, // 001D JMPF R9 #001F
|
||||
0x50240001, // 001E LDBOOL R9 0 1
|
||||
0x50240200, // 001F LDBOOL R9 1 0
|
||||
0x7C1C0400, // 0020 CALL R7 2
|
||||
0x501C0200, // 0021 LDBOOL R7 1 0
|
||||
0x80040E00, // 0022 RET 1 R7
|
||||
0x80000000, // 0023 RET 0
|
||||
( &(const binstruction[22]) { /* code */
|
||||
0x60100003, // 0000 GETGBL R4 G3
|
||||
0x5C140000, // 0001 MOVE R5 R0
|
||||
0x7C100200, // 0002 CALL R4 1
|
||||
0x8C100900, // 0003 GETMET R4 R4 K0
|
||||
0x5C180200, // 0004 MOVE R6 R1
|
||||
0x5C1C0400, // 0005 MOVE R7 R2
|
||||
0x5C200600, // 0006 MOVE R8 R3
|
||||
0x7C100800, // 0007 CALL R4 4
|
||||
0x50100000, // 0008 LDBOOL R4 0 0
|
||||
0x90020204, // 0009 SETMBR R0 K1 R4
|
||||
0x60100009, // 000A GETGBL R4 G9
|
||||
0x8C140703, // 000B GETMET R5 R3 K3
|
||||
0x881C0104, // 000C GETMBR R7 R0 K4
|
||||
0x58200005, // 000D LDCONST R8 K5
|
||||
0x7C140600, // 000E CALL R5 3
|
||||
0x7C100200, // 000F CALL R4 1
|
||||
0x90020404, // 0010 SETMBR R0 K2 R4
|
||||
0x88100102, // 0011 GETMBR R4 R0 K2
|
||||
0x18100906, // 0012 LE R4 R4 K6
|
||||
0x78120000, // 0013 JMPF R4 #0015
|
||||
0x90020505, // 0014 SETMBR R0 K2 K5
|
||||
0x80000000, // 0015 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
@ -401,6 +215,252 @@ be_local_closure(Matter_Plugin_Bridge_Light0_read_attribute, /* name */
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: parse_update
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Bridge_Light0_parse_update, /* name */
|
||||
be_nested_proto(
|
||||
8, /* nstack */
|
||||
3, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 9]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(tasmota_relay_index),
|
||||
/* K1 */ be_const_int(1),
|
||||
/* K2 */ be_nested_str_weak(contains),
|
||||
/* K3 */ be_nested_str_weak(POWER),
|
||||
/* K4 */ be_nested_str_weak(find),
|
||||
/* K5 */ be_nested_str_weak(ON),
|
||||
/* K6 */ be_nested_str_weak(shadow_onoff),
|
||||
/* K7 */ be_nested_str_weak(attribute_updated),
|
||||
/* K8 */ be_const_int(0),
|
||||
}),
|
||||
be_str_weak(parse_update),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[41]) { /* code */
|
||||
0x540E000A, // 0000 LDINT R3 11
|
||||
0x1C0C0403, // 0001 EQ R3 R2 R3
|
||||
0x780E0024, // 0002 JMPF R3 #0028
|
||||
0x500C0000, // 0003 LDBOOL R3 0 0
|
||||
0x88100100, // 0004 GETMBR R4 R0 K0
|
||||
0x1C100901, // 0005 EQ R4 R4 K1
|
||||
0x78120009, // 0006 JMPF R4 #0011
|
||||
0x8C100302, // 0007 GETMET R4 R1 K2
|
||||
0x58180003, // 0008 LDCONST R6 K3
|
||||
0x7C100400, // 0009 CALL R4 2
|
||||
0x78120005, // 000A JMPF R4 #0011
|
||||
0x8C100304, // 000B GETMET R4 R1 K4
|
||||
0x58180003, // 000C LDCONST R6 K3
|
||||
0x7C100400, // 000D CALL R4 2
|
||||
0x1C100905, // 000E EQ R4 R4 K5
|
||||
0x5C0C0800, // 000F MOVE R3 R4
|
||||
0x70020007, // 0010 JMP #0019
|
||||
0x8C100304, // 0011 GETMET R4 R1 K4
|
||||
0x60180008, // 0012 GETGBL R6 G8
|
||||
0x881C0100, // 0013 GETMBR R7 R0 K0
|
||||
0x7C180200, // 0014 CALL R6 1
|
||||
0x001A0606, // 0015 ADD R6 K3 R6
|
||||
0x7C100400, // 0016 CALL R4 2
|
||||
0x1C100905, // 0017 EQ R4 R4 K5
|
||||
0x5C0C0800, // 0018 MOVE R3 R4
|
||||
0x88100106, // 0019 GETMBR R4 R0 K6
|
||||
0x4C140000, // 001A LDNIL R5
|
||||
0x20100805, // 001B NE R4 R4 R5
|
||||
0x78120009, // 001C JMPF R4 #0027
|
||||
0x88100106, // 001D GETMBR R4 R0 K6
|
||||
0x60140017, // 001E GETGBL R5 G23
|
||||
0x5C180600, // 001F MOVE R6 R3
|
||||
0x7C140200, // 0020 CALL R5 1
|
||||
0x20100805, // 0021 NE R4 R4 R5
|
||||
0x78120003, // 0022 JMPF R4 #0027
|
||||
0x8C100107, // 0023 GETMET R4 R0 K7
|
||||
0x541A0005, // 0024 LDINT R6 6
|
||||
0x581C0008, // 0025 LDCONST R7 K8
|
||||
0x7C100600, // 0026 CALL R4 3
|
||||
0x90020C03, // 0027 SETMBR R0 K6 R3
|
||||
0x80000000, // 0028 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: invoke_request
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Bridge_Light0_invoke_request, /* name */
|
||||
be_nested_proto(
|
||||
10, /* nstack */
|
||||
4, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[10]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(matter),
|
||||
/* K1 */ be_nested_str_weak(TLV),
|
||||
/* K2 */ be_nested_str_weak(cluster),
|
||||
/* K3 */ be_nested_str_weak(command),
|
||||
/* K4 */ be_nested_str_weak(update_shadow_lazy),
|
||||
/* K5 */ be_const_int(0),
|
||||
/* K6 */ be_nested_str_weak(set_onoff),
|
||||
/* K7 */ be_const_int(1),
|
||||
/* K8 */ be_const_int(2),
|
||||
/* K9 */ be_nested_str_weak(shadow_onoff),
|
||||
}),
|
||||
be_str_weak(invoke_request),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[36]) { /* code */
|
||||
0xB8120000, // 0000 GETNGBL R4 K0
|
||||
0x88100901, // 0001 GETMBR R4 R4 K1
|
||||
0x88140702, // 0002 GETMBR R5 R3 K2
|
||||
0x88180703, // 0003 GETMBR R6 R3 K3
|
||||
0x541E0005, // 0004 LDINT R7 6
|
||||
0x1C1C0A07, // 0005 EQ R7 R5 R7
|
||||
0x781E001B, // 0006 JMPF R7 #0023
|
||||
0x8C1C0104, // 0007 GETMET R7 R0 K4
|
||||
0x7C1C0200, // 0008 CALL R7 1
|
||||
0x1C1C0D05, // 0009 EQ R7 R6 K5
|
||||
0x781E0005, // 000A JMPF R7 #0011
|
||||
0x8C1C0106, // 000B GETMET R7 R0 K6
|
||||
0x50240000, // 000C LDBOOL R9 0 0
|
||||
0x7C1C0400, // 000D CALL R7 2
|
||||
0x501C0200, // 000E LDBOOL R7 1 0
|
||||
0x80040E00, // 000F RET 1 R7
|
||||
0x70020011, // 0010 JMP #0023
|
||||
0x1C1C0D07, // 0011 EQ R7 R6 K7
|
||||
0x781E0005, // 0012 JMPF R7 #0019
|
||||
0x8C1C0106, // 0013 GETMET R7 R0 K6
|
||||
0x50240200, // 0014 LDBOOL R9 1 0
|
||||
0x7C1C0400, // 0015 CALL R7 2
|
||||
0x501C0200, // 0016 LDBOOL R7 1 0
|
||||
0x80040E00, // 0017 RET 1 R7
|
||||
0x70020009, // 0018 JMP #0023
|
||||
0x1C1C0D08, // 0019 EQ R7 R6 K8
|
||||
0x781E0007, // 001A JMPF R7 #0023
|
||||
0x8C1C0106, // 001B GETMET R7 R0 K6
|
||||
0x88240109, // 001C GETMBR R9 R0 K9
|
||||
0x78260000, // 001D JMPF R9 #001F
|
||||
0x50240001, // 001E LDBOOL R9 0 1
|
||||
0x50240200, // 001F LDBOOL R9 1 0
|
||||
0x7C1C0400, // 0020 CALL R7 2
|
||||
0x501C0200, // 0021 LDBOOL R7 1 0
|
||||
0x80040E00, // 0022 RET 1 R7
|
||||
0x80000000, // 0023 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: web_values
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Bridge_Light0_web_values, /* name */
|
||||
be_nested_proto(
|
||||
11, /* nstack */
|
||||
1, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 8]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(webserver),
|
||||
/* K1 */ be_nested_str_weak(string),
|
||||
/* K2 */ be_nested_str_weak(web_values_prefix),
|
||||
/* K3 */ be_nested_str_weak(content_send),
|
||||
/* K4 */ be_nested_str_weak(format),
|
||||
/* K5 */ be_nested_str_weak(_X25s),
|
||||
/* K6 */ be_nested_str_weak(web_value_onoff),
|
||||
/* K7 */ be_nested_str_weak(shadow_onoff),
|
||||
}),
|
||||
be_str_weak(web_values),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[13]) { /* code */
|
||||
0xA4060000, // 0000 IMPORT R1 K0
|
||||
0xA40A0200, // 0001 IMPORT R2 K1
|
||||
0x8C0C0102, // 0002 GETMET R3 R0 K2
|
||||
0x7C0C0200, // 0003 CALL R3 1
|
||||
0x8C0C0303, // 0004 GETMET R3 R1 K3
|
||||
0x8C140504, // 0005 GETMET R5 R2 K4
|
||||
0x581C0005, // 0006 LDCONST R7 K5
|
||||
0x8C200106, // 0007 GETMET R8 R0 K6
|
||||
0x88280107, // 0008 GETMBR R10 R0 K7
|
||||
0x7C200400, // 0009 CALL R8 2
|
||||
0x7C140600, // 000A CALL R5 3
|
||||
0x7C0C0400, // 000B CALL R3 2
|
||||
0x80000000, // 000C RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: web_values_prefix
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Bridge_Light0_web_values_prefix, /* name */
|
||||
be_nested_proto(
|
||||
12, /* nstack */
|
||||
1, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[10]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(webserver),
|
||||
/* K1 */ be_nested_str_weak(string),
|
||||
/* K2 */ be_nested_str_weak(get_name),
|
||||
/* K3 */ be_nested_str_weak(Power),
|
||||
/* K4 */ be_nested_str_weak(tasmota_relay_index),
|
||||
/* K5 */ be_nested_str_weak(content_send),
|
||||
/* K6 */ be_nested_str_weak(format),
|
||||
/* K7 */ be_nested_str_weak(PREFIX),
|
||||
/* K8 */ be_nested_str_weak(html_escape),
|
||||
/* K9 */ be_nested_str_weak(),
|
||||
}),
|
||||
be_str_weak(web_values_prefix),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[23]) { /* code */
|
||||
0xA4060000, // 0000 IMPORT R1 K0
|
||||
0xA40A0200, // 0001 IMPORT R2 K1
|
||||
0x8C0C0102, // 0002 GETMET R3 R0 K2
|
||||
0x7C0C0200, // 0003 CALL R3 1
|
||||
0x5C100600, // 0004 MOVE R4 R3
|
||||
0x74120004, // 0005 JMPT R4 #000B
|
||||
0x60100008, // 0006 GETGBL R4 G8
|
||||
0x88140104, // 0007 GETMBR R5 R0 K4
|
||||
0x7C100200, // 0008 CALL R4 1
|
||||
0x00120604, // 0009 ADD R4 K3 R4
|
||||
0x5C0C0800, // 000A MOVE R3 R4
|
||||
0x8C100305, // 000B GETMET R4 R1 K5
|
||||
0x8C180506, // 000C GETMET R6 R2 K6
|
||||
0x88200107, // 000D GETMBR R8 R0 K7
|
||||
0x780E0003, // 000E JMPF R3 #0013
|
||||
0x8C240308, // 000F GETMET R9 R1 K8
|
||||
0x5C2C0600, // 0010 MOVE R11 R3
|
||||
0x7C240400, // 0011 CALL R9 2
|
||||
0x70020000, // 0012 JMP #0014
|
||||
0x58240009, // 0013 LDCONST R9 K9
|
||||
0x7C180600, // 0014 CALL R6 3
|
||||
0x7C100400, // 0015 CALL R4 2
|
||||
0x80000000, // 0016 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified class: Matter_Plugin_Bridge_Light0
|
||||
********************************************************************/
|
||||
@ -408,27 +468,18 @@ extern const bclass be_class_Matter_Plugin_Bridge_HTTP;
|
||||
be_local_class(Matter_Plugin_Bridge_Light0,
|
||||
2,
|
||||
&be_class_Matter_Plugin_Bridge_HTTP,
|
||||
be_nested_map(15,
|
||||
be_nested_map(16,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_weak(init, 11), be_const_closure(Matter_Plugin_Bridge_Light0_init_closure) },
|
||||
{ be_const_key_weak(parse_update, -1), be_const_closure(Matter_Plugin_Bridge_Light0_parse_update_closure) },
|
||||
{ be_const_key_weak(web_values, 10), be_const_closure(Matter_Plugin_Bridge_Light0_web_values_closure) },
|
||||
{ be_const_key_weak(ARG_TYPE, 5), be_const_static_closure(Matter_Plugin_Bridge_Light0__X3Clambda_X3E_closure) },
|
||||
{ be_const_key_weak(tasmota_relay_index, 4), be_const_var(0) },
|
||||
{ be_const_key_weak(set_onoff, -1), be_const_closure(Matter_Plugin_Bridge_Light0_set_onoff_closure) },
|
||||
{ be_const_key_weak(ARG_TYPE, 8), be_const_static_closure(Matter_Plugin_Bridge_Light0__X3Clambda_X3E_closure) },
|
||||
{ be_const_key_weak(tasmota_relay_index, 7), be_const_var(0) },
|
||||
{ be_const_key_weak(init, -1), be_const_closure(Matter_Plugin_Bridge_Light0_init_closure) },
|
||||
{ be_const_key_weak(web_values_prefix, 12), be_const_closure(Matter_Plugin_Bridge_Light0_web_values_prefix_closure) },
|
||||
{ be_const_key_weak(web_values, 14), be_const_closure(Matter_Plugin_Bridge_Light0_web_values_closure) },
|
||||
{ be_const_key_weak(NAME, -1), be_nested_str_weak(Light_X200_X20On) },
|
||||
{ be_const_key_weak(ARG, -1), be_nested_str_weak(relay) },
|
||||
{ be_const_key_weak(TYPES, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
be_const_map( * be_nested_map(1,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_int(256, -1), be_const_int(2) },
|
||||
})) ) } )) },
|
||||
{ be_const_key_weak(TYPE, 14), be_nested_str_weak(http_light0) },
|
||||
{ be_const_key_weak(NAME, 6), be_nested_str_weak(Light_X200_X20On) },
|
||||
{ be_const_key_weak(invoke_request, -1), be_const_closure(Matter_Plugin_Bridge_Light0_invoke_request_closure) },
|
||||
{ be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(Enter_X20Power_X3Cx_X3E_X20number) },
|
||||
{ be_const_key_weak(read_attribute, -1), be_const_closure(Matter_Plugin_Bridge_Light0_read_attribute_closure) },
|
||||
{ be_const_key_weak(shadow_onoff, -1), be_const_var(1) },
|
||||
{ be_const_key_weak(CLUSTERS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
{ be_const_key_weak(parse_update, -1), be_const_closure(Matter_Plugin_Bridge_Light0_parse_update_closure) },
|
||||
{ be_const_key_weak(CLUSTERS, 15), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
be_const_map( * be_nested_map(1,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_int(6, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, {
|
||||
@ -438,6 +489,16 @@ be_local_class(Matter_Plugin_Bridge_Light0,
|
||||
be_const_int(65532),
|
||||
be_const_int(65533),
|
||||
})) ) } )) },
|
||||
})) ) } )) },
|
||||
{ be_const_key_weak(read_attribute, 9), be_const_closure(Matter_Plugin_Bridge_Light0_read_attribute_closure) },
|
||||
{ be_const_key_weak(invoke_request, -1), be_const_closure(Matter_Plugin_Bridge_Light0_invoke_request_closure) },
|
||||
{ be_const_key_weak(ARG_HINT, -1), be_nested_str_weak(Enter_X20Power_X3Cx_X3E_X20number) },
|
||||
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(http_light0) },
|
||||
{ be_const_key_weak(shadow_onoff, -1), be_const_var(1) },
|
||||
{ be_const_key_weak(TYPES, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
be_const_map( * be_nested_map(1,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_int(256, -1), be_const_int(2) },
|
||||
})) ) } )) },
|
||||
})),
|
||||
be_str_weak(Matter_Plugin_Bridge_Light0)
|
||||
|
@ -286,32 +286,35 @@ be_local_closure(Matter_Plugin_Bridge_Light1_web_values, /* name */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 8]) { /* constants */
|
||||
( &(const bvalue[ 9]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(webserver),
|
||||
/* K1 */ be_nested_str_weak(string),
|
||||
/* K2 */ be_nested_str_weak(content_send),
|
||||
/* K3 */ be_nested_str_weak(format),
|
||||
/* K4 */ be_nested_str_weak(_X7C_X20Light_X20_X25s_X20_X25s),
|
||||
/* K5 */ be_nested_str_weak(web_value_onoff),
|
||||
/* K6 */ be_nested_str_weak(shadow_onoff),
|
||||
/* K7 */ be_nested_str_weak(web_value_dimmer),
|
||||
/* K2 */ be_nested_str_weak(web_values_prefix),
|
||||
/* K3 */ be_nested_str_weak(content_send),
|
||||
/* K4 */ be_nested_str_weak(format),
|
||||
/* K5 */ be_nested_str_weak(_X25s_X20_X25s),
|
||||
/* K6 */ be_nested_str_weak(web_value_onoff),
|
||||
/* K7 */ be_nested_str_weak(shadow_onoff),
|
||||
/* K8 */ be_nested_str_weak(web_value_dimmer),
|
||||
}),
|
||||
be_str_weak(web_values),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[13]) { /* code */
|
||||
( &(const binstruction[15]) { /* code */
|
||||
0xA4060000, // 0000 IMPORT R1 K0
|
||||
0xA40A0200, // 0001 IMPORT R2 K1
|
||||
0x8C0C0302, // 0002 GETMET R3 R1 K2
|
||||
0x8C140503, // 0003 GETMET R5 R2 K3
|
||||
0x581C0004, // 0004 LDCONST R7 K4
|
||||
0x8C200105, // 0005 GETMET R8 R0 K5
|
||||
0x88280106, // 0006 GETMBR R10 R0 K6
|
||||
0x7C200400, // 0007 CALL R8 2
|
||||
0x8C240107, // 0008 GETMET R9 R0 K7
|
||||
0x7C240200, // 0009 CALL R9 1
|
||||
0x7C140800, // 000A CALL R5 4
|
||||
0x7C0C0400, // 000B CALL R3 2
|
||||
0x80000000, // 000C RET 0
|
||||
0x8C0C0102, // 0002 GETMET R3 R0 K2
|
||||
0x7C0C0200, // 0003 CALL R3 1
|
||||
0x8C0C0303, // 0004 GETMET R3 R1 K3
|
||||
0x8C140504, // 0005 GETMET R5 R2 K4
|
||||
0x581C0005, // 0006 LDCONST R7 K5
|
||||
0x8C200106, // 0007 GETMET R8 R0 K6
|
||||
0x88280107, // 0008 GETMBR R10 R0 K7
|
||||
0x7C200400, // 0009 CALL R8 2
|
||||
0x8C240108, // 000A GETMET R9 R0 K8
|
||||
0x7C240200, // 000B CALL R9 1
|
||||
0x7C140800, // 000C CALL R5 4
|
||||
0x7C0C0400, // 000D CALL R3 2
|
||||
0x80000000, // 000E RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
|
@ -122,35 +122,38 @@ be_local_closure(Matter_Plugin_Bridge_Light2_web_values, /* name */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 9]) { /* constants */
|
||||
( &(const bvalue[10]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(webserver),
|
||||
/* K1 */ be_nested_str_weak(string),
|
||||
/* K2 */ be_nested_str_weak(content_send),
|
||||
/* K3 */ be_nested_str_weak(format),
|
||||
/* K4 */ be_nested_str_weak(_X7C_X20Light_X20_X25s_X20_X25s_X20_X25s),
|
||||
/* K5 */ be_nested_str_weak(web_value_onoff),
|
||||
/* K6 */ be_nested_str_weak(shadow_onoff),
|
||||
/* K7 */ be_nested_str_weak(web_value_dimmer),
|
||||
/* K8 */ be_nested_str_weak(web_value_ct),
|
||||
/* K2 */ be_nested_str_weak(web_values_prefix),
|
||||
/* K3 */ be_nested_str_weak(content_send),
|
||||
/* K4 */ be_nested_str_weak(format),
|
||||
/* K5 */ be_nested_str_weak(_X25s_X20_X25s_X20_X25s),
|
||||
/* K6 */ be_nested_str_weak(web_value_onoff),
|
||||
/* K7 */ be_nested_str_weak(shadow_onoff),
|
||||
/* K8 */ be_nested_str_weak(web_value_dimmer),
|
||||
/* K9 */ be_nested_str_weak(web_value_ct),
|
||||
}),
|
||||
be_str_weak(web_values),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[15]) { /* code */
|
||||
( &(const binstruction[17]) { /* code */
|
||||
0xA4060000, // 0000 IMPORT R1 K0
|
||||
0xA40A0200, // 0001 IMPORT R2 K1
|
||||
0x8C0C0302, // 0002 GETMET R3 R1 K2
|
||||
0x8C140503, // 0003 GETMET R5 R2 K3
|
||||
0x581C0004, // 0004 LDCONST R7 K4
|
||||
0x8C200105, // 0005 GETMET R8 R0 K5
|
||||
0x88280106, // 0006 GETMBR R10 R0 K6
|
||||
0x7C200400, // 0007 CALL R8 2
|
||||
0x8C240107, // 0008 GETMET R9 R0 K7
|
||||
0x7C240200, // 0009 CALL R9 1
|
||||
0x8C280108, // 000A GETMET R10 R0 K8
|
||||
0x7C280200, // 000B CALL R10 1
|
||||
0x7C140A00, // 000C CALL R5 5
|
||||
0x7C0C0400, // 000D CALL R3 2
|
||||
0x80000000, // 000E RET 0
|
||||
0x8C0C0102, // 0002 GETMET R3 R0 K2
|
||||
0x7C0C0200, // 0003 CALL R3 1
|
||||
0x8C0C0303, // 0004 GETMET R3 R1 K3
|
||||
0x8C140504, // 0005 GETMET R5 R2 K4
|
||||
0x581C0005, // 0006 LDCONST R7 K5
|
||||
0x8C200106, // 0007 GETMET R8 R0 K6
|
||||
0x88280107, // 0008 GETMBR R10 R0 K7
|
||||
0x7C200400, // 0009 CALL R8 2
|
||||
0x8C240108, // 000A GETMET R9 R0 K8
|
||||
0x7C240200, // 000B CALL R9 1
|
||||
0x8C280109, // 000C GETMET R10 R0 K9
|
||||
0x7C280200, // 000D CALL R10 1
|
||||
0x7C140A00, // 000E CALL R5 5
|
||||
0x7C0C0400, // 000F CALL R3 2
|
||||
0x80000000, // 0010 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
|
@ -176,35 +176,38 @@ be_local_closure(Matter_Plugin_Bridge_Light3_web_values, /* name */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 9]) { /* constants */
|
||||
( &(const bvalue[10]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(webserver),
|
||||
/* K1 */ be_nested_str_weak(string),
|
||||
/* K2 */ be_nested_str_weak(content_send),
|
||||
/* K3 */ be_nested_str_weak(format),
|
||||
/* K4 */ be_nested_str_weak(_X7C_X20Light_X20_X25s_X20_X25s_X20_X25s),
|
||||
/* K5 */ be_nested_str_weak(web_value_onoff),
|
||||
/* K6 */ be_nested_str_weak(shadow_onoff),
|
||||
/* K7 */ be_nested_str_weak(web_value_dimmer),
|
||||
/* K8 */ be_nested_str_weak(web_value_RGB),
|
||||
/* K2 */ be_nested_str_weak(web_values_prefix),
|
||||
/* K3 */ be_nested_str_weak(content_send),
|
||||
/* K4 */ be_nested_str_weak(format),
|
||||
/* K5 */ be_nested_str_weak(_X25s_X20_X25s_X20_X25s),
|
||||
/* K6 */ be_nested_str_weak(web_value_onoff),
|
||||
/* K7 */ be_nested_str_weak(shadow_onoff),
|
||||
/* K8 */ be_nested_str_weak(web_value_dimmer),
|
||||
/* K9 */ be_nested_str_weak(web_value_RGB),
|
||||
}),
|
||||
be_str_weak(web_values),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[15]) { /* code */
|
||||
( &(const binstruction[17]) { /* code */
|
||||
0xA4060000, // 0000 IMPORT R1 K0
|
||||
0xA40A0200, // 0001 IMPORT R2 K1
|
||||
0x8C0C0302, // 0002 GETMET R3 R1 K2
|
||||
0x8C140503, // 0003 GETMET R5 R2 K3
|
||||
0x581C0004, // 0004 LDCONST R7 K4
|
||||
0x8C200105, // 0005 GETMET R8 R0 K5
|
||||
0x88280106, // 0006 GETMBR R10 R0 K6
|
||||
0x7C200400, // 0007 CALL R8 2
|
||||
0x8C240107, // 0008 GETMET R9 R0 K7
|
||||
0x7C240200, // 0009 CALL R9 1
|
||||
0x8C280108, // 000A GETMET R10 R0 K8
|
||||
0x7C280200, // 000B CALL R10 1
|
||||
0x7C140A00, // 000C CALL R5 5
|
||||
0x7C0C0400, // 000D CALL R3 2
|
||||
0x80000000, // 000E RET 0
|
||||
0x8C0C0102, // 0002 GETMET R3 R0 K2
|
||||
0x7C0C0200, // 0003 CALL R3 1
|
||||
0x8C0C0303, // 0004 GETMET R3 R1 K3
|
||||
0x8C140504, // 0005 GETMET R5 R2 K4
|
||||
0x581C0005, // 0006 LDCONST R7 K5
|
||||
0x8C200106, // 0007 GETMET R8 R0 K6
|
||||
0x88280107, // 0008 GETMBR R10 R0 K7
|
||||
0x7C200400, // 0009 CALL R8 2
|
||||
0x8C240108, // 000A GETMET R9 R0 K8
|
||||
0x7C240200, // 000B CALL R9 1
|
||||
0x8C280109, // 000C GETMET R10 R0 K9
|
||||
0x7C280200, // 000D CALL R10 1
|
||||
0x7C140A00, // 000E CALL R5 5
|
||||
0x7C0C0400, // 000F CALL R3 2
|
||||
0x80000000, // 0010 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
|
@ -19,31 +19,34 @@ be_local_closure(Matter_Plugin_Bridge_OnOff_web_values, /* name */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 8]) { /* constants */
|
||||
( &(const bvalue[ 9]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(webserver),
|
||||
/* K1 */ be_nested_str_weak(string),
|
||||
/* K2 */ be_nested_str_weak(content_send),
|
||||
/* K3 */ be_nested_str_weak(format),
|
||||
/* K4 */ be_nested_str_weak(_X7C_X20Relay_X20_X25i_X20_X25s),
|
||||
/* K5 */ be_nested_str_weak(tasmota_relay_index),
|
||||
/* K6 */ be_nested_str_weak(web_value_onoff),
|
||||
/* K7 */ be_nested_str_weak(shadow_onoff),
|
||||
/* K2 */ be_nested_str_weak(web_values_prefix),
|
||||
/* K3 */ be_nested_str_weak(content_send),
|
||||
/* K4 */ be_nested_str_weak(format),
|
||||
/* K5 */ be_nested_str_weak(Relay_X20_X25i_X20_X25s),
|
||||
/* K6 */ be_nested_str_weak(tasmota_relay_index),
|
||||
/* K7 */ be_nested_str_weak(web_value_onoff),
|
||||
/* K8 */ be_nested_str_weak(shadow_onoff),
|
||||
}),
|
||||
be_str_weak(web_values),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[12]) { /* code */
|
||||
( &(const binstruction[14]) { /* code */
|
||||
0xA4060000, // 0000 IMPORT R1 K0
|
||||
0xA40A0200, // 0001 IMPORT R2 K1
|
||||
0x8C0C0302, // 0002 GETMET R3 R1 K2
|
||||
0x8C140503, // 0003 GETMET R5 R2 K3
|
||||
0x581C0004, // 0004 LDCONST R7 K4
|
||||
0x88200105, // 0005 GETMBR R8 R0 K5
|
||||
0x8C240106, // 0006 GETMET R9 R0 K6
|
||||
0x882C0107, // 0007 GETMBR R11 R0 K7
|
||||
0x7C240400, // 0008 CALL R9 2
|
||||
0x7C140800, // 0009 CALL R5 4
|
||||
0x7C0C0400, // 000A CALL R3 2
|
||||
0x80000000, // 000B RET 0
|
||||
0x8C0C0102, // 0002 GETMET R3 R0 K2
|
||||
0x7C0C0200, // 0003 CALL R3 1
|
||||
0x8C0C0303, // 0004 GETMET R3 R1 K3
|
||||
0x8C140504, // 0005 GETMET R5 R2 K4
|
||||
0x581C0005, // 0006 LDCONST R7 K5
|
||||
0x88200106, // 0007 GETMBR R8 R0 K6
|
||||
0x8C240107, // 0008 GETMET R9 R0 K7
|
||||
0x882C0108, // 0009 GETMBR R11 R0 K8
|
||||
0x7C240400, // 000A CALL R9 2
|
||||
0x7C140800, // 000B CALL R5 4
|
||||
0x7C0C0400, // 000C CALL R3 2
|
||||
0x80000000, // 000D RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
|
@ -6,6 +6,152 @@
|
||||
|
||||
extern const bclass be_class_Matter_Plugin_Bridge_Sensor;
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: web_values_prefix
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Bridge_Sensor_web_values_prefix, /* name */
|
||||
be_nested_proto(
|
||||
12, /* nstack */
|
||||
1, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 9]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(webserver),
|
||||
/* K1 */ be_nested_str_weak(string),
|
||||
/* K2 */ be_nested_str_weak(get_name),
|
||||
/* K3 */ be_nested_str_weak(filter_name_html),
|
||||
/* K4 */ be_nested_str_weak(content_send),
|
||||
/* K5 */ be_nested_str_weak(format),
|
||||
/* K6 */ be_nested_str_weak(PREFIX),
|
||||
/* K7 */ be_nested_str_weak(html_escape),
|
||||
/* K8 */ be_nested_str_weak(),
|
||||
}),
|
||||
be_str_weak(web_values_prefix),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[21]) { /* code */
|
||||
0xA4060000, // 0000 IMPORT R1 K0
|
||||
0xA40A0200, // 0001 IMPORT R2 K1
|
||||
0x8C0C0102, // 0002 GETMET R3 R0 K2
|
||||
0x7C0C0200, // 0003 CALL R3 1
|
||||
0x5C100600, // 0004 MOVE R4 R3
|
||||
0x74120002, // 0005 JMPT R4 #0009
|
||||
0x8C100103, // 0006 GETMET R4 R0 K3
|
||||
0x7C100200, // 0007 CALL R4 1
|
||||
0x5C0C0800, // 0008 MOVE R3 R4
|
||||
0x8C100304, // 0009 GETMET R4 R1 K4
|
||||
0x8C180505, // 000A GETMET R6 R2 K5
|
||||
0x88200106, // 000B GETMBR R8 R0 K6
|
||||
0x780E0003, // 000C JMPF R3 #0011
|
||||
0x8C240307, // 000D GETMET R9 R1 K7
|
||||
0x5C2C0600, // 000E MOVE R11 R3
|
||||
0x7C240400, // 000F CALL R9 2
|
||||
0x70020000, // 0010 JMP #0012
|
||||
0x58240008, // 0011 LDCONST R9 K8
|
||||
0x7C180600, // 0012 CALL R6 3
|
||||
0x7C100400, // 0013 CALL R4 2
|
||||
0x80000000, // 0014 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: parse_configuration
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Bridge_Sensor_parse_configuration, /* name */
|
||||
be_nested_proto(
|
||||
5, /* nstack */
|
||||
2, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 7]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(tasmota_sensor_filter),
|
||||
/* K1 */ be_nested_str_weak(find),
|
||||
/* K2 */ be_nested_str_weak(ARG),
|
||||
/* K3 */ be_nested_str_weak(tasmota_sensor_matcher),
|
||||
/* K4 */ be_nested_str_weak(tasmota),
|
||||
/* K5 */ be_nested_str_weak(Rule_Matcher),
|
||||
/* K6 */ be_nested_str_weak(parse),
|
||||
}),
|
||||
be_str_weak(parse_configuration),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[13]) { /* code */
|
||||
0x8C080301, // 0000 GETMET R2 R1 K1
|
||||
0x88100102, // 0001 GETMBR R4 R0 K2
|
||||
0x7C080400, // 0002 CALL R2 2
|
||||
0x90020002, // 0003 SETMBR R0 K0 R2
|
||||
0x88080100, // 0004 GETMBR R2 R0 K0
|
||||
0x780A0005, // 0005 JMPF R2 #000C
|
||||
0xB80A0800, // 0006 GETNGBL R2 K4
|
||||
0x88080505, // 0007 GETMBR R2 R2 K5
|
||||
0x8C080506, // 0008 GETMET R2 R2 K6
|
||||
0x88100100, // 0009 GETMBR R4 R0 K0
|
||||
0x7C080400, // 000A CALL R2 2
|
||||
0x90020602, // 000B SETMBR R0 K3 R2
|
||||
0x80000000, // 000C RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: value_changed
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Bridge_Sensor_value_changed, /* name */
|
||||
be_nested_proto(
|
||||
2, /* nstack */
|
||||
2, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
0, /* has constants */
|
||||
NULL, /* no const */
|
||||
be_str_weak(value_changed),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[ 1]) { /* code */
|
||||
0x80000000, // 0000 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: pre_value
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Bridge_Sensor_pre_value, /* name */
|
||||
be_nested_proto(
|
||||
2, /* nstack */
|
||||
2, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
0, /* has constants */
|
||||
NULL, /* no const */
|
||||
be_str_weak(pre_value),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[ 1]) { /* code */
|
||||
0x80040200, // 0000 RET 1 R1
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: parse_update
|
||||
********************************************************************/
|
||||
@ -104,98 +250,6 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_filter_name_html, /* name */
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: value_changed
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Bridge_Sensor_value_changed, /* name */
|
||||
be_nested_proto(
|
||||
2, /* nstack */
|
||||
2, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
0, /* has constants */
|
||||
NULL, /* no const */
|
||||
be_str_weak(value_changed),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[ 1]) { /* code */
|
||||
0x80000000, // 0000 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: pre_value
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Bridge_Sensor_pre_value, /* name */
|
||||
be_nested_proto(
|
||||
2, /* nstack */
|
||||
2, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
0, /* has constants */
|
||||
NULL, /* no const */
|
||||
be_str_weak(pre_value),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[ 1]) { /* code */
|
||||
0x80040200, // 0000 RET 1 R1
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: parse_configuration
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Bridge_Sensor_parse_configuration, /* name */
|
||||
be_nested_proto(
|
||||
5, /* nstack */
|
||||
2, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 7]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(tasmota_sensor_filter),
|
||||
/* K1 */ be_nested_str_weak(find),
|
||||
/* K2 */ be_nested_str_weak(ARG),
|
||||
/* K3 */ be_nested_str_weak(tasmota_sensor_matcher),
|
||||
/* K4 */ be_nested_str_weak(tasmota),
|
||||
/* K5 */ be_nested_str_weak(Rule_Matcher),
|
||||
/* K6 */ be_nested_str_weak(parse),
|
||||
}),
|
||||
be_str_weak(parse_configuration),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[13]) { /* code */
|
||||
0x8C080301, // 0000 GETMET R2 R1 K1
|
||||
0x88100102, // 0001 GETMBR R4 R0 K2
|
||||
0x7C080400, // 0002 CALL R2 2
|
||||
0x90020002, // 0003 SETMBR R0 K0 R2
|
||||
0x88080100, // 0004 GETMBR R2 R0 K0
|
||||
0x780A0005, // 0005 JMPF R2 #000C
|
||||
0xB80A0800, // 0006 GETNGBL R2 K4
|
||||
0x88080505, // 0007 GETMBR R2 R2 K5
|
||||
0x8C080506, // 0008 GETMET R2 R2 K6
|
||||
0x88100100, // 0009 GETMBR R4 R0 K0
|
||||
0x7C080400, // 000A CALL R2 2
|
||||
0x90020602, // 000B SETMBR R0 K3 R2
|
||||
0x80000000, // 000C RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified class: Matter_Plugin_Bridge_Sensor
|
||||
********************************************************************/
|
||||
@ -203,22 +257,23 @@ extern const bclass be_class_Matter_Plugin_Bridge_HTTP;
|
||||
be_local_class(Matter_Plugin_Bridge_Sensor,
|
||||
3,
|
||||
&be_class_Matter_Plugin_Bridge_HTTP,
|
||||
be_nested_map(14,
|
||||
be_nested_map(15,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_weak(UPDATE_CMD, -1), be_nested_str_weak(Status_X208) },
|
||||
{ be_const_key_weak(ARG, -1), be_nested_str_weak(filter) },
|
||||
{ be_const_key_weak(parse_update, 10), be_const_closure(Matter_Plugin_Bridge_Sensor_parse_update_closure) },
|
||||
{ be_const_key_weak(filter_name_html, -1), be_const_closure(Matter_Plugin_Bridge_Sensor_filter_name_html_closure) },
|
||||
{ be_const_key_weak(tasmota_sensor_filter, -1), be_const_var(0) },
|
||||
{ be_const_key_weak(value_changed, 0), be_const_closure(Matter_Plugin_Bridge_Sensor_value_changed_closure) },
|
||||
{ be_const_key_weak(tasmota_sensor_matcher, -1), be_const_var(1) },
|
||||
{ be_const_key_weak(parse_configuration, -1), be_const_closure(Matter_Plugin_Bridge_Sensor_parse_configuration_closure) },
|
||||
{ be_const_key_weak(pre_value, -1), be_const_closure(Matter_Plugin_Bridge_Sensor_pre_value_closure) },
|
||||
{ be_const_key_weak(ARG_HINT, 7), be_nested_str_weak(Enter_X20Filter_X20pattern) },
|
||||
{ be_const_key_weak(tasmota_sensor_filter, 10), be_const_var(0) },
|
||||
{ be_const_key_weak(web_values_prefix, -1), be_const_closure(Matter_Plugin_Bridge_Sensor_web_values_prefix_closure) },
|
||||
{ be_const_key_weak(shadow_value, -1), be_const_var(2) },
|
||||
{ be_const_key_weak(parse_configuration, -1), be_const_closure(Matter_Plugin_Bridge_Sensor_parse_configuration_closure) },
|
||||
{ be_const_key_weak(tasmota_sensor_matcher, -1), be_const_var(1) },
|
||||
{ be_const_key_weak(UPDATE_TIME, -1), be_const_int(5000) },
|
||||
{ be_const_key_weak(shadow_value, 9), be_const_var(2) },
|
||||
{ be_const_key_weak(ARG_HTTP, -1), be_nested_str_weak(url) },
|
||||
{ be_const_key_weak(ARG, -1), be_nested_str_weak(filter) },
|
||||
{ be_const_key_weak(UPDATE_CMD, 8), be_nested_str_weak(Status_X208) },
|
||||
{ be_const_key_weak(parse_update, 12), be_const_closure(Matter_Plugin_Bridge_Sensor_parse_update_closure) },
|
||||
{ be_const_key_weak(pre_value, -1), be_const_closure(Matter_Plugin_Bridge_Sensor_pre_value_closure) },
|
||||
{ be_const_key_weak(value_changed, -1), be_const_closure(Matter_Plugin_Bridge_Sensor_value_changed_closure) },
|
||||
{ be_const_key_weak(PROBE_TIMEOUT, -1), be_const_int(1700) },
|
||||
{ be_const_key_weak(filter_name_html, -1), be_const_closure(Matter_Plugin_Bridge_Sensor_filter_name_html_closure) },
|
||||
})),
|
||||
be_str_weak(Matter_Plugin_Bridge_Sensor)
|
||||
);
|
||||
|
@ -6,6 +6,140 @@
|
||||
|
||||
extern const bclass be_class_Matter_Plugin_Bridge_Sensor_Contact;
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: <lambda>
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Bridge_Sensor_Contact__X3Clambda_X3E, /* name */
|
||||
be_nested_proto(
|
||||
3, /* nstack */
|
||||
1, /* argc */
|
||||
0, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
0, /* has constants */
|
||||
NULL, /* no const */
|
||||
be_str_weak(_X3Clambda_X3E),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[ 4]) { /* code */
|
||||
0x60040009, // 0000 GETGBL R1 G9
|
||||
0x5C080000, // 0001 MOVE R2 R0
|
||||
0x7C040200, // 0002 CALL R1 1
|
||||
0x80040200, // 0003 RET 1 R1
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: init
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Bridge_Sensor_Contact_init, /* name */
|
||||
be_nested_proto(
|
||||
9, /* nstack */
|
||||
4, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 6]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(init),
|
||||
/* K1 */ be_nested_str_weak(tasmota_switch_index),
|
||||
/* K2 */ be_nested_str_weak(find),
|
||||
/* K3 */ be_nested_str_weak(ARG),
|
||||
/* K4 */ be_const_int(1),
|
||||
/* K5 */ be_const_int(0),
|
||||
}),
|
||||
be_str_weak(init),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[20]) { /* code */
|
||||
0x60100003, // 0000 GETGBL R4 G3
|
||||
0x5C140000, // 0001 MOVE R5 R0
|
||||
0x7C100200, // 0002 CALL R4 1
|
||||
0x8C100900, // 0003 GETMET R4 R4 K0
|
||||
0x5C180200, // 0004 MOVE R6 R1
|
||||
0x5C1C0400, // 0005 MOVE R7 R2
|
||||
0x5C200600, // 0006 MOVE R8 R3
|
||||
0x7C100800, // 0007 CALL R4 4
|
||||
0x60100009, // 0008 GETGBL R4 G9
|
||||
0x8C140702, // 0009 GETMET R5 R3 K2
|
||||
0x881C0103, // 000A GETMBR R7 R0 K3
|
||||
0x58200004, // 000B LDCONST R8 K4
|
||||
0x7C140600, // 000C CALL R5 3
|
||||
0x7C100200, // 000D CALL R4 1
|
||||
0x90020204, // 000E SETMBR R0 K1 R4
|
||||
0x88100101, // 000F GETMBR R4 R0 K1
|
||||
0x18100905, // 0010 LE R4 R4 K5
|
||||
0x78120000, // 0011 JMPF R4 #0013
|
||||
0x90020304, // 0012 SETMBR R0 K1 K4
|
||||
0x80000000, // 0013 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: web_values_prefix
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Bridge_Sensor_Contact_web_values_prefix, /* name */
|
||||
be_nested_proto(
|
||||
12, /* nstack */
|
||||
1, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[10]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(webserver),
|
||||
/* K1 */ be_nested_str_weak(string),
|
||||
/* K2 */ be_nested_str_weak(get_name),
|
||||
/* K3 */ be_nested_str_weak(Switch),
|
||||
/* K4 */ be_nested_str_weak(tasmota_switch_index),
|
||||
/* K5 */ be_nested_str_weak(content_send),
|
||||
/* K6 */ be_nested_str_weak(format),
|
||||
/* K7 */ be_nested_str_weak(PREFIX),
|
||||
/* K8 */ be_nested_str_weak(html_escape),
|
||||
/* K9 */ be_nested_str_weak(),
|
||||
}),
|
||||
be_str_weak(web_values_prefix),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[23]) { /* code */
|
||||
0xA4060000, // 0000 IMPORT R1 K0
|
||||
0xA40A0200, // 0001 IMPORT R2 K1
|
||||
0x8C0C0102, // 0002 GETMET R3 R0 K2
|
||||
0x7C0C0200, // 0003 CALL R3 1
|
||||
0x5C100600, // 0004 MOVE R4 R3
|
||||
0x74120004, // 0005 JMPT R4 #000B
|
||||
0x60100008, // 0006 GETGBL R4 G8
|
||||
0x88140104, // 0007 GETMBR R5 R0 K4
|
||||
0x7C100200, // 0008 CALL R4 1
|
||||
0x00120604, // 0009 ADD R4 K3 R4
|
||||
0x5C0C0800, // 000A MOVE R3 R4
|
||||
0x8C100305, // 000B GETMET R4 R1 K5
|
||||
0x8C180506, // 000C GETMET R6 R2 K6
|
||||
0x88200107, // 000D GETMBR R8 R0 K7
|
||||
0x780E0003, // 000E JMPF R3 #0013
|
||||
0x8C240308, // 000F GETMET R9 R1 K8
|
||||
0x5C2C0600, // 0010 MOVE R11 R3
|
||||
0x7C240400, // 0011 CALL R9 2
|
||||
0x70020000, // 0012 JMP #0014
|
||||
0x58240009, // 0013 LDCONST R9 K9
|
||||
0x7C180600, // 0014 CALL R6 3
|
||||
0x7C100400, // 0015 CALL R4 2
|
||||
0x80000000, // 0016 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: parse_update
|
||||
********************************************************************/
|
||||
@ -65,77 +199,6 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Contact_parse_update, /* name */
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: web_values
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Bridge_Sensor_Contact_web_values, /* name */
|
||||
be_nested_proto(
|
||||
12, /* nstack */
|
||||
1, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 8]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(webserver),
|
||||
/* K1 */ be_nested_str_weak(string),
|
||||
/* K2 */ be_nested_str_weak(content_send),
|
||||
/* K3 */ be_nested_str_weak(format),
|
||||
/* K4 */ be_nested_str_weak(_X7C_X20Contact_X25i_X20_X25s),
|
||||
/* K5 */ be_nested_str_weak(tasmota_switch_index),
|
||||
/* K6 */ be_nested_str_weak(web_value_onoff),
|
||||
/* K7 */ be_nested_str_weak(shadow_contact),
|
||||
}),
|
||||
be_str_weak(web_values),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[12]) { /* code */
|
||||
0xA4060000, // 0000 IMPORT R1 K0
|
||||
0xA40A0200, // 0001 IMPORT R2 K1
|
||||
0x8C0C0302, // 0002 GETMET R3 R1 K2
|
||||
0x8C140503, // 0003 GETMET R5 R2 K3
|
||||
0x581C0004, // 0004 LDCONST R7 K4
|
||||
0x88200105, // 0005 GETMBR R8 R0 K5
|
||||
0x8C240106, // 0006 GETMET R9 R0 K6
|
||||
0x882C0107, // 0007 GETMBR R11 R0 K7
|
||||
0x7C240400, // 0008 CALL R9 2
|
||||
0x7C140800, // 0009 CALL R5 4
|
||||
0x7C0C0400, // 000A CALL R3 2
|
||||
0x80000000, // 000B RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: <lambda>
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Bridge_Sensor_Contact__X3Clambda_X3E, /* name */
|
||||
be_nested_proto(
|
||||
3, /* nstack */
|
||||
1, /* argc */
|
||||
0, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
0, /* has constants */
|
||||
NULL, /* no const */
|
||||
be_str_weak(_X3Clambda_X3E),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[ 4]) { /* code */
|
||||
0x60040009, // 0000 GETGBL R1 G9
|
||||
0x5C080000, // 0001 MOVE R2 R0
|
||||
0x7C040200, // 0002 CALL R1 1
|
||||
0x80040200, // 0003 RET 1 R1
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: read_attribute
|
||||
********************************************************************/
|
||||
@ -227,49 +290,46 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Contact_read_attribute, /* name *
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: init
|
||||
** Solidified function: web_values
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Bridge_Sensor_Contact_init, /* name */
|
||||
be_local_closure(Matter_Plugin_Bridge_Sensor_Contact_web_values, /* name */
|
||||
be_nested_proto(
|
||||
9, /* nstack */
|
||||
4, /* argc */
|
||||
12, /* nstack */
|
||||
1, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 6]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(init),
|
||||
/* K1 */ be_nested_str_weak(tasmota_switch_index),
|
||||
/* K2 */ be_nested_str_weak(find),
|
||||
/* K3 */ be_nested_str_weak(ARG),
|
||||
/* K4 */ be_const_int(1),
|
||||
/* K5 */ be_const_int(0),
|
||||
( &(const bvalue[ 9]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(webserver),
|
||||
/* K1 */ be_nested_str_weak(string),
|
||||
/* K2 */ be_nested_str_weak(web_values_prefix),
|
||||
/* K3 */ be_nested_str_weak(content_send),
|
||||
/* K4 */ be_nested_str_weak(format),
|
||||
/* K5 */ be_nested_str_weak(Contact_X25i_X20_X25s),
|
||||
/* K6 */ be_nested_str_weak(tasmota_switch_index),
|
||||
/* K7 */ be_nested_str_weak(web_value_onoff),
|
||||
/* K8 */ be_nested_str_weak(shadow_contact),
|
||||
}),
|
||||
be_str_weak(init),
|
||||
be_str_weak(web_values),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[20]) { /* code */
|
||||
0x60100003, // 0000 GETGBL R4 G3
|
||||
0x5C140000, // 0001 MOVE R5 R0
|
||||
0x7C100200, // 0002 CALL R4 1
|
||||
0x8C100900, // 0003 GETMET R4 R4 K0
|
||||
0x5C180200, // 0004 MOVE R6 R1
|
||||
0x5C1C0400, // 0005 MOVE R7 R2
|
||||
0x5C200600, // 0006 MOVE R8 R3
|
||||
0x7C100800, // 0007 CALL R4 4
|
||||
0x60100009, // 0008 GETGBL R4 G9
|
||||
0x8C140702, // 0009 GETMET R5 R3 K2
|
||||
0x881C0103, // 000A GETMBR R7 R0 K3
|
||||
0x58200004, // 000B LDCONST R8 K4
|
||||
0x7C140600, // 000C CALL R5 3
|
||||
0x7C100200, // 000D CALL R4 1
|
||||
0x90020204, // 000E SETMBR R0 K1 R4
|
||||
0x88100101, // 000F GETMBR R4 R0 K1
|
||||
0x18100905, // 0010 LE R4 R4 K5
|
||||
0x78120000, // 0011 JMPF R4 #0013
|
||||
0x90020304, // 0012 SETMBR R0 K1 K4
|
||||
0x80000000, // 0013 RET 0
|
||||
( &(const binstruction[14]) { /* code */
|
||||
0xA4060000, // 0000 IMPORT R1 K0
|
||||
0xA40A0200, // 0001 IMPORT R2 K1
|
||||
0x8C0C0102, // 0002 GETMET R3 R0 K2
|
||||
0x7C0C0200, // 0003 CALL R3 1
|
||||
0x8C0C0303, // 0004 GETMET R3 R1 K3
|
||||
0x8C140504, // 0005 GETMET R5 R2 K4
|
||||
0x581C0005, // 0006 LDCONST R7 K5
|
||||
0x88200106, // 0007 GETMBR R8 R0 K6
|
||||
0x8C240107, // 0008 GETMET R9 R0 K7
|
||||
0x882C0108, // 0009 GETMBR R11 R0 K8
|
||||
0x7C240400, // 000A CALL R9 2
|
||||
0x7C140800, // 000B CALL R5 4
|
||||
0x7C0C0400, // 000C CALL R3 2
|
||||
0x80000000, // 000D RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
@ -283,27 +343,19 @@ extern const bclass be_class_Matter_Plugin_Bridge_HTTP;
|
||||
be_local_class(Matter_Plugin_Bridge_Sensor_Contact,
|
||||
2,
|
||||
&be_class_Matter_Plugin_Bridge_HTTP,
|
||||
be_nested_map(15,
|
||||
be_nested_map(16,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_weak(ARG_HINT, 3), be_nested_str_weak(Enter_X20Switch_X3Cx_X3E_X20number) },
|
||||
{ be_const_key_weak(parse_update, -1), be_const_closure(Matter_Plugin_Bridge_Sensor_Contact_parse_update_closure) },
|
||||
{ be_const_key_weak(web_values, -1), be_const_closure(Matter_Plugin_Bridge_Sensor_Contact_web_values_closure) },
|
||||
{ be_const_key_weak(init, -1), be_const_closure(Matter_Plugin_Bridge_Sensor_Contact_init_closure) },
|
||||
{ be_const_key_weak(ARG_TYPE, 10), be_const_static_closure(Matter_Plugin_Bridge_Sensor_Contact__X3Clambda_X3E_closure) },
|
||||
{ be_const_key_weak(TYPES, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
be_const_map( * be_nested_map(1,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_int(21, -1), be_const_int(1) },
|
||||
})) ) } )) },
|
||||
{ be_const_key_weak(UPDATE_TIME, -1), be_const_int(5000) },
|
||||
{ be_const_key_weak(tasmota_switch_index, -1), be_const_var(0) },
|
||||
{ be_const_key_weak(NAME, -1), be_nested_str_weak(Contact) },
|
||||
{ be_const_key_weak(UPDATE_CMD, 11), be_nested_str_weak(Status_X208) },
|
||||
{ be_const_key_weak(TYPE, 14), be_nested_str_weak(http_contact) },
|
||||
{ be_const_key_weak(ARG, 8), be_nested_str_weak(switch) },
|
||||
{ be_const_key_weak(read_attribute, -1), be_const_closure(Matter_Plugin_Bridge_Sensor_Contact_read_attribute_closure) },
|
||||
{ be_const_key_weak(ARG_TYPE, 5), be_const_static_closure(Matter_Plugin_Bridge_Sensor_Contact__X3Clambda_X3E_closure) },
|
||||
{ be_const_key_weak(ARG_HINT, 4), be_nested_str_weak(Enter_X20Switch_X3Cx_X3E_X20number) },
|
||||
{ be_const_key_weak(shadow_contact, -1), be_const_var(1) },
|
||||
{ be_const_key_weak(CLUSTERS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
{ be_const_key_weak(init, -1), be_const_closure(Matter_Plugin_Bridge_Sensor_Contact_init_closure) },
|
||||
{ be_const_key_weak(web_values_prefix, -1), be_const_closure(Matter_Plugin_Bridge_Sensor_Contact_web_values_prefix_closure) },
|
||||
{ be_const_key_weak(web_values, -1), be_const_closure(Matter_Plugin_Bridge_Sensor_Contact_web_values_closure) },
|
||||
{ be_const_key_weak(NAME, -1), be_nested_str_weak(Contact) },
|
||||
{ be_const_key_weak(ARG, -1), be_nested_str_weak(switch) },
|
||||
{ be_const_key_weak(UPDATE_TIME, 14), be_const_int(5000) },
|
||||
{ be_const_key_weak(read_attribute, -1), be_const_closure(Matter_Plugin_Bridge_Sensor_Contact_read_attribute_closure) },
|
||||
{ be_const_key_weak(CLUSTERS, 11), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
be_const_map( * be_nested_map(1,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_int(69, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, {
|
||||
@ -314,6 +366,15 @@ be_local_class(Matter_Plugin_Bridge_Sensor_Contact,
|
||||
be_const_int(65533),
|
||||
})) ) } )) },
|
||||
})) ) } )) },
|
||||
{ be_const_key_weak(TYPES, 12), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
be_const_map( * be_nested_map(1,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_int(21, -1), be_const_int(1) },
|
||||
})) ) } )) },
|
||||
{ be_const_key_weak(tasmota_switch_index, 9), be_const_var(0) },
|
||||
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(http_contact) },
|
||||
{ be_const_key_weak(parse_update, -1), be_const_closure(Matter_Plugin_Bridge_Sensor_Contact_parse_update_closure) },
|
||||
{ be_const_key_weak(UPDATE_CMD, -1), be_nested_str_weak(Status_X208) },
|
||||
})),
|
||||
be_str_weak(Matter_Plugin_Bridge_Sensor_Contact)
|
||||
);
|
||||
|
@ -185,7 +185,7 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Humidity_value_changed, /* name *
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Bridge_Sensor_Humidity_web_values, /* name */
|
||||
be_nested_proto(
|
||||
11, /* nstack */
|
||||
10, /* nstack */
|
||||
1, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
@ -196,10 +196,10 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Humidity_web_values, /* name */
|
||||
( &(const bvalue[ 7]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(webserver),
|
||||
/* K1 */ be_nested_str_weak(string),
|
||||
/* K2 */ be_nested_str_weak(content_send),
|
||||
/* K3 */ be_nested_str_weak(format),
|
||||
/* K4 */ be_nested_str_weak(_X7C_X20_X25s_X20_X26_X23x1F4A7_X3B_X20_X252_X2E0f_X25_X25),
|
||||
/* K5 */ be_nested_str_weak(filter_name_html),
|
||||
/* K2 */ be_nested_str_weak(web_values_prefix),
|
||||
/* K3 */ be_nested_str_weak(content_send),
|
||||
/* K4 */ be_nested_str_weak(format),
|
||||
/* K5 */ be_nested_str_weak(_X26_X23x1F4A7_X3B_X20_X252_X2E0f_X25_X25),
|
||||
/* K6 */ be_nested_str_weak(shadow_value),
|
||||
}),
|
||||
be_str_weak(web_values),
|
||||
@ -207,23 +207,23 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Humidity_web_values, /* name */
|
||||
( &(const binstruction[21]) { /* code */
|
||||
0xA4060000, // 0000 IMPORT R1 K0
|
||||
0xA40A0200, // 0001 IMPORT R2 K1
|
||||
0x8C0C0302, // 0002 GETMET R3 R1 K2
|
||||
0x8C140503, // 0003 GETMET R5 R2 K3
|
||||
0x581C0004, // 0004 LDCONST R7 K4
|
||||
0x8C200105, // 0005 GETMET R8 R0 K5
|
||||
0x7C200200, // 0006 CALL R8 1
|
||||
0x88240106, // 0007 GETMBR R9 R0 K6
|
||||
0x4C280000, // 0008 LDNIL R10
|
||||
0x2024120A, // 0009 NE R9 R9 R10
|
||||
0x78260005, // 000A JMPF R9 #0011
|
||||
0x6024000A, // 000B GETGBL R9 G10
|
||||
0x88280106, // 000C GETMBR R10 R0 K6
|
||||
0x7C240200, // 000D CALL R9 1
|
||||
0x542A0063, // 000E LDINT R10 100
|
||||
0x0C24120A, // 000F DIV R9 R9 R10
|
||||
0x8C0C0102, // 0002 GETMET R3 R0 K2
|
||||
0x7C0C0200, // 0003 CALL R3 1
|
||||
0x8C0C0303, // 0004 GETMET R3 R1 K3
|
||||
0x8C140504, // 0005 GETMET R5 R2 K4
|
||||
0x581C0005, // 0006 LDCONST R7 K5
|
||||
0x88200106, // 0007 GETMBR R8 R0 K6
|
||||
0x4C240000, // 0008 LDNIL R9
|
||||
0x20201009, // 0009 NE R8 R8 R9
|
||||
0x78220005, // 000A JMPF R8 #0011
|
||||
0x6020000A, // 000B GETGBL R8 G10
|
||||
0x88240106, // 000C GETMBR R9 R0 K6
|
||||
0x7C200200, // 000D CALL R8 1
|
||||
0x54260063, // 000E LDINT R9 100
|
||||
0x0C201009, // 000F DIV R8 R8 R9
|
||||
0x70020000, // 0010 JMP #0012
|
||||
0x4C240000, // 0011 LDNIL R9
|
||||
0x7C140800, // 0012 CALL R5 4
|
||||
0x4C200000, // 0011 LDNIL R8
|
||||
0x7C140600, // 0012 CALL R5 3
|
||||
0x7C0C0400, // 0013 CALL R3 2
|
||||
0x80000000, // 0014 RET 0
|
||||
})
|
||||
|
@ -197,7 +197,7 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Illuminance_value_changed, /* nam
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Bridge_Sensor_Illuminance_web_values, /* name */
|
||||
be_nested_proto(
|
||||
11, /* nstack */
|
||||
10, /* nstack */
|
||||
1, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
@ -208,10 +208,10 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Illuminance_web_values, /* name *
|
||||
( &(const bvalue[ 7]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(webserver),
|
||||
/* K1 */ be_nested_str_weak(string),
|
||||
/* K2 */ be_nested_str_weak(content_send),
|
||||
/* K3 */ be_nested_str_weak(format),
|
||||
/* K4 */ be_nested_str_weak(_X7C_X20_X25s_X20_X26_X23128261_X3B_X20_X25ilux),
|
||||
/* K5 */ be_nested_str_weak(filter_name_html),
|
||||
/* K2 */ be_nested_str_weak(web_values_prefix),
|
||||
/* K3 */ be_nested_str_weak(content_send),
|
||||
/* K4 */ be_nested_str_weak(format),
|
||||
/* K5 */ be_nested_str_weak(_X26_X23128261_X3B_X20_X25ilux),
|
||||
/* K6 */ be_nested_str_weak(shadow_value),
|
||||
}),
|
||||
be_str_weak(web_values),
|
||||
@ -219,15 +219,15 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Illuminance_web_values, /* name *
|
||||
( &(const binstruction[13]) { /* code */
|
||||
0xA4060000, // 0000 IMPORT R1 K0
|
||||
0xA40A0200, // 0001 IMPORT R2 K1
|
||||
0x8C0C0302, // 0002 GETMET R3 R1 K2
|
||||
0x8C140503, // 0003 GETMET R5 R2 K3
|
||||
0x581C0004, // 0004 LDCONST R7 K4
|
||||
0x8C200105, // 0005 GETMET R8 R0 K5
|
||||
0x7C200200, // 0006 CALL R8 1
|
||||
0x60240009, // 0007 GETGBL R9 G9
|
||||
0x88280106, // 0008 GETMBR R10 R0 K6
|
||||
0x7C240200, // 0009 CALL R9 1
|
||||
0x7C140800, // 000A CALL R5 4
|
||||
0x8C0C0102, // 0002 GETMET R3 R0 K2
|
||||
0x7C0C0200, // 0003 CALL R3 1
|
||||
0x8C0C0303, // 0004 GETMET R3 R1 K3
|
||||
0x8C140504, // 0005 GETMET R5 R2 K4
|
||||
0x581C0005, // 0006 LDCONST R7 K5
|
||||
0x60200009, // 0007 GETGBL R8 G9
|
||||
0x88240106, // 0008 GETMBR R9 R0 K6
|
||||
0x7C200200, // 0009 CALL R8 1
|
||||
0x7C140600, // 000A CALL R5 3
|
||||
0x7C0C0400, // 000B CALL R3 2
|
||||
0x80000000, // 000C RET 0
|
||||
})
|
||||
|
@ -6,6 +6,83 @@
|
||||
|
||||
extern const bclass be_class_Matter_Plugin_Bridge_Sensor_Occupancy;
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: <lambda>
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Bridge_Sensor_Occupancy__X3Clambda_X3E, /* name */
|
||||
be_nested_proto(
|
||||
3, /* nstack */
|
||||
1, /* argc */
|
||||
0, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
0, /* has constants */
|
||||
NULL, /* no const */
|
||||
be_str_weak(_X3Clambda_X3E),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[ 4]) { /* code */
|
||||
0x60040009, // 0000 GETGBL R1 G9
|
||||
0x5C080000, // 0001 MOVE R2 R0
|
||||
0x7C040200, // 0002 CALL R1 1
|
||||
0x80040200, // 0003 RET 1 R1
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: init
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Bridge_Sensor_Occupancy_init, /* name */
|
||||
be_nested_proto(
|
||||
9, /* nstack */
|
||||
4, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 6]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(init),
|
||||
/* K1 */ be_nested_str_weak(tasmota_switch_index),
|
||||
/* K2 */ be_nested_str_weak(find),
|
||||
/* K3 */ be_nested_str_weak(ARG),
|
||||
/* K4 */ be_const_int(1),
|
||||
/* K5 */ be_const_int(0),
|
||||
}),
|
||||
be_str_weak(init),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[20]) { /* code */
|
||||
0x60100003, // 0000 GETGBL R4 G3
|
||||
0x5C140000, // 0001 MOVE R5 R0
|
||||
0x7C100200, // 0002 CALL R4 1
|
||||
0x8C100900, // 0003 GETMET R4 R4 K0
|
||||
0x5C180200, // 0004 MOVE R6 R1
|
||||
0x5C1C0400, // 0005 MOVE R7 R2
|
||||
0x5C200600, // 0006 MOVE R8 R3
|
||||
0x7C100800, // 0007 CALL R4 4
|
||||
0x60100009, // 0008 GETGBL R4 G9
|
||||
0x8C140702, // 0009 GETMET R5 R3 K2
|
||||
0x881C0103, // 000A GETMBR R7 R0 K3
|
||||
0x58200004, // 000B LDCONST R8 K4
|
||||
0x7C140600, // 000C CALL R5 3
|
||||
0x7C100200, // 000D CALL R4 1
|
||||
0x90020204, // 000E SETMBR R0 K1 R4
|
||||
0x88100101, // 000F GETMBR R4 R0 K1
|
||||
0x18100905, // 0010 LE R4 R4 K5
|
||||
0x78120000, // 0011 JMPF R4 #0013
|
||||
0x90020304, // 0012 SETMBR R0 K1 K4
|
||||
0x80000000, // 0013 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: parse_update
|
||||
********************************************************************/
|
||||
@ -66,9 +143,9 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Occupancy_parse_update, /* name *
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: web_values
|
||||
** Solidified function: web_values_prefix
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Bridge_Sensor_Occupancy_web_values, /* name */
|
||||
be_local_closure(Matter_Plugin_Bridge_Sensor_Occupancy_web_values_prefix, /* name */
|
||||
be_nested_proto(
|
||||
12, /* nstack */
|
||||
1, /* argc */
|
||||
@ -78,58 +155,44 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Occupancy_web_values, /* name */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 8]) { /* constants */
|
||||
( &(const bvalue[10]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(webserver),
|
||||
/* K1 */ be_nested_str_weak(string),
|
||||
/* K2 */ be_nested_str_weak(content_send),
|
||||
/* K3 */ be_nested_str_weak(format),
|
||||
/* K4 */ be_nested_str_weak(_X7C_X20Occupancy_X25i_X20_X25s),
|
||||
/* K5 */ be_nested_str_weak(tasmota_switch_index),
|
||||
/* K6 */ be_nested_str_weak(web_value_onoff),
|
||||
/* K7 */ be_nested_str_weak(shadow_occupancy),
|
||||
/* K2 */ be_nested_str_weak(get_name),
|
||||
/* K3 */ be_nested_str_weak(Switch),
|
||||
/* K4 */ be_nested_str_weak(tasmota_switch_index),
|
||||
/* K5 */ be_nested_str_weak(content_send),
|
||||
/* K6 */ be_nested_str_weak(format),
|
||||
/* K7 */ be_nested_str_weak(PREFIX),
|
||||
/* K8 */ be_nested_str_weak(html_escape),
|
||||
/* K9 */ be_nested_str_weak(),
|
||||
}),
|
||||
be_str_weak(web_values),
|
||||
be_str_weak(web_values_prefix),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[12]) { /* code */
|
||||
( &(const binstruction[23]) { /* code */
|
||||
0xA4060000, // 0000 IMPORT R1 K0
|
||||
0xA40A0200, // 0001 IMPORT R2 K1
|
||||
0x8C0C0302, // 0002 GETMET R3 R1 K2
|
||||
0x8C140503, // 0003 GETMET R5 R2 K3
|
||||
0x581C0004, // 0004 LDCONST R7 K4
|
||||
0x88200105, // 0005 GETMBR R8 R0 K5
|
||||
0x8C240106, // 0006 GETMET R9 R0 K6
|
||||
0x882C0107, // 0007 GETMBR R11 R0 K7
|
||||
0x7C240400, // 0008 CALL R9 2
|
||||
0x7C140800, // 0009 CALL R5 4
|
||||
0x7C0C0400, // 000A CALL R3 2
|
||||
0x80000000, // 000B RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: <lambda>
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Bridge_Sensor_Occupancy__X3Clambda_X3E, /* name */
|
||||
be_nested_proto(
|
||||
3, /* nstack */
|
||||
1, /* argc */
|
||||
0, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
0, /* has constants */
|
||||
NULL, /* no const */
|
||||
be_str_weak(_X3Clambda_X3E),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[ 4]) { /* code */
|
||||
0x60040009, // 0000 GETGBL R1 G9
|
||||
0x5C080000, // 0001 MOVE R2 R0
|
||||
0x7C040200, // 0002 CALL R1 1
|
||||
0x80040200, // 0003 RET 1 R1
|
||||
0x8C0C0102, // 0002 GETMET R3 R0 K2
|
||||
0x7C0C0200, // 0003 CALL R3 1
|
||||
0x5C100600, // 0004 MOVE R4 R3
|
||||
0x74120004, // 0005 JMPT R4 #000B
|
||||
0x60100008, // 0006 GETGBL R4 G8
|
||||
0x88140104, // 0007 GETMBR R5 R0 K4
|
||||
0x7C100200, // 0008 CALL R4 1
|
||||
0x00120604, // 0009 ADD R4 K3 R4
|
||||
0x5C0C0800, // 000A MOVE R3 R4
|
||||
0x8C100305, // 000B GETMET R4 R1 K5
|
||||
0x8C180506, // 000C GETMET R6 R2 K6
|
||||
0x88200107, // 000D GETMBR R8 R0 K7
|
||||
0x780E0003, // 000E JMPF R3 #0013
|
||||
0x8C240308, // 000F GETMET R9 R1 K8
|
||||
0x5C2C0600, // 0010 MOVE R11 R3
|
||||
0x7C240400, // 0011 CALL R9 2
|
||||
0x70020000, // 0012 JMP #0014
|
||||
0x58240009, // 0013 LDCONST R9 K9
|
||||
0x7C180600, // 0014 CALL R6 3
|
||||
0x7C100400, // 0015 CALL R4 2
|
||||
0x80000000, // 0016 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
@ -245,49 +308,46 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Occupancy_read_attribute, /* name
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: init
|
||||
** Solidified function: web_values
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Bridge_Sensor_Occupancy_init, /* name */
|
||||
be_local_closure(Matter_Plugin_Bridge_Sensor_Occupancy_web_values, /* name */
|
||||
be_nested_proto(
|
||||
9, /* nstack */
|
||||
4, /* argc */
|
||||
12, /* nstack */
|
||||
1, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 6]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(init),
|
||||
/* K1 */ be_nested_str_weak(tasmota_switch_index),
|
||||
/* K2 */ be_nested_str_weak(find),
|
||||
/* K3 */ be_nested_str_weak(ARG),
|
||||
/* K4 */ be_const_int(1),
|
||||
/* K5 */ be_const_int(0),
|
||||
( &(const bvalue[ 9]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(webserver),
|
||||
/* K1 */ be_nested_str_weak(string),
|
||||
/* K2 */ be_nested_str_weak(web_values_prefix),
|
||||
/* K3 */ be_nested_str_weak(content_send),
|
||||
/* K4 */ be_nested_str_weak(format),
|
||||
/* K5 */ be_nested_str_weak(Occupancy_X25i_X20_X25s),
|
||||
/* K6 */ be_nested_str_weak(tasmota_switch_index),
|
||||
/* K7 */ be_nested_str_weak(web_value_onoff),
|
||||
/* K8 */ be_nested_str_weak(shadow_occupancy),
|
||||
}),
|
||||
be_str_weak(init),
|
||||
be_str_weak(web_values),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[20]) { /* code */
|
||||
0x60100003, // 0000 GETGBL R4 G3
|
||||
0x5C140000, // 0001 MOVE R5 R0
|
||||
0x7C100200, // 0002 CALL R4 1
|
||||
0x8C100900, // 0003 GETMET R4 R4 K0
|
||||
0x5C180200, // 0004 MOVE R6 R1
|
||||
0x5C1C0400, // 0005 MOVE R7 R2
|
||||
0x5C200600, // 0006 MOVE R8 R3
|
||||
0x7C100800, // 0007 CALL R4 4
|
||||
0x60100009, // 0008 GETGBL R4 G9
|
||||
0x8C140702, // 0009 GETMET R5 R3 K2
|
||||
0x881C0103, // 000A GETMBR R7 R0 K3
|
||||
0x58200004, // 000B LDCONST R8 K4
|
||||
0x7C140600, // 000C CALL R5 3
|
||||
0x7C100200, // 000D CALL R4 1
|
||||
0x90020204, // 000E SETMBR R0 K1 R4
|
||||
0x88100101, // 000F GETMBR R4 R0 K1
|
||||
0x18100905, // 0010 LE R4 R4 K5
|
||||
0x78120000, // 0011 JMPF R4 #0013
|
||||
0x90020304, // 0012 SETMBR R0 K1 K4
|
||||
0x80000000, // 0013 RET 0
|
||||
( &(const binstruction[14]) { /* code */
|
||||
0xA4060000, // 0000 IMPORT R1 K0
|
||||
0xA40A0200, // 0001 IMPORT R2 K1
|
||||
0x8C0C0102, // 0002 GETMET R3 R0 K2
|
||||
0x7C0C0200, // 0003 CALL R3 1
|
||||
0x8C0C0303, // 0004 GETMET R3 R1 K3
|
||||
0x8C140504, // 0005 GETMET R5 R2 K4
|
||||
0x581C0005, // 0006 LDCONST R7 K5
|
||||
0x88200106, // 0007 GETMBR R8 R0 K6
|
||||
0x8C240107, // 0008 GETMET R9 R0 K7
|
||||
0x882C0108, // 0009 GETMBR R11 R0 K8
|
||||
0x7C240400, // 000A CALL R9 2
|
||||
0x7C140800, // 000B CALL R5 4
|
||||
0x7C0C0400, // 000C CALL R3 2
|
||||
0x80000000, // 000D RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
@ -301,24 +361,18 @@ extern const bclass be_class_Matter_Plugin_Bridge_HTTP;
|
||||
be_local_class(Matter_Plugin_Bridge_Sensor_Occupancy,
|
||||
2,
|
||||
&be_class_Matter_Plugin_Bridge_HTTP,
|
||||
be_nested_map(15,
|
||||
be_nested_map(16,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_weak(ARG_HINT, 3), be_nested_str_weak(Enter_X20Switch_X3Cx_X3E_X20number) },
|
||||
{ be_const_key_weak(parse_update, -1), be_const_closure(Matter_Plugin_Bridge_Sensor_Occupancy_parse_update_closure) },
|
||||
{ be_const_key_weak(web_values, -1), be_const_closure(Matter_Plugin_Bridge_Sensor_Occupancy_web_values_closure) },
|
||||
{ be_const_key_weak(init, -1), be_const_closure(Matter_Plugin_Bridge_Sensor_Occupancy_init_closure) },
|
||||
{ be_const_key_weak(ARG_TYPE, 11), be_const_static_closure(Matter_Plugin_Bridge_Sensor_Occupancy__X3Clambda_X3E_closure) },
|
||||
{ be_const_key_weak(TYPES, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
be_const_map( * be_nested_map(1,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_int(263, -1), be_const_int(2) },
|
||||
})) ) } )) },
|
||||
{ be_const_key_weak(UPDATE_TIME, -1), be_const_int(5000) },
|
||||
{ be_const_key_weak(tasmota_switch_index, -1), be_const_var(0) },
|
||||
{ be_const_key_weak(ARG, 13), be_nested_str_weak(switch) },
|
||||
{ be_const_key_weak(UPDATE_CMD, 8), be_nested_str_weak(Status_X208) },
|
||||
{ be_const_key_weak(ARG_TYPE, 4), be_const_static_closure(Matter_Plugin_Bridge_Sensor_Occupancy__X3Clambda_X3E_closure) },
|
||||
{ be_const_key_weak(ARG_HINT, 14), be_nested_str_weak(Enter_X20Switch_X3Cx_X3E_X20number) },
|
||||
{ be_const_key_weak(shadow_occupancy, -1), be_const_var(1) },
|
||||
{ be_const_key_weak(CLUSTERS, 14), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
{ be_const_key_weak(init, -1), be_const_closure(Matter_Plugin_Bridge_Sensor_Occupancy_init_closure) },
|
||||
{ be_const_key_weak(web_values, -1), be_const_closure(Matter_Plugin_Bridge_Sensor_Occupancy_web_values_closure) },
|
||||
{ be_const_key_weak(UPDATE_TIME, -1), be_const_int(5000) },
|
||||
{ be_const_key_weak(NAME, -1), be_nested_str_weak(Occupancy) },
|
||||
{ be_const_key_weak(ARG, -1), be_nested_str_weak(switch) },
|
||||
{ be_const_key_weak(parse_update, 5), be_const_closure(Matter_Plugin_Bridge_Sensor_Occupancy_parse_update_closure) },
|
||||
{ be_const_key_weak(CLUSTERS, 11), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
be_const_map( * be_nested_map(1,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_int(1030, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, {
|
||||
@ -331,9 +385,16 @@ be_local_class(Matter_Plugin_Bridge_Sensor_Occupancy,
|
||||
be_const_int(65533),
|
||||
})) ) } )) },
|
||||
})) ) } )) },
|
||||
{ be_const_key_weak(read_attribute, -1), be_const_closure(Matter_Plugin_Bridge_Sensor_Occupancy_read_attribute_closure) },
|
||||
{ be_const_key_weak(NAME, -1), be_nested_str_weak(Occupancy) },
|
||||
{ be_const_key_weak(tasmota_switch_index, 9), be_const_var(0) },
|
||||
{ be_const_key_weak(read_attribute, 12), be_const_closure(Matter_Plugin_Bridge_Sensor_Occupancy_read_attribute_closure) },
|
||||
{ be_const_key_weak(TYPES, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
be_const_map( * be_nested_map(1,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_int(263, -1), be_const_int(2) },
|
||||
})) ) } )) },
|
||||
{ be_const_key_weak(TYPE, -1), be_nested_str_weak(http_occupancy) },
|
||||
{ be_const_key_weak(web_values_prefix, -1), be_const_closure(Matter_Plugin_Bridge_Sensor_Occupancy_web_values_prefix_closure) },
|
||||
{ be_const_key_weak(UPDATE_CMD, 2), be_nested_str_weak(Status_X208) },
|
||||
})),
|
||||
be_str_weak(Matter_Plugin_Bridge_Sensor_Occupancy)
|
||||
);
|
||||
|
@ -184,7 +184,7 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Pressure_value_changed, /* name *
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Bridge_Sensor_Pressure_web_values, /* name */
|
||||
be_nested_proto(
|
||||
11, /* nstack */
|
||||
10, /* nstack */
|
||||
1, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
@ -195,10 +195,10 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Pressure_web_values, /* name */
|
||||
( &(const bvalue[ 7]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(webserver),
|
||||
/* K1 */ be_nested_str_weak(string),
|
||||
/* K2 */ be_nested_str_weak(content_send),
|
||||
/* K3 */ be_nested_str_weak(format),
|
||||
/* K4 */ be_nested_str_weak(_X7C_X20_X25s_X20_X26_X23x26C5_X3B_X20_X25i_X20hPa),
|
||||
/* K5 */ be_nested_str_weak(filter_name_html),
|
||||
/* K2 */ be_nested_str_weak(web_values_prefix),
|
||||
/* K3 */ be_nested_str_weak(content_send),
|
||||
/* K4 */ be_nested_str_weak(format),
|
||||
/* K5 */ be_nested_str_weak(_X26_X23x26C5_X3B_X20_X25i_X20hPa),
|
||||
/* K6 */ be_nested_str_weak(shadow_value),
|
||||
}),
|
||||
be_str_weak(web_values),
|
||||
@ -206,15 +206,15 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Pressure_web_values, /* name */
|
||||
( &(const binstruction[13]) { /* code */
|
||||
0xA4060000, // 0000 IMPORT R1 K0
|
||||
0xA40A0200, // 0001 IMPORT R2 K1
|
||||
0x8C0C0302, // 0002 GETMET R3 R1 K2
|
||||
0x8C140503, // 0003 GETMET R5 R2 K3
|
||||
0x581C0004, // 0004 LDCONST R7 K4
|
||||
0x8C200105, // 0005 GETMET R8 R0 K5
|
||||
0x7C200200, // 0006 CALL R8 1
|
||||
0x60240009, // 0007 GETGBL R9 G9
|
||||
0x88280106, // 0008 GETMBR R10 R0 K6
|
||||
0x7C240200, // 0009 CALL R9 1
|
||||
0x7C140800, // 000A CALL R5 4
|
||||
0x8C0C0102, // 0002 GETMET R3 R0 K2
|
||||
0x7C0C0200, // 0003 CALL R3 1
|
||||
0x8C0C0303, // 0004 GETMET R3 R1 K3
|
||||
0x8C140504, // 0005 GETMET R5 R2 K4
|
||||
0x581C0005, // 0006 LDCONST R7 K5
|
||||
0x60200009, // 0007 GETGBL R8 G9
|
||||
0x88240106, // 0008 GETMBR R9 R0 K6
|
||||
0x7C200200, // 0009 CALL R8 1
|
||||
0x7C140600, // 000A CALL R5 3
|
||||
0x7C0C0400, // 000B CALL R3 2
|
||||
0x80000000, // 000C RET 0
|
||||
})
|
||||
|
@ -182,7 +182,7 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Temp_value_changed, /* name */
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Bridge_Sensor_Temp_web_values, /* name */
|
||||
be_nested_proto(
|
||||
11, /* nstack */
|
||||
10, /* nstack */
|
||||
1, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
@ -193,10 +193,10 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Temp_web_values, /* name */
|
||||
( &(const bvalue[ 7]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(webserver),
|
||||
/* K1 */ be_nested_str_weak(string),
|
||||
/* K2 */ be_nested_str_weak(content_send),
|
||||
/* K3 */ be_nested_str_weak(format),
|
||||
/* K4 */ be_nested_str_weak(_X7C_X20_X25s_X20_X26_X23x2600_X3B_X26_X23xFE0F_X3B_X20_X25_X2E1f_X20_XC2_XB0C),
|
||||
/* K5 */ be_nested_str_weak(filter_name_html),
|
||||
/* K2 */ be_nested_str_weak(web_values_prefix),
|
||||
/* K3 */ be_nested_str_weak(content_send),
|
||||
/* K4 */ be_nested_str_weak(format),
|
||||
/* K5 */ be_nested_str_weak(_X26_X23x2600_X3B_X26_X23xFE0F_X3B_X20_X25_X2E1f_X20_XC2_XB0C),
|
||||
/* K6 */ be_nested_str_weak(shadow_value),
|
||||
}),
|
||||
be_str_weak(web_values),
|
||||
@ -204,23 +204,23 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Temp_web_values, /* name */
|
||||
( &(const binstruction[21]) { /* code */
|
||||
0xA4060000, // 0000 IMPORT R1 K0
|
||||
0xA40A0200, // 0001 IMPORT R2 K1
|
||||
0x8C0C0302, // 0002 GETMET R3 R1 K2
|
||||
0x8C140503, // 0003 GETMET R5 R2 K3
|
||||
0x581C0004, // 0004 LDCONST R7 K4
|
||||
0x8C200105, // 0005 GETMET R8 R0 K5
|
||||
0x7C200200, // 0006 CALL R8 1
|
||||
0x88240106, // 0007 GETMBR R9 R0 K6
|
||||
0x4C280000, // 0008 LDNIL R10
|
||||
0x2024120A, // 0009 NE R9 R9 R10
|
||||
0x78260005, // 000A JMPF R9 #0011
|
||||
0x6024000A, // 000B GETGBL R9 G10
|
||||
0x88280106, // 000C GETMBR R10 R0 K6
|
||||
0x7C240200, // 000D CALL R9 1
|
||||
0x542A0063, // 000E LDINT R10 100
|
||||
0x0C24120A, // 000F DIV R9 R9 R10
|
||||
0x8C0C0102, // 0002 GETMET R3 R0 K2
|
||||
0x7C0C0200, // 0003 CALL R3 1
|
||||
0x8C0C0303, // 0004 GETMET R3 R1 K3
|
||||
0x8C140504, // 0005 GETMET R5 R2 K4
|
||||
0x581C0005, // 0006 LDCONST R7 K5
|
||||
0x88200106, // 0007 GETMBR R8 R0 K6
|
||||
0x4C240000, // 0008 LDNIL R9
|
||||
0x20201009, // 0009 NE R8 R8 R9
|
||||
0x78220005, // 000A JMPF R8 #0011
|
||||
0x6020000A, // 000B GETGBL R8 G10
|
||||
0x88240106, // 000C GETMBR R9 R0 K6
|
||||
0x7C200200, // 000D CALL R8 1
|
||||
0x54260063, // 000E LDINT R9 100
|
||||
0x0C201009, // 000F DIV R8 R8 R9
|
||||
0x70020000, // 0010 JMP #0012
|
||||
0x4C240000, // 0011 LDNIL R9
|
||||
0x7C140800, // 0012 CALL R5 4
|
||||
0x4C200000, // 0011 LDNIL R8
|
||||
0x7C140600, // 0012 CALL R5 3
|
||||
0x7C0C0400, // 0013 CALL R3 2
|
||||
0x80000000, // 0014 RET 0
|
||||
})
|
||||
|
@ -6,6 +6,111 @@
|
||||
|
||||
extern const bclass be_class_Matter_Plugin_Device;
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: init
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Device_init, /* name */
|
||||
be_nested_proto(
|
||||
9, /* nstack */
|
||||
4, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 5]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(node_label),
|
||||
/* K1 */ be_nested_str_weak(find),
|
||||
/* K2 */ be_nested_str_weak(name),
|
||||
/* K3 */ be_nested_str_weak(),
|
||||
/* K4 */ be_nested_str_weak(init),
|
||||
}),
|
||||
be_str_weak(init),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[14]) { /* code */
|
||||
0x8C100701, // 0000 GETMET R4 R3 K1
|
||||
0x58180002, // 0001 LDCONST R6 K2
|
||||
0x581C0003, // 0002 LDCONST R7 K3
|
||||
0x7C100600, // 0003 CALL R4 3
|
||||
0x90020004, // 0004 SETMBR R0 K0 R4
|
||||
0x60100003, // 0005 GETGBL R4 G3
|
||||
0x5C140000, // 0006 MOVE R5 R0
|
||||
0x7C100200, // 0007 CALL R4 1
|
||||
0x8C100904, // 0008 GETMET R4 R4 K4
|
||||
0x5C180200, // 0009 MOVE R6 R1
|
||||
0x5C1C0400, // 000A MOVE R7 R2
|
||||
0x5C200600, // 000B MOVE R8 R3
|
||||
0x7C100800, // 000C CALL R4 4
|
||||
0x80000000, // 000D RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: set_name
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Device_set_name, /* name */
|
||||
be_nested_proto(
|
||||
6, /* nstack */
|
||||
2, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 2]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(node_label),
|
||||
/* K1 */ be_nested_str_weak(attribute_updated),
|
||||
}),
|
||||
be_str_weak(set_name),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[ 9]) { /* code */
|
||||
0x88080100, // 0000 GETMBR R2 R0 K0
|
||||
0x20080202, // 0001 NE R2 R1 R2
|
||||
0x780A0003, // 0002 JMPF R2 #0007
|
||||
0x8C080101, // 0003 GETMET R2 R0 K1
|
||||
0x54120038, // 0004 LDINT R4 57
|
||||
0x54160004, // 0005 LDINT R5 5
|
||||
0x7C080600, // 0006 CALL R2 3
|
||||
0x90020001, // 0007 SETMBR R0 K0 R1
|
||||
0x80000000, // 0008 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: get_name
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Plugin_Device_get_name, /* name */
|
||||
be_nested_proto(
|
||||
2, /* nstack */
|
||||
1, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 1]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(node_label),
|
||||
}),
|
||||
be_str_weak(get_name),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[ 2]) { /* code */
|
||||
0x88040100, // 0000 GETMBR R1 R0 K0
|
||||
0x80040200, // 0001 RET 1 R1
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: invoke_request
|
||||
********************************************************************/
|
||||
@ -105,7 +210,7 @@ be_local_closure(Matter_Plugin_Device_read_attribute, /* name */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[22]) { /* constants */
|
||||
( &(const bvalue[24]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(string),
|
||||
/* K1 */ be_nested_str_weak(matter),
|
||||
/* K2 */ be_nested_str_weak(TLV),
|
||||
@ -128,10 +233,12 @@ be_local_closure(Matter_Plugin_Device_read_attribute, /* name */
|
||||
/* K19 */ be_nested_str_weak(find),
|
||||
/* K20 */ be_nested_str_weak(get_admin_vendor),
|
||||
/* K21 */ be_nested_str_weak(read_attribute),
|
||||
/* K22 */ be_nested_str_weak(UTF1),
|
||||
/* K23 */ be_nested_str_weak(get_name),
|
||||
}),
|
||||
be_str_weak(read_attribute),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[159]) { /* code */
|
||||
( &(const binstruction[181]) { /* code */
|
||||
0xA40E0000, // 0000 IMPORT R3 K0
|
||||
0xB8120200, // 0001 GETNGBL R4 K1
|
||||
0x88100902, // 0002 GETMBR R4 R4 K2
|
||||
@ -172,7 +279,7 @@ be_local_closure(Matter_Plugin_Device_read_attribute, /* name */
|
||||
0x542A0003, // 0025 LDINT R10 4
|
||||
0x7C1C0600, // 0026 CALL R7 3
|
||||
0x80040E00, // 0027 RET 1 R7
|
||||
0x70020074, // 0028 JMP #009E
|
||||
0x7002008A, // 0028 JMP #00B4
|
||||
0x541E0003, // 0029 LDINT R7 4
|
||||
0x1C1C0A07, // 002A EQ R7 R5 R7
|
||||
0x781E0016, // 002B JMPF R7 #0043
|
||||
@ -198,7 +305,7 @@ be_local_closure(Matter_Plugin_Device_read_attribute, /* name */
|
||||
0x542A0003, // 003F LDINT R10 4
|
||||
0x7C1C0600, // 0040 CALL R7 3
|
||||
0x80040E00, // 0041 RET 1 R7
|
||||
0x7002005A, // 0042 JMP #009E
|
||||
0x70020070, // 0042 JMP #00B4
|
||||
0x541E0004, // 0043 LDINT R7 5
|
||||
0x1C1C0A07, // 0044 EQ R7 R5 R7
|
||||
0x781E0011, // 0045 JMPF R7 #0058
|
||||
@ -219,7 +326,7 @@ be_local_closure(Matter_Plugin_Device_read_attribute, /* name */
|
||||
0x542A0003, // 0054 LDINT R10 4
|
||||
0x7C1C0600, // 0055 CALL R7 3
|
||||
0x80040E00, // 0056 RET 1 R7
|
||||
0x70020045, // 0057 JMP #009E
|
||||
0x7002005B, // 0057 JMP #00B4
|
||||
0x541E001C, // 0058 LDINT R7 29
|
||||
0x1C1C0A07, // 0059 EQ R7 R5 R7
|
||||
0x781E003A, // 005A JMPF R7 #0096
|
||||
@ -281,16 +388,38 @@ be_local_closure(Matter_Plugin_Device_read_attribute, /* name */
|
||||
0x5C280400, // 0092 MOVE R10 R2
|
||||
0x7C1C0600, // 0093 CALL R7 3
|
||||
0x80040E00, // 0094 RET 1 R7
|
||||
0x70020007, // 0095 JMP #009E
|
||||
0x601C0003, // 0096 GETGBL R7 G3
|
||||
0x5C200000, // 0097 MOVE R8 R0
|
||||
0x7C1C0200, // 0098 CALL R7 1
|
||||
0x8C1C0F15, // 0099 GETMET R7 R7 K21
|
||||
0x5C240200, // 009A MOVE R9 R1
|
||||
0x5C280400, // 009B MOVE R10 R2
|
||||
0x7C1C0600, // 009C CALL R7 3
|
||||
0x80040E00, // 009D RET 1 R7
|
||||
0x80000000, // 009E RET 0
|
||||
0x7002001D, // 0095 JMP #00B4
|
||||
0x541E0038, // 0096 LDINT R7 57
|
||||
0x1C1C0A07, // 0097 EQ R7 R5 R7
|
||||
0x781E0012, // 0098 JMPF R7 #00AC
|
||||
0x541E0004, // 0099 LDINT R7 5
|
||||
0x1C1C0C07, // 009A EQ R7 R6 R7
|
||||
0x781E0006, // 009B JMPF R7 #00A3
|
||||
0x8C1C0907, // 009C GETMET R7 R4 K7
|
||||
0x88240916, // 009D GETMBR R9 R4 K22
|
||||
0x8C280117, // 009E GETMET R10 R0 K23
|
||||
0x7C280200, // 009F CALL R10 1
|
||||
0x7C1C0600, // 00A0 CALL R7 3
|
||||
0x80040E00, // 00A1 RET 1 R7
|
||||
0x70020007, // 00A2 JMP #00AB
|
||||
0x601C0003, // 00A3 GETGBL R7 G3
|
||||
0x5C200000, // 00A4 MOVE R8 R0
|
||||
0x7C1C0200, // 00A5 CALL R7 1
|
||||
0x8C1C0F15, // 00A6 GETMET R7 R7 K21
|
||||
0x5C240200, // 00A7 MOVE R9 R1
|
||||
0x5C280400, // 00A8 MOVE R10 R2
|
||||
0x7C1C0600, // 00A9 CALL R7 3
|
||||
0x80040E00, // 00AA RET 1 R7
|
||||
0x70020007, // 00AB JMP #00B4
|
||||
0x601C0003, // 00AC GETGBL R7 G3
|
||||
0x5C200000, // 00AD MOVE R8 R0
|
||||
0x7C1C0200, // 00AE CALL R7 1
|
||||
0x8C1C0F15, // 00AF GETMET R7 R7 K21
|
||||
0x5C240200, // 00B0 MOVE R9 R1
|
||||
0x5C280400, // 00B1 MOVE R10 R2
|
||||
0x7C1C0600, // 00B2 CALL R7 3
|
||||
0x80040E00, // 00B3 RET 1 R7
|
||||
0x80000000, // 00B4 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
@ -302,23 +431,27 @@ be_local_closure(Matter_Plugin_Device_read_attribute, /* name */
|
||||
********************************************************************/
|
||||
extern const bclass be_class_Matter_Plugin;
|
||||
be_local_class(Matter_Plugin_Device,
|
||||
0,
|
||||
1,
|
||||
&be_class_Matter_Plugin,
|
||||
be_nested_map(5,
|
||||
be_nested_map(9,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_weak(TYPES, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
be_const_map( * be_nested_map(1,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_int(19, -1), be_const_int(1) },
|
||||
})) ) } )) },
|
||||
{ be_const_key_weak(read_attribute, -1), be_const_closure(Matter_Plugin_Device_read_attribute_closure) },
|
||||
{ be_const_key_weak(invoke_request, 1), be_const_closure(Matter_Plugin_Device_invoke_request_closure) },
|
||||
{ be_const_key_weak(NON_BRIDGE_VENDOR, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, {
|
||||
be_const_list( * be_nested_list(2,
|
||||
( (struct bvalue*) &(const bvalue[]) {
|
||||
be_const_int(4631),
|
||||
be_const_int(4993),
|
||||
})) ) } )) },
|
||||
{ be_const_key_weak(invoke_request, -1), be_const_closure(Matter_Plugin_Device_invoke_request_closure) },
|
||||
{ be_const_key_weak(TYPES, 0), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
be_const_map( * be_nested_map(1,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_int(19, -1), be_const_int(1) },
|
||||
})) ) } )) },
|
||||
{ be_const_key_weak(read_attribute, -1), be_const_closure(Matter_Plugin_Device_read_attribute_closure) },
|
||||
{ be_const_key_weak(set_name, 8), be_const_closure(Matter_Plugin_Device_set_name_closure) },
|
||||
{ be_const_key_weak(get_name, 1), be_const_closure(Matter_Plugin_Device_get_name_closure) },
|
||||
{ be_const_key_weak(init, 3), be_const_closure(Matter_Plugin_Device_init_closure) },
|
||||
{ be_const_key_weak(node_label, -1), be_const_var(0) },
|
||||
{ be_const_key_weak(CLUSTERS, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_map, {
|
||||
be_const_map( * be_nested_map(4,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
@ -332,7 +465,7 @@ be_local_class(Matter_Plugin_Device,
|
||||
{ be_const_key_int(57, 2), be_const_simple_instance(be_nested_simple_instance(&be_class_list, {
|
||||
be_const_list( * be_nested_list(1,
|
||||
( (struct bvalue*) &(const bvalue[]) {
|
||||
be_const_int(17),
|
||||
be_const_int(5),
|
||||
})) ) } )) },
|
||||
{ be_const_key_int(5, -1), be_const_simple_instance(be_nested_simple_instance(&be_class_list, {
|
||||
be_const_list( * be_nested_list(8,
|
||||
|
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user