Just an update on this. The reason they didn’t show up in HA is because the Command Class wasn’t in there. This is what I have now and it works.
<Node id="3" name="MY ALARM NAME" location="" basic="4" generic="161" specific="0" type="Alarm Sensor" listening="false" frequentListening="false" beaming="true" routing="true" max_baud_rate="40000" version="4" query_stage="Probe">
<Manufacturer id="138" name="First Alert Z-Wave Smoke and Carbon Monoxide Alarm">
<Product type="1" id="2" name="" />
</Manufacturer>
<CommandClasses>
<CommandClass id="32" name="COMMAND_CLASS_BASIC" version="1" after_mark="true" mapping="113">
<Instance index="1" />
</CommandClass>
<CommandClass id="113" name="COMMAND_CLASS_ALARM" version="1" request_flags="2">
<Instance index="1" />
<Value type="byte" genre="user" instance="1" index="0" label="Alarm Type" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" />
<Value type="list" genre="user" instance="1" index="1" label="Alarm Report" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" />
</CommandClass>
<CommandClass id="128" name="COMMAND_CLASS_BATTERY" version="1" request_flags="4" innif="true">
<Instance index="1" />
<Value type="byte" genre="user" instance="1" index="0" label="Battery Level" units="%" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="100" />
</CommandClass>
<CommandClass id="132" name="COMMAND_CLASS_WAKE_UP" version="1" request_flags="2">
<Instance index="1" />
<Value type="int" genre="system" instance="1" index="0" label="Wake-up Interval" units="Seconds" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="3600" />
</CommandClass>
</CommandClasses>
</Node>